From e638ba6d27cfdbe2f8678e3f091d25bc47c84700 Mon Sep 17 00:00:00 2001 From: Forster <112929809+FrostyHec@users.noreply.github.com> Date: Fri, 13 Sep 2024 02:49:58 +0800 Subject: [PATCH 01/23] frontend transfer --- .../hubble-fe-new/.env.development | 1 + .../hubble-fe-new/.env.production | 0 hugegraph-hubble/hubble-fe-new/.eslintrc.js | 31 + hugegraph-hubble/hubble-fe-new/.gitignore | 23 + hugegraph-hubble/hubble-fe-new/README.md | 70 + .../hubble-fe-new/package-lock.json | 24772 ++++++++++++++++ hugegraph-hubble/hubble-fe-new/package.json | 78 + .../public/favicon.ico | Bin .../hubble-fe-new/public/index.html | 52 + .../hubble-fe-new/public/logo192.png | Bin 0 -> 5347 bytes .../hubble-fe-new/public/logo512.png | Bin 0 -> 9664 bytes .../public/manifest.json | 10 + .../hubble-fe-new/public/robots.txt | 3 + hugegraph-hubble/hubble-fe-new/src/App.css | 74 + hugegraph-hubble/hubble-fe-new/src/App.js | 16 + hugegraph-hubble/hubble-fe-new/src/App.scss | 26 + .../hubble-fe-new/src/App.test.js | 8 + .../hubble-fe-new/src/api/analysis.js | 185 + .../hubble-fe-new/src/api/auth.js | 199 + .../hubble-fe-new/src/api/cloud.js | 36 + .../hubble-fe-new/src/api/index.js | 9 + .../hubble-fe-new/src/api/manage.js | 350 + .../hubble-fe-new/src/api/request.js | 96 + .../hubble-fe-new/src/api/request2.js | 109 + .../hubble-fe-new/src/assets/canvas_bg.png | Bin 0 -> 980 bytes .../src/assets}/ic_arrow.svg | 17 - .../src/assets}/ic_arrow_selected.svg | 17 - .../src/assets}/ic_biaoge_normal.svg | 17 - .../src/assets}/ic_biaoge_pressed.svg | 21 +- .../src/assets}/ic_done_144.svg | 17 - .../src/assets}/ic_fail.svg | 17 - .../src/assets}/ic_json_normal.svg | 17 - .../src/assets}/ic_json_pressed.svg | 21 +- .../src/assets}/ic_loading_back.svg | 17 - .../src/assets}/ic_loading_front.svg | 17 - .../src/assets}/ic_sousuo_empty.svg | 17 - .../hubble-fe-new/src/assets/ic_straight.svg | 13 + .../src/assets/ic_straight_selected.svg | 13 + .../src/assets}/ic_tuzhanshi_normal.svg | 17 - .../src/assets}/ic_tuzhanshi_pressed.svg | 21 +- .../src/assets/layout_circular.svg | 1 + .../src/assets/layout_concentric.svg | 1 + .../hubble-fe-new/src/assets/layout_dagre.svg | 1 + .../hubble-fe-new/src/assets/layout_force.svg | 1 + .../hubble-fe-new/src/assets/layout_grid.svg | 8 + .../src/assets/layout_radial.svg | 7 + .../src/assets}/logo.png | Bin .../hubble-fe-new/src/assets/logo_img.png | Bin 0 -> 37853 bytes .../hubble-fe-new/src/assets/logo_new.png | Bin 0 -> 79524 bytes .../hubble-fe-new/src/assets/logo_text.png | Bin 0 -> 85845 bytes .../src/components/CodeEditor/index.js | 81 + .../components/CodeEditor/syntax/cypher.js | 113 + .../components/CodeEditor/syntax/gremlin.js | 158 + .../src/components/CodeEditor/syntax/index.js | 4 + .../src/components/ColorSelect/index.js | 63 + .../components/ColorSelect/index.module.scss | 47 + .../src/components/ERView/EditLayer.js | 71 + .../src/components/ERView/config.js | 289 + .../src/components/ERView/data/edge.json | 232 + .../src/components/ERView/data/group.json | 95 + .../src/components/ERView/data/property.json | 32 + .../src/components/ERView/data/test.json | 295 + .../src/components/ERView/data/vertex.json | 123 + .../src/components/ERView/index.js | 341 + .../src/components/ERView/index.module.scss | 13 + .../src/components/ERView/utils.js | 99 + .../src/components/ExecutionContent/index.js | 52 + .../ExecutionContent/index.module.scss | 4 + .../src/components/GraphinView/index.js | 49 + .../src/components/IconSelect/index.js | 88 + .../components/IconSelect/index.module.scss | 29 + .../src/components/ListButton/index.js | 21 + .../src/components/SelectUser/index.js | 123 + .../src/components/Sidebar/index.ant.js | 106 + .../src/components/Sidebar/index.module.scss | 3 + .../src/components/SlideComponent/index.js | 27 + .../SlideComponent/index.module.scss | 22 + .../src/components/Status/index.js | 49 + .../src/components/Status/index.module.scss | 26 + .../src/components/TableHeader/index.js | 11 + .../components/TableHeader/index.module.scss | 3 + .../src/components/Topbar/index.ant.js | 53 + .../src/components/Topbar/index.module.scss | 27 + .../src/customHook/useCustomEdge.js | 50 + .../src/customHook/useCustomGrid.js | 285 + .../src/customHook/useCustomNode.js | 159 + .../src/customHook/useDownloadJson.js | 24 + hugegraph-hubble/hubble-fe-new/src/index.css | 18 + hugegraph-hubble/hubble-fe-new/src/index.js | 24 + .../hubble-fe-new/src/layout.ant.js | 23 + hugegraph-hubble/hubble-fe-new/src/logo.svg | 1 + .../src/modules/Context/index.js | 19 + .../src/modules/GraphAnalysis/index.js | 131 + .../algorithm/AlgorithmSearch/index.js | 36 + .../AlgorithmSearch/index.module.scss | 9 + .../GraphResult/GraphMenuBar/index.js | 170 + .../GraphResult/GraphToolBar/index.js | 54 + .../algorithm/GraphResult/Home/index.js | 521 + .../GraphResult/Home/index.module.scss | 11 + .../algorithm/GraphResult/JaccView/index.js | 23 + .../GraphResult/JaccView/index.module.scss | 13 + .../GraphResult/NeighborRankView/index.js | 45 + .../NeighborRankView/index.module.scss | 25 + .../GraphResult/RankApiView/index.js | 45 + .../GraphResult/RankApiView/index.module.scss | 13 + .../algorithm/GraphResult/utils/index.js | 116 + .../src/modules/algorithm/Home/index.js | 297 + .../modules/algorithm/Home/index.module.scss | 6 + .../algorithm/LogsDetail/ExecuteLog/index.js | 167 + .../LogsDetail/ExecuteLog/index.module.scss | 6 + .../algorithm/LogsDetail/Favorite/index.js | 208 + .../LogsDetail/Favorite/index.module.scss | 22 + .../algorithm/LogsDetail/Home/index.js | 159 + .../LogsDetail/Home/index.module.scss | 28 + .../AlgorithmNameHeader/index.js | 136 + .../AlgorithmNameHeader/index.module.scss | 48 + .../algorithmsForm/BoolSelectItem/index.js | 31 + .../algorithmsForm/CapacityItem/index.js | 23 + .../algorithmsForm/DirectionItem/index.js | 35 + .../algorithm/algorithmsForm/Home/index.js | 51 + .../algorithmsForm/Home/index.module.scss | 56 + .../algorithmsForm/LabelItem/index.js | 21 + .../algorithmsForm/LimitItem/index.js | 26 + .../algorithmsForm/MaxDegreeItem/index.js | 26 + .../algorithmsForm/MaxDepthItem/index.js | 25 + .../algorithmsForm/NearestItem/index.js | 28 + .../Olap/BetweennessCentrality/index.js | 160 + .../BetweennessCentralityVermeer/index.js | 157 + .../Olap/ClosenessCentrality/index.js | 163 + .../Olap/ClosenessCentralityVermeer/index.js | 157 + .../Olap/ClusterCoefficient/index.js | 139 + .../Olap/DegreeCentrality/index.js | 155 + .../Olap/DegreeCentralityVermeer/index.js | 149 + .../Olap/FilterSubGraphMatching/index.js | 145 + .../Olap/FilteredRingsDetection/index.js | 173 + .../algorithmsForm/Olap/KCore/index.js | 137 + .../algorithmsForm/Olap/KCoreVermeer/index.js | 144 + .../Olap/LabelPropagationAlgorithm/index.js | 129 + .../LabelPropagationAlgorithmVermeer/index.js | 144 + .../algorithmsForm/Olap/Links/index.js | 154 + .../algorithmsForm/Olap/Louvain/index.js | 152 + .../Olap/OlapComputerItem/index.js | 70 + .../algorithmsForm/Olap/OlapItem/index.js | 131 + .../algorithmsForm/Olap/PageRank/index.js | 159 + .../Olap/PageRankVermeer/index.js | 161 + .../Olap/PersonalPageRank/index.js | 190 + .../Olap/RingsDetection/index.js | 138 + .../algorithmsForm/Olap/SSSPVermeer/index.js | 143 + .../Olap/TriangleCount/index.js | 159 + .../Olap/TriangleCountVermeer/index.js | 134 + .../Olap/WeaklyConnectedComponent/index.js | 139 + .../WeaklyConnectedComponentVermeer/index.js | 145 + .../algorithmsForm/OlapHome/index.js | 113 + .../algorithmsForm/OlapHome/index.module.scss | 4 + .../algorithmsForm/Oltp/AdamicAdar/index.js | 170 + .../algorithmsForm/Oltp/AllPaths/index.js | 221 + .../algorithmsForm/Oltp/Crosspoints/index.js | 198 + .../Oltp/CustomizedCrosspoints/Home/index.js | 162 + .../PathPatternForm/index.js | 144 + .../Oltp/CustomizedPaths/Home/index.js | 182 + .../Oltp/CustomizedPaths/StepItem/index.js | 180 + .../algorithmsForm/Oltp/Egonet/index.js | 267 + .../Oltp/Egonet/index.module.scss | 40 + .../Oltp/FindShortestPath/index.js | 198 + .../Oltp/FindShortestPathWithWeight/index.js | 199 + .../Oltp/FusiformSimilarity/index.js | 238 + .../Oltp/JaccardSimilarityGet/index.js | 135 + .../Oltp/JaccardSimilarityPost/index.js | 274 + .../algorithmsForm/Oltp/KneighborGet/index.js | 135 + .../Oltp/KneighborPost/index.js | 284 + .../algorithmsForm/Oltp/KoutGet/index.js | 152 + .../Oltp/KoutPost/Home/index.js | 220 + .../Oltp/KoutPost/StepFormItem/index.js | 111 + .../Oltp/MultiNodesShortestPath/index.js | 249 + .../Oltp/NeighborRankApi/index.js | 290 + .../algorithmsForm/Oltp/OltpItem/index.js | 136 + .../Oltp/OltpItem/index.module.scss | 49 + .../algorithmsForm/Oltp/Paths/index.js | 179 + .../algorithmsForm/Oltp/RankApi/index.js | 211 + .../algorithmsForm/Oltp/Rays/index.js | 190 + .../Oltp/ResourceAllocation/index.js | 155 + .../algorithmsForm/Oltp/Rings/index.js | 134 + .../Oltp/SameNeighbors/index.js | 138 + .../Oltp/SameNeighborsBatch/index.js | 157 + .../algorithmsForm/Oltp/ShortestPath/index.js | 151 + .../Oltp/SingleSourceShortestPath/index.js | 193 + .../Oltp/TemplatePaths/Home/index.js | 186 + .../Oltp/TemplatePaths/StepFormItem/index.js | 171 + .../algorithmsForm/OltpHome/index.js | 112 + .../algorithmsForm/OltpHome/index.module.scss | 4 + .../algorithmsForm/StepsItems/index.js | 121 + .../StepsItems/index.module.scss | 32 + .../algorithmsForm/VerticesItems/index.js | 88 + .../VerticesItems/index.module.scss | 42 + .../algorithm/algorithmsForm/utils/index.js | 270 + .../src/modules/analysis/Home/index.js | 398 + .../analysis/LogsDetail/ExecuteLog/index.js | 198 + .../LogsDetail/ExecuteLog/index.module.scss | 5 + .../analysis/LogsDetail/Favorite/index.js | 231 + .../LogsDetail/Favorite/index.module.scss | 21 + .../modules/analysis/LogsDetail/Home/index.js | 175 + .../LogsDetail/Home/index.module.scss | 28 + .../analysis/QueryBar/ContentCommon/index.js | 222 + .../QueryBar/ContentCommon/index.module.scss | 53 + .../modules/analysis/QueryBar/Home/index.js | 88 + .../analysis/QueryBar/Home/index.module.scss | 24 + .../GraphResult/GraphMenubar/index.js | 163 + .../GraphResult/GraphToolBar/index.js | 54 + .../QueryResult/GraphResult/Home/index.js | 552 + .../GraphResult/Home/index.module.scss | 5 + .../QueryResult/GraphResult/utils/index.js | 113 + .../analysis/QueryResult/Home/index.js | 109 + .../QueryResult/Home/index.module.scss | 109 + .../analysis/QueryResult/JsonView/index.js | 79 + .../QueryResult/JsonView/index.module.scss | 6 + .../analysis/QueryResult/TableView/index.js | 87 + .../QueryResult/TableView/index.module.scss | 5 + .../src/modules/asyncTasks/Detail/index.js | 277 + .../asyncTasks/Detail/index.module.scss | 21 + .../src/modules/asyncTasks/Home/index.js | 137 + .../modules/asyncTasks/Home/index.module.scss | 15 + .../src/modules/asyncTasks/Result/index.js | 57 + .../asyncTasks/Result/index.module.scss | 4 + .../src/modules/component/Canvas3D/index.js | 148 + .../component/Canvas3D/index.module.scss | 55 + .../src/modules/component/ClearGraph/index.js | 59 + .../component/ClosePanelButton/index.js | 36 + .../ClosePanelButton/index.module.scss | 15 + .../src/modules/component/Context/index.js | 16 + .../modules/component/DynamicAddEdge/index.js | 344 + .../DynamicAddEdge/index.module.scss | 39 + .../modules/component/DynamicAddNode/index.js | 236 + .../DynamicAddNode/index.module.scss | 21 + .../modules/component/EditElement/index.js | 423 + .../component/EditElement/index.module.scss | 64 + .../src/modules/component/ExportData/index.js | 155 + .../src/modules/component/FitCenter/index.js | 32 + .../src/modules/component/FixNode/index.js | 62 + .../src/modules/component/FullScreen/index.js | 54 + .../src/modules/component/Graph/index.css | 22 + .../src/modules/component/Graph/index.js | 207 + .../modules/component/Graph/index.module.scss | 48 + .../GraphRenderModeSwitcher/index.js | 29 + .../GraphRenderModeSwitcher/index.module.scss | 69 + .../component/GraphStatusView/index.js | 138 + .../GraphStatusView/index.module.scss | 40 + .../src/modules/component/ImportData/index.js | 70 + .../modules/component/JaccRankView/index.js | 33 + .../component/JaccRankView/index.module.scss | 46 + .../modules/component/LayoutConfig/index.js | 38 + .../modules/component/Legend/customLegend.js | 296 + .../src/modules/component/Legend/index.js | 79 + .../src/modules/component/Menu/index.js | 131 + .../src/modules/component/MenuBar/index.js | 43 + .../component/MenuBar/index.module.scss | 10 + .../src/modules/component/MiniMap/index.js | 28 + .../src/modules/component/NewConfig/index.js | 66 + .../src/modules/component/NumberCard/index.js | 61 + .../component/NumberCard/index.module.scss | 35 + .../src/modules/component/RedoUndo/index.js | 155 + .../modules/component/RefreshGraph/index.js | 32 + .../src/modules/component/Search/index.js | 279 + .../modules/component/SettingConfig/index.js | 38 + .../component/SettingConfigPanel/index.js | 433 + .../SettingConfigPanel/index.module.scss | 23 + .../src/modules/component/Statistics/index.js | 32 + .../BarChartComponent/index.js | 95 + .../GraphStatistics/Header/index.js | 29 + .../GraphStatistics/Header/index.module.scss | 9 + .../GraphStatistics/Home/index.js | 205 + .../GraphStatistics/Home/index.module.scss | 5 + .../component/StatisticsPanel/Home/index.js | 48 + .../StatisticsPanel/Home/index.module.scss | 26 + .../StatisticsPanel/LabelStatistics/index.js | 78 + .../LabelStatistics/index.module.scss | 12 + .../component/TaskNavigateView/index.js | 44 + .../TaskNavigateView/index.module.scss | 11 + .../src/modules/component/ToolBar/index.js | 60 + .../component/ToolBar/index.module.scss | 22 + .../src/modules/component/Tooltip/index.js | 73 + .../component/Tooltip/index.module.scss | 23 + .../src/modules/component/TopBar/index.js | 291 + .../component/TopBar/index.module.scss | 70 + .../modules/component/ZeroDegreeNode/index.js | 42 + .../src/modules/component/ZoomGraph/index.js | 40 + .../filter/FilterDrawer/FilterForm.js | 211 + .../component/filter/FilterDrawer/config.js | 33 + .../component/filter/FilterDrawer/index.js | 218 + .../filter/FilterDrawer/index.module.scss | 11 + .../modules/component/filter/Home/index.js | 69 + .../layoutConfigPanel/Circular/index.js | 78 + .../Circular/index.module.scss | 35 + .../layoutConfigPanel/Concentric/index.js | 82 + .../layoutConfigPanel/Dagre/index.js | 79 + .../layoutConfigPanel/Force/index.js | 63 + .../component/layoutConfigPanel/Grid/index.js | 54 + .../component/layoutConfigPanel/Home/index.js | 291 + .../layoutConfigPanel/Home/index.module.scss | 67 + .../layoutConfigPanel/Radial/index.js | 91 + .../styleConfig/ConfigModal/index.js | 586 + .../styleConfig/ConfigModal/index.module.scss | 8 + .../component/styleConfig/Home/index.js | 67 + .../src/modules/navigation/AdminItem/index.js | 35 + .../navigation/AdminItem/index.module.scss | 8 + .../modules/navigation/AnalyseItem/index.js | 27 + .../navigation/AnalyseItem/index.module.scss | 8 + .../modules/navigation/ConsoleItem/index.js | 61 + .../navigation/ConsoleItem/index.module.scss | 8 + .../src/modules/navigation/Home/index.js | 43 + .../modules/navigation/Home/index.module.scss | 18 + .../src/modules/navigation/Item/index.js | 61 + .../modules/navigation/Item/index.module.scss | 15 + .../modules/navigation/ManageItem/index.js | 31 + .../navigation/ManageItem/index.module.scss | 8 + .../modules/navigation/ModuleButton/index.js | 22 + .../navigation/ModuleButton/index.module.scss | 29 + .../src/pages/Account/EditLayer.js | 482 + .../hubble-fe-new/src/pages/Account/index.js | 223 + .../src/pages/Account/index.module.scss | 3 + .../src/pages/AsyncTaskResult/index.js | 5 + .../hubble-fe-new/src/pages/Bill/index.js | 135 + .../src/pages/Datasource/EditLayer.js | 608 + .../src/pages/Datasource/config.js | 8 + .../src/pages/Datasource/index.js | 175 + .../src/pages/Datasource/index.module.scss | 0 .../hubble-fe-new/src/pages/Error404/index.js | 13 + .../hubble-fe-new/src/pages/Graph/Card.js | 101 + .../src/pages/Graph/EditLayer.js | 284 + .../hubble-fe-new/src/pages/Graph/index.js | 453 + .../src/pages/Graph/index.module.scss | 83 + .../src/pages/GraphAnalysis/index.js | 13 + .../src/pages/GraphDetail/assets/aaa.svg | 1 + .../GraphDetail/assets/collaboration-full.svg | 1 + .../src/pages/GraphDetail/index.js | 147 + .../src/pages/GraphDetail/index.module.scss | 38 + .../src/pages/GraphSpace/Card.js | 171 + .../src/pages/GraphSpace/EditLayer.js | 365 + .../src/pages/GraphSpace/index.js | 337 + .../src/pages/GraphSpace/index.module.scss | 98 + .../hubble-fe-new/src/pages/Login/index.js | 69 + .../src/pages/Login/index.module.scss | 33 + .../src/pages/Meta/Edge/EditLayer.js | 324 + .../src/pages/Meta/Edge/index.js | 208 + .../src/pages/Meta/EdgeIndex/index.js | 61 + .../hubble-fe-new/src/pages/Meta/ImageView.js | 175 + .../hubble-fe-new/src/pages/Meta/ListView.js | 44 + .../src/pages/Meta/Property/EditLayer.js | 68 + .../src/pages/Meta/Property/index.js | 167 + .../src/pages/Meta/Vertex/EditLayer.js | 271 + .../src/pages/Meta/Vertex/index.js | 197 + .../src/pages/Meta/VertexIndex/index.js | 67 + .../src/pages/Meta/common/Colorbox.js | 56 + .../src/pages/Meta/common/RelateProperty.js | 142 + .../pages/Meta/common/RelatePropertyIndex.js | 217 + .../src/pages/Meta/common/config.js | 104 + .../src/pages/Meta/common/index.module.scss | 12 + .../hubble-fe-new/src/pages/Meta/index.js | 86 + .../hubble-fe-new/src/pages/My/EditLayer.js | 58 + .../hubble-fe-new/src/pages/My/index.js | 154 + .../src/pages/My/index.module.scss | 15 + .../src/pages/Navigation/index.js | 15 + .../src/pages/Order/EditLayer.js | 265 + .../hubble-fe-new/src/pages/Order/index.js | 223 + .../src/pages/Resource/EditLayer.js | 585 + .../hubble-fe-new/src/pages/Resource/index.js | 200 + .../src/pages/Resource/index.module.scss | 19 + .../hubble-fe-new/src/pages/Role/Auth.js | 157 + .../hubble-fe-new/src/pages/Role/EditLayer.js | 311 + .../hubble-fe-new/src/pages/Role/index.js | 342 + .../src/pages/Role/index.module.scss | 23 + .../hubble-fe-new/src/pages/Role/treeData.js | 156 + .../src/pages/Schema/EditLayer.js | 135 + .../hubble-fe-new/src/pages/Schema/index.js | 158 + .../src/pages/Super/EditLayer.js | 66 + .../hubble-fe-new/src/pages/Super/index.js | 141 + .../src/pages/Super/index.module.scss | 3 + .../src/pages/Task/components/EditLayer.js | 103 + .../src/pages/Task/components/TopStatistic.js | 67 + .../src/pages/Task/components/ViewLayer.js | 81 + .../pages/Task/components/index.module.scss | 43 + .../hubble-fe-new/src/pages/Task/config.js | 14 + .../hubble-fe-new/src/pages/Task/index.js | 323 + .../src/pages/Task/index.module.scss | 41 + .../src/pages/TaskDetail/index.js | 100 + .../src/pages/TaskEdit/BaseForm.js | 148 + .../src/pages/TaskEdit/BaseForm/index.js | 147 + .../src/pages/TaskEdit/FieldForm.js | 168 + .../src/pages/TaskEdit/FieldForm/index.js | 169 + .../src/pages/TaskEdit/MappingForm.js | 536 + .../src/pages/TaskEdit/MappingForm/Edge.js | 269 + .../pages/TaskEdit/MappingForm/EdgeList.js | 0 .../src/pages/TaskEdit/MappingForm/Vertex.js | 207 + .../pages/TaskEdit/MappingForm/VertexList.js | 540 + .../src/pages/TaskEdit/MappingForm/index.js | 247 + .../src/pages/TaskEdit/ScheduleForm.js | 66 + .../src/pages/TaskEdit/ScheduleForm/index.js | 77 + .../hubble-fe-new/src/pages/TaskEdit/index.js | 281 + .../src/pages/TaskEdit/index.module.scss | 71 + .../hubble-fe-new/src/pages/Test/index.js | 5 + .../hubble-fe-new/src/reportWebVitals.js | 13 + .../hubble-fe-new/src/routes/index.js | 79 + .../hubble-fe-new/src/setupProxy.js | 14 + .../hubble-fe-new/src/setupTests.js | 5 + .../hubble-fe-new/src/utils/constants.js | 358 + .../src/utils/convertNumberToChinese.js | 39 + .../src/utils/convertStringToJSON.js | 15 + .../hubble-fe-new/src/utils/filter.js | 260 + .../hubble-fe-new/src/utils/format.js | 40 + .../src/utils/formatGraphInData.js | 128 + .../src/utils/formatGraphResultData.js | 503 + .../src/utils/formatTimeDuration.js | 37 + .../src/utils/getNodesFromParams.js | 28 + .../hubble-fe-new/src/utils/graph.js | 325 + .../src/utils/handleGraphState.js | 87 + .../hubble-fe-new/src/utils/removeNilKeys.js | 39 + .../hubble-fe-new/src/utils/rules.js | 158 + .../hubble-fe-new/src/utils/user.js | 44 + hugegraph-hubble/hubble-fe/.env | 18 - hugegraph-hubble/hubble-fe/CHANGELOG.md | 76 - hugegraph-hubble/hubble-fe/CHANGELOG.zh-CN.md | 133 - hugegraph-hubble/hubble-fe/README.md | 3 - hugegraph-hubble/hubble-fe/add-license.js | 74 - .../hubble-fe/config-overrides.js | 53 - hugegraph-hubble/hubble-fe/package.json | 78 - hugegraph-hubble/hubble-fe/public/index.html | 38 - .../hubble-fe/src/assets/imgs/ic_add.svg | 56 - .../hubble-fe/src/assets/imgs/ic_add_node.svg | 33 - .../hubble-fe/src/assets/imgs/ic_arrow_16.svg | 28 - .../src/assets/imgs/ic_arrow_blue.svg | 34 - .../src/assets/imgs/ic_arrow_white.svg | 36 - .../hubble-fe/src/assets/imgs/ic_back_32.svg | 36 - .../src/assets/imgs/ic_back_32_normal.svg | 27 - .../src/assets/imgs/ic_back_32_pressed.svg | 27 - .../src/assets/imgs/ic_biaoge_hover.svg | 26 - .../src/assets/imgs/ic_cebianshouqi.svg | 30 - .../src/assets/imgs/ic_cebianzhankai.svg | 30 - .../hubble-fe/src/assets/imgs/ic_close_16.svg | 31 - .../src/assets/imgs/ic_close_white.svg | 30 - .../src/assets/imgs/ic_daorushuju_normal.svg | 26 - .../src/assets/imgs/ic_daorushuju_pressed.svg | 26 - .../hubble-fe/src/assets/imgs/ic_error_12.svg | 28 - .../src/assets/imgs/ic_fangda_16.svg | 30 - .../src/assets/imgs/ic_json_hover.svg | 30 - .../src/assets/imgs/ic_liebiaomoshi_black.svg | 30 - .../src/assets/imgs/ic_liebiaomoshi_white.svg | 30 - .../src/assets/imgs/ic_loading@2x.svg | 65 - .../src/assets/imgs/ic_middle_16.svg | 33 - .../hubble-fe/src/assets/imgs/ic_pass.svg | 38 - .../src/assets/imgs/ic_progress_done.svg | 35 - .../src/assets/imgs/ic_quanping_16.svg | 28 - .../src/assets/imgs/ic_question_mark.svg | 36 - .../hubble-fe/src/assets/imgs/ic_refresh.svg | 38 - .../src/assets/imgs/ic_renwuguanli_normal.svg | 24 - .../assets/imgs/ic_renwuguanli_pressed.svg | 25 - .../src/assets/imgs/ic_shuju_normal.svg | 34 - .../src/assets/imgs/ic_shuju_pressed.svg | 34 - .../hubble-fe/src/assets/imgs/ic_straight.svg | 30 - .../src/assets/imgs/ic_straight_selected.svg | 30 - .../src/assets/imgs/ic_suoxiao_16.svg | 29 - .../hubble-fe/src/assets/imgs/ic_topback.svg | 35 - .../src/assets/imgs/ic_tuichuquanping_16.svg | 32 - .../src/assets/imgs/ic_tumoshi_black.svg | 35 - .../src/assets/imgs/ic_tumoshi_white.svg | 35 - .../src/assets/imgs/ic_tuzhanshi_hover.svg | 29 - .../src/assets/imgs/ic_xiazai_16.svg | 28 - .../src/assets/imgs/ic_yingshe_16.svg | 31 - .../src/assets/imgs/ic_yuanshuju_normal.svg | 31 - .../src/assets/imgs/ic_yuanshuju_pressed.svg | 31 - .../assets/imgs/icon_clickarrow_left_grey.svg | 30 - .../imgs/icon_clickarrow_rigth_grey.svg | 30 - .../hubble-fe/src/components/App.tsx | 89 - .../src/components/common/AppBar.less | 95 - .../src/components/common/AppBar.tsx | 76 - .../components/common/LoadingDataView.less | 45 - .../src/components/common/LoadingDataView.tsx | 58 - .../src/components/common/Tooltip.tsx | 98 - .../hubble-fe/src/components/common/index.ts | 22 - .../graph-management/GraphManagement.less | 236 - .../graph-management/GraphManagement.tsx | 53 - .../GraphManagementEmptyList.tsx | 86 - .../GraphManagementHeader.tsx | 117 - .../GraphManagementLimitHint.tsx | 48 - .../graph-management/GraphManagementList.tsx | 475 - .../GraphManagementSidebar.tsx | 402 - .../graph-management/NewGraphConfig.tsx | 250 - .../async-tasks/AsyncTaskList.less | 295 - .../async-tasks/AsyncTaskList.tsx | 855 - .../async-tasks/AsyncTaskResult.less | 31 - .../async-tasks/AsyncTaskResult.tsx | 71 - .../graph-management/async-tasks/index.ts | 20 - .../data-analyze/DataAnalyze.less | 1230 - .../data-analyze/DataAnalyze.tsx | 105 - .../data-analyze/DataAnalyzeContent.tsx | 48 - .../data-analyze/DataAnalyzeInfoDrawer.tsx | 364 - .../data-analyze/DynamicAddEdge.tsx | 362 - .../data-analyze/DynamicAddNode.tsx | 369 - .../ExecLogAndQueryCollections.tsx | 1088 - .../data-analyze/GremlinKeyWords.ts | 45 - .../data-analyze/QueryAndAlgorithmLibrary.tsx | 633 - .../data-analyze/algorithm/AllPath.tsx | 407 - .../data-analyze/algorithm/CustomPath.tsx | 1115 - .../data-analyze/algorithm/FocusDetection.tsx | 423 - .../data-analyze/algorithm/Jaccard.tsx | 278 - .../data-analyze/algorithm/KHop.tsx | 408 - .../data-analyze/algorithm/KStepNeighbor.tsx | 348 - .../data-analyze/algorithm/LoopDetection.tsx | 407 - .../algorithm/ModelSimilarity.tsx | 1166 - .../data-analyze/algorithm/NeighborRank.tsx | 500 - .../data-analyze/algorithm/PersonalRank.tsx | 451 - .../algorithm/RadiographicInspection.tsx | 422 - .../data-analyze/algorithm/SameNeighbor.tsx | 318 - .../data-analyze/algorithm/ShortestPath.tsx | 454 - .../algorithm/ShortestPathAll.tsx | 469 - .../SingleSourceWeightedShortestPath.tsx | 522 - .../algorithm/WeightedShortestPath.tsx | 500 - .../data-analyze/common/Favorite.tsx | 170 - .../graph-management/data-analyze/index.ts | 20 - .../query-result/GraphPopOver.tsx | 231 - .../query-result/GraphQueryResult.tsx | 659 - .../query-result/JSONQueryResult.tsx | 41 - .../query-result/QueryFilterOptions.tsx | 405 - .../data-analyze/query-result/QueryResult.tsx | 243 - .../query-result/TableQueryResult.tsx | 91 - .../data-analyze/query-result/index.ts | 20 - .../data-import/import-tasks/ImportFinish.tsx | 102 - .../import-tasks/ImportManager.less | 213 - .../import-tasks/ImportManager.tsx | 110 - .../import-tasks/ImportTaskList.tsx | 768 - .../data-import/import-tasks/ImportTasks.less | 111 - .../data-import/import-tasks/ImportTasks.tsx | 134 - .../data-import/import-tasks/UploadEntry.less | 106 - .../data-import/import-tasks/UploadEntry.tsx | 1034 - .../datamap-configs/DataMapConfigs.less | 393 - .../datamap-configs/DataMapConfigs.tsx | 80 - .../import-tasks/datamap-configs/EdgeMap.tsx | 1707 -- .../datamap-configs/FileConfigs.tsx | 395 - .../TypeConfigManipulations.tsx | 65 - .../datamap-configs/TypeConfigs.tsx | 273 - .../import-tasks/datamap-configs/TypeInfo.tsx | 350 - .../datamap-configs/VertexMap.tsx | 1628 - .../import-tasks/datamap-configs/index.ts | 20 - .../import-tasks/error-logs/JobErrorLogs.less | 65 - .../import-tasks/error-logs/JobErrorLogs.tsx | 125 - .../error-logs/TaskErrorLogs.less | 25 - .../import-tasks/error-logs/TaskErrorLogs.tsx | 58 - .../import-tasks/error-logs/index.ts | 21 - .../data-import/import-tasks/index.ts | 22 - .../job-details/BasicSettings.tsx | 258 - .../job-details/DataImportDetails.tsx | 34 - .../import-tasks/job-details/DataMaps.tsx | 36 - .../import-tasks/job-details/JobDetails.less | 86 - .../import-tasks/job-details/JobDetails.tsx | 90 - .../job-details/UploadedFiles.tsx | 44 - .../import-tasks/job-details/index.ts | 20 - .../server-data-import/ImportConfigs.tsx | 862 - .../server-data-import/ServerDataImport.less | 107 - .../server-data-import/ServerDataImport.tsx | 33 - .../import-tasks/server-data-import/index.ts | 20 - .../graph-management/data-import/index.ts | 20 - .../src/components/graph-management/index.ts | 32 - .../metadata-configs/MetadataConfigs.less | 282 - .../metadata-configs/MetadataConfigs.tsx | 197 - .../metadata-configs/common/EmptyDataView.tsx | 53 - .../edge-type/EdgeTypeList.less | 23 - .../edge-type/EdgeTypeList.tsx | 1957 -- .../edge-type/NewEdgeType.less | 23 - .../edge-type/NewEdgeType.tsx | 1099 - .../edge-type/ReuseEdgeTypes.less | 100 - .../edge-type/ReuseEdgeTypes.tsx | 1237 - .../metadata-configs/edge-type/index.ts | 21 - .../graph-view/CheckAndEditEdge.tsx | 1415 - .../graph-view/CheckAndEditVertex.tsx | 1310 - .../graph-view/CheckProperty.tsx | 239 - .../graph-view/CreateEdge.tsx | 1177 - .../graph-view/CreateProperty.tsx | 215 - .../graph-view/CreateVertex.tsx | 1142 - .../graph-view/GraphView.less | 178 - .../metadata-configs/graph-view/GraphView.tsx | 477 - .../metadata-configs/graph-view/index.ts | 20 - .../metadata-configs/index.ts | 20 - .../property-index/PropertyIndex.less | 50 - .../property-index/PropertyIndex.tsx | 307 - .../metadata-configs/property-index/index.ts | 20 - .../property/MetadataProperties.less | 104 - .../property/MetadataProperties.tsx | 912 - .../property/ReuseProperties.less | 100 - .../property/ReuseProperties.tsx | 542 - .../metadata-configs/property/index.ts | 21 - .../vertex-type/NewVertexType.less | 1637 - .../vertex-type/NewVertexType.tsx | 1023 - .../vertex-type/ReuseVertexTypes.less | 100 - .../vertex-type/ReuseVertexTypes.tsx | 1052 - .../vertex-type/VertexTypeList.less | 23 - .../vertex-type/VertexTypeList.tsx | 1888 -- .../metadata-configs/vertex-type/index.ts | 21 - .../src/components/hubble-ui/index.tsx | 311 - .../src/components/hubble-ui/src/index.less | 104 - hugegraph-hubble/hubble-fe/src/hooks/index.ts | 22 - .../hubble-fe/src/hooks/useInitDataImport.tsx | 237 - .../src/hooks/useLocationWithConfirmation.tsx | 65 - .../hubble-fe/src/hooks/useMultiKeyPress.tsx | 52 - hugegraph-hubble/hubble-fe/src/i18n/index.ts | 37 - .../en-US/graph-managment/AsyncTasks.json | 64 - .../GraphManagementSidebar.json | 5 - .../en-US/graph-managment/addition.json | 348 - .../en-US/graph-managment/common.json | 5 - .../data-import/import-tasks/ImportTasks.json | 342 - .../en-US/graph-managment/dataAnalyze.json | 287 - .../resources/en-US/graph-managment/index.ts | 32 - .../src/i18n/resources/en-US/index.ts | 39 - .../hubble-fe/src/i18n/resources/index.ts | 21 - .../zh-CN/graph-managment/AsyncTasks.json | 64 - .../GraphManagementSidebar.json | 5 - .../zh-CN/graph-managment/addition.json | 348 - .../zh-CN/graph-managment/common.json | 5 - .../data-import/import-tasks/ImportTasks.json | 343 - .../zh-CN/graph-managment/dataAnalyze.json | 654 - .../resources/zh-CN/graph-managment/index.ts | 32 - .../src/i18n/resources/zh-CN/index.ts | 39 - hugegraph-hubble/hubble-fe/src/index.less | 320 - hugegraph-hubble/hubble-fe/src/index.tsx | 36 - .../hubble-fe/src/react-app-env.d.ts | 18 - .../GraphManagementStore/asyncTasksStore.ts | 230 - .../algorithmAnalyzerStore.ts | 1901 -- .../dataAnalyzeStore/dataAnalyzeStore.ts | 2538 -- .../dataImportStore/ImportManagerStore.ts | 383 - .../dataImportStore/dataImportRootStore.ts | 407 - .../dataImportStore/dataMapStore.ts | 1321 - .../dataImportStore/serverDataImportStore.ts | 516 - .../graphManagementStore.ts | 571 - .../metadataConfigsStore/edgeTypeStore.ts | 1533 - .../metadataConfigsStore/graphViewStore.ts | 334 - .../metadataConfigsStore.ts | 65 - .../metadataPropertyIndexStore.ts | 245 - .../metadataPropertyStore.ts | 590 - .../metadataConfigsStore/vertexTypeStore.ts | 1266 - .../hubble-fe/src/stores/appStore.ts | 81 - .../src/stores/factory/asyncTasksStore.ts | 46 - .../dataAnalyzeStore/algorithmStore.ts | 529 - .../dataAnalyzeStore/dataAnalyzeStore.ts | 183 - .../dataImportStore/dataImportRootStore.ts | 61 - .../factory/dataImportStore/dataMapStore.ts | 99 - .../dataImportStore/importManagmentStore.ts | 51 - .../dataImportStore/serverDataImportStore.ts | 92 - .../hubble-fe/src/stores/index.ts | 48 - .../GraphManagementStore/asyncTasksStore.ts | 31 - .../GraphManagementStore/dataAnalyzeStore.ts | 328 - .../GraphManagementStore/dataImportStore.ts | 179 - .../graphManagementStore.ts | 61 - .../metadataConfigsStore.ts | 219 - .../hubble-fe/src/stores/types/common.ts | 26 - .../hubble-fe/src/stores/utils/index.ts | 273 - .../hubble-fe/src/third-party.d.ts | 18 - .../src/utils/calcAlgorithmFormWidth.ts | 24 - .../src/utils/convertStringToJSON.ts | 32 - .../src/utils/filterEmptyAlgorightmParams.ts | 36 - .../src/utils/formatAlgorithmStatement.ts | 271 - .../hubble-fe/src/utils/getUnicodeLength.ts | 24 - hugegraph-hubble/hubble-fe/src/utils/index.ts | 40 - .../hubble-fe/src/utils/isDataTypeNumeric.ts | 27 - .../hubble-fe/tsconfig-extend.json | 8 - hugegraph-hubble/hubble-fe/tsconfig.json | 28 - hugegraph-hubble/hubble-fe/yarn.lock | 13380 --------- 663 files changed, 68896 insertions(+), 80246 deletions(-) create mode 100644 hugegraph-hubble/hubble-fe-new/.env.development create mode 100644 hugegraph-hubble/hubble-fe-new/.env.production create mode 100644 hugegraph-hubble/hubble-fe-new/.eslintrc.js create mode 100644 hugegraph-hubble/hubble-fe-new/.gitignore create mode 100644 hugegraph-hubble/hubble-fe-new/README.md create mode 100644 hugegraph-hubble/hubble-fe-new/package-lock.json create mode 100644 hugegraph-hubble/hubble-fe-new/package.json rename hugegraph-hubble/{hubble-fe => hubble-fe-new}/public/favicon.ico (100%) create mode 100644 hugegraph-hubble/hubble-fe-new/public/index.html create mode 100644 hugegraph-hubble/hubble-fe-new/public/logo192.png create mode 100644 hugegraph-hubble/hubble-fe-new/public/logo512.png rename hugegraph-hubble/{hubble-fe => hubble-fe-new}/public/manifest.json (62%) create mode 100644 hugegraph-hubble/hubble-fe-new/public/robots.txt create mode 100644 hugegraph-hubble/hubble-fe-new/src/App.css create mode 100644 hugegraph-hubble/hubble-fe-new/src/App.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/App.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/App.test.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/analysis.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/auth.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/cloud.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/manage.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/request.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/api/request2.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/canvas_bg.png rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_arrow.svg (53%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_arrow_selected.svg (51%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_biaoge_normal.svg (67%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_biaoge_pressed.svg (65%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_done_144.svg (90%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_fail.svg (88%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_json_normal.svg (70%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_json_pressed.svg (69%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_loading_back.svg (89%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_loading_front.svg (74%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_sousuo_empty.svg (90%) create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/ic_straight.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/ic_straight_selected.svg rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_tuzhanshi_normal.svg (79%) rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/ic_tuzhanshi_pressed.svg (77%) create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_circular.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_concentric.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_dagre.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_force.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_grid.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/layout_radial.svg rename hugegraph-hubble/{hubble-fe/src/assets/imgs => hubble-fe-new/src/assets}/logo.png (100%) create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/logo_img.png create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/logo_new.png create mode 100644 hugegraph-hubble/hubble-fe-new/src/assets/logo_text.png create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/cypher.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/gremlin.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/config.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/data/edge.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/data/group.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/data/property.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/data/test.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/data/vertex.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ERView/utils.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/GraphinView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/ListButton/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Status/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Status/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/customHook/useCustomEdge.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/customHook/useCustomGrid.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/customHook/useCustomNode.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/customHook/useDownloadJson.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/index.css create mode 100644 hugegraph-hubble/hubble-fe-new/src/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/layout.ant.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/logo.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/Context/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/GraphAnalysis/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphMenuBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphToolBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/utils/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/CapacityItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/DirectionItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/LabelItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/LimitItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/NearestItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentrality/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClusterCoefficient/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentrality/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Links/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Louvain/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/OlapComputerItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/OlapItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/PageRank/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/PageRankVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/PersonalPageRank/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/RingsDetection/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/SSSPVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/TriangleCount/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/TriangleCountVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/WeaklyConnectedComponent/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/WeaklyConnectedComponentVermeer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/OlapHome/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/OlapHome/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/AllPaths/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Crosspoints/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/CustomizedCrosspoints/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/CustomizedCrosspoints/PathPatternForm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/CustomizedPaths/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/CustomizedPaths/StepItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Egonet/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Egonet/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/FindShortestPath/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/FindShortestPathWithWeight/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/FusiformSimilarity/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/JaccardSimilarityGet/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/JaccardSimilarityPost/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/KneighborGet/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/KneighborPost/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/KoutGet/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/KoutPost/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/KoutPost/StepFormItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/MultiNodesShortestPath/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/NeighborRankApi/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/OltpItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/OltpItem/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Paths/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/RankApi/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Rays/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/ResourceAllocation/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/Rings/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/SameNeighbors/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/SameNeighborsBatch/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/ShortestPath/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/SingleSourceShortestPath/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/TemplatePaths/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Oltp/TemplatePaths/StepFormItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/OltpHome/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/OltpHome/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/StepsItems/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/StepsItems/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/VerticesItems/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/VerticesItems/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/utils/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/ExecuteLog/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/ExecuteLog/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/Favorite/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/Favorite/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/LogsDetail/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryBar/ContentCommon/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryBar/ContentCommon/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryBar/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryBar/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/GraphResult/GraphMenubar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/GraphResult/GraphToolBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/GraphResult/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/GraphResult/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/GraphResult/utils/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/JsonView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/JsonView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/TableView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/analysis/QueryResult/TableView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Detail/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Detail/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Result/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/asyncTasks/Result/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Canvas3D/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Canvas3D/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ClearGraph/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ClosePanelButton/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ClosePanelButton/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Context/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/DynamicAddEdge/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/DynamicAddEdge/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/DynamicAddNode/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/DynamicAddNode/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/EditElement/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/EditElement/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ExportData/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/FitCenter/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/FixNode/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/FullScreen/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Graph/index.css create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Graph/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Graph/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/GraphRenderModeSwitcher/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/GraphRenderModeSwitcher/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/GraphStatusView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/GraphStatusView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ImportData/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/JaccRankView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/JaccRankView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/LayoutConfig/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Legend/customLegend.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Legend/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Menu/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/MenuBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/MenuBar/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/MiniMap/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/NewConfig/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/NumberCard/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/NumberCard/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/RedoUndo/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/RefreshGraph/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Search/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/SettingConfig/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/SettingConfigPanel/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/SettingConfigPanel/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Statistics/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/BarChartComponent/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/GraphStatistics/Header/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/GraphStatistics/Header/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/GraphStatistics/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/GraphStatistics/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/LabelStatistics/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/StatisticsPanel/LabelStatistics/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/TaskNavigateView/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/TaskNavigateView/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ToolBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ToolBar/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Tooltip/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/Tooltip/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/TopBar/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/TopBar/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ZeroDegreeNode/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/ZoomGraph/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/filter/FilterDrawer/FilterForm.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/filter/FilterDrawer/config.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/filter/FilterDrawer/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/filter/FilterDrawer/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/filter/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Circular/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Circular/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Concentric/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Dagre/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Force/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Grid/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/layoutConfigPanel/Radial/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/styleConfig/ConfigModal/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/styleConfig/ConfigModal/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/component/styleConfig/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/AdminItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/AdminItem/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/AnalyseItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/AnalyseItem/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ConsoleItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ConsoleItem/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/Home/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/Home/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/Item/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/Item/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ManageItem/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ManageItem/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ModuleButton/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/modules/navigation/ModuleButton/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Account/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Account/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Account/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/AsyncTaskResult/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Bill/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Datasource/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Datasource/config.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Datasource/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Datasource/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Error404/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Graph/Card.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Graph/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Graph/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Graph/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphAnalysis/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphDetail/assets/aaa.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphDetail/assets/collaboration-full.svg create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphDetail/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphDetail/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphSpace/Card.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphSpace/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphSpace/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/GraphSpace/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Login/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Login/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Edge/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Edge/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/EdgeIndex/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/ImageView.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/ListView.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Property/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Property/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Vertex/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/Vertex/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/VertexIndex/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/common/Colorbox.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/common/RelateProperty.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/common/RelatePropertyIndex.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/common/config.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/common/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Meta/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/My/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/My/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/My/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Navigation/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Order/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Order/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Resource/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Resource/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Resource/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Role/Auth.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Role/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Role/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Role/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Role/treeData.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Schema/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Schema/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Super/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Super/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Super/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/components/EditLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/components/TopStatistic.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/components/ViewLayer.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/components/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/config.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Task/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskDetail/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/BaseForm.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/BaseForm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/FieldForm.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/FieldForm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm/Edge.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm/EdgeList.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm/Vertex.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm/VertexList.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/MappingForm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/ScheduleForm.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/ScheduleForm/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/TaskEdit/index.module.scss create mode 100644 hugegraph-hubble/hubble-fe-new/src/pages/Test/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/reportWebVitals.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/routes/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/setupProxy.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/setupTests.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/constants.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/convertNumberToChinese.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/convertStringToJSON.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/filter.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/format.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/formatGraphInData.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/formatGraphResultData.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/formatTimeDuration.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/getNodesFromParams.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/graph.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/handleGraphState.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/removeNilKeys.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/rules.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/utils/user.js delete mode 100644 hugegraph-hubble/hubble-fe/.env delete mode 100644 hugegraph-hubble/hubble-fe/CHANGELOG.md delete mode 100644 hugegraph-hubble/hubble-fe/CHANGELOG.zh-CN.md delete mode 100644 hugegraph-hubble/hubble-fe/README.md delete mode 100644 hugegraph-hubble/hubble-fe/add-license.js delete mode 100644 hugegraph-hubble/hubble-fe/config-overrides.js delete mode 100644 hugegraph-hubble/hubble-fe/package.json delete mode 100644 hugegraph-hubble/hubble-fe/public/index.html delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_add.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_add_node.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_blue.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_white.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32_normal.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_back_32_pressed.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_hover.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_cebianshouqi.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_cebianzhankai.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_close_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_close_white.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_daorushuju_normal.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_daorushuju_pressed.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_error_12.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_fangda_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_hover.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_liebiaomoshi_black.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_liebiaomoshi_white.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading@2x.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_middle_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_pass.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_progress_done.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_quanping_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_question_mark.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_refresh.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_renwuguanli_normal.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_renwuguanli_pressed.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_shuju_normal.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_shuju_pressed.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_straight.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_straight_selected.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_suoxiao_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_topback.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuichuquanping_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tumoshi_black.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tumoshi_white.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_hover.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_xiazai_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yingshe_16.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yuanshuju_normal.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/ic_yuanshuju_pressed.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/icon_clickarrow_left_grey.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/assets/imgs/icon_clickarrow_rigth_grey.svg delete mode 100644 hugegraph-hubble/hubble-fe/src/components/App.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/AppBar.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/AppBar.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/LoadingDataView.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/LoadingDataView.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/Tooltip.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/common/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagement.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagement.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementEmptyList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementHeader.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementLimitHint.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/GraphManagementSidebar.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/NewGraphConfig.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskList.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskResult.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/AsyncTaskResult.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/async-tasks/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyze.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyze.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyzeContent.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DataAnalyzeInfoDrawer.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DynamicAddEdge.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/DynamicAddNode.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/ExecLogAndQueryCollections.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/GremlinKeyWords.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/QueryAndAlgorithmLibrary.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/AllPath.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KHop.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/common/Favorite.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryResult.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/components/hubble-ui/index.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/components/hubble-ui/src/index.less delete mode 100644 hugegraph-hubble/hubble-fe/src/hooks/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/hooks/useInitDataImport.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/hooks/useLocationWithConfirmation.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/hooks/useMultiKeyPress.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/AsyncTasks.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/addition.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/common.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/dataAnalyze.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/addition.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/common.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/index.less delete mode 100644 hugegraph-hubble/hubble-fe/src/index.tsx delete mode 100644 hugegraph-hubble/hubble-fe/src/react-app-env.d.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/asyncTasksStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/graphManagementStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/appStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/asyncTasksStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/algorithmStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataImportRootStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataMapStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/importManagmentStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/serverDataImportStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/asyncTasksStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataImportStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/graphManagementStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/metadataConfigsStore.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/types/common.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/stores/utils/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/third-party.d.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/calcAlgorithmFormWidth.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/filterEmptyAlgorightmParams.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/formatAlgorithmStatement.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/getUnicodeLength.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/index.ts delete mode 100644 hugegraph-hubble/hubble-fe/src/utils/isDataTypeNumeric.ts delete mode 100644 hugegraph-hubble/hubble-fe/tsconfig-extend.json delete mode 100644 hugegraph-hubble/hubble-fe/tsconfig.json delete mode 100644 hugegraph-hubble/hubble-fe/yarn.lock diff --git a/hugegraph-hubble/hubble-fe-new/.env.development b/hugegraph-hubble/hubble-fe-new/.env.development new file mode 100644 index 000000000..9691c9554 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/.env.development @@ -0,0 +1 @@ +REACT_APP_BASE_URL=/ \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/.env.production b/hugegraph-hubble/hubble-fe-new/.env.production new file mode 100644 index 000000000..e69de29bb diff --git a/hugegraph-hubble/hubble-fe-new/.eslintrc.js b/hugegraph-hubble/hubble-fe-new/.eslintrc.js new file mode 100644 index 000000000..33690776f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/.eslintrc.js @@ -0,0 +1,31 @@ +module.exports = { + 'env': { + 'browser': true, + 'es2021': true, + }, + 'extends': [ + // "eslint:recommended", + // "plugin:react/recommended", + // "plugin:@typescript-eslint/recommended", + + '@ecomfe/eslint-config/baidu/default', // 根据代码库ES版本选择default或es5 + '@ecomfe/eslint-config/baidu/defect', // 根据代码库ES版本选择defect或defect-es5 + '@ecomfe/eslint-config', + '@ecomfe/eslint-config/typescript', + '@ecomfe/eslint-config/react', + ], + 'parser': '@typescript-eslint/parser', + 'parserOptions': { + 'ecmaFeatures': { + 'jsx': true, + }, + 'ecmaVersion': 12, + 'sourceType': 'module', + }, + 'plugins': [ + 'react', + '@typescript-eslint', + ], + 'rules': { + }, +}; diff --git a/hugegraph-hubble/hubble-fe-new/.gitignore b/hugegraph-hubble/hubble-fe-new/.gitignore new file mode 100644 index 000000000..4d29575de --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/hugegraph-hubble/hubble-fe-new/README.md b/hugegraph-hubble/hubble-fe-new/README.md new file mode 100644 index 000000000..58beeaccd --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/hugegraph-hubble/hubble-fe-new/package-lock.json b/hugegraph-hubble/hubble-fe-new/package-lock.json new file mode 100644 index 000000000..4ae5e7fcb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/package-lock.json @@ -0,0 +1,24772 @@ +{ + "name": "hubble", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hubble", + "version": "0.1.0", + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@antv/g6": "^4.6.15", + "@antv/graphin": "^2.7.12", + "@antv/graphin-components": "^2.4.0", + "@antv/graphin-icons": "^1.0.0", + "@antv/x6": "^1.34.6", + "@antv/x6-react-components": "^1.1.20", + "@antv/x6-react-shape": "^1.6.3", + "@babel/eslint-plugin": "^7.18.10", + "@testing-library/jest-dom": "^5.16.4", + "@testing-library/react": "^13.3.0", + "@testing-library/user-event": "^13.5.0", + "3d-force-graph": "^1.71.2", + "ajv": "8.17.1", + "antd": "^4.23.1", + "axios": "^0.27.2", + "codemirror": "^6.0.1", + "cron-expression-validator": "^1.0.20", + "date-fns": "^2.29.3", + "echarts": "^5.4.1", + "http-proxy-middleware": "^2.0.6", + "install": "^0.13.0", + "json-bigint": "^1.0.0", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "node-gyp": "^9.4.0", + "node-sass": "^9.0.0", + "npm": "^8.13.2", + "react": "^18.2.0", + "react-color": "^2.19.3", + "react-dom": "^18.2.0", + "react-highlight-words": "^0.18.0", + "react-json-view": "^1.21.3", + "react-router-dom": "^6.3.0", + "react-scripts": "5.0.1", + "screenfull": "^6.0.2", + "typescript": "^4.7.4", + "validator": "^13.7.0", + "vis-network": "^9.1.2", + "web-vitals": "^2.1.4" + }, + "devDependencies": { + "@ecomfe/eslint-config": "^7.4.0", + "@ecomfe/stylelint-config": "^1.1.2", + "eslint": "^8.19.0", + "eslint-plugin-react": "^7.30.1", + "resize-observer-polyfill": "^1.5.1" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "dependencies": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "node_modules/@ant-design/icons": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.3.tgz", + "integrity": "sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "rc-util": "^5.9.4" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "node_modules/@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0" + } + }, + "node_modules/@antv/algorithm": { + "version": "0.1.26", + "resolved": "https://registry.npmjs.org/@antv/algorithm/-/algorithm-0.1.26.tgz", + "integrity": "sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==", + "dependencies": { + "@antv/util": "^2.0.13", + "tslib": "^2.0.0" + } + }, + "node_modules/@antv/dom-util": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@antv/dom-util/-/dom-util-2.0.4.tgz", + "integrity": "sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/event-emitter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==" + }, + "node_modules/@antv/g-base": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/@antv/g-base/-/g-base-0.5.16.tgz", + "integrity": "sha512-jP06wggTubDPHXoKwFg3/f1lyxBX9ywwN3E/HG74Nd7DXqOXQis8tsIWW+O6dS/h9vyuXLd1/wDWkMMm3ZzXdg==", + "dependencies": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.9", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.13", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^3.0.1", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/g-canvas": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-0.5.17.tgz", + "integrity": "sha512-sXYJMWTOlb/Ycb6sTKu00LcJqInXJY4t99+kSM40u2OfqrXYmaXDjHR7D2V0roMkbK/QWiWS9UnEidCR1VtMOA==", + "dependencies": { + "@antv/g-base": "^0.5.12", + "@antv/g-math": "^0.1.9", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/g-math": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-0.1.9.tgz", + "integrity": "sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ==", + "dependencies": { + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0" + } + }, + "node_modules/@antv/g-svg": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@antv/g-svg/-/g-svg-0.5.7.tgz", + "integrity": "sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw==", + "dependencies": { + "@antv/g-base": "^0.5.12", + "@antv/g-math": "^0.1.9", + "@antv/util": "~2.0.0", + "detect-browser": "^5.0.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/g-webgpu": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz", + "integrity": "sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ==", + "dependencies": { + "@antv/g-webgpu-core": "^0.7.2", + "@antv/g-webgpu-engine": "^0.7.2", + "gl-matrix": "^3.1.0", + "gl-vec2": "^1.3.0", + "lodash": "^4.17.15" + } + }, + "node_modules/@antv/g-webgpu-core": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz", + "integrity": "sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w==", + "dependencies": { + "eventemitter3": "^4.0.0", + "gl-matrix": "^3.1.0", + "lodash": "^4.17.15", + "probe.gl": "^3.1.1" + } + }, + "node_modules/@antv/g-webgpu-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz", + "integrity": "sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg==", + "dependencies": { + "@antv/g-webgpu-core": "^0.7.2", + "gl-matrix": "^3.1.0", + "lodash": "^4.17.15", + "regl": "^1.3.11" + } + }, + "node_modules/@antv/g6": { + "version": "4.8.24", + "resolved": "https://registry.npmjs.org/@antv/g6/-/g6-4.8.24.tgz", + "integrity": "sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ==", + "dependencies": { + "@antv/g6-pc": "0.8.24" + } + }, + "node_modules/@antv/g6-core": { + "version": "0.8.24", + "resolved": "https://registry.npmjs.org/@antv/g6-core/-/g6-core-0.8.24.tgz", + "integrity": "sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A==", + "dependencies": { + "@antv/algorithm": "^0.1.26", + "@antv/dom-util": "^2.0.1", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "^0.5.1", + "@antv/g-math": "^0.1.1", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/util": "~2.0.5", + "ml-matrix": "^6.5.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@antv/g6-element": { + "version": "0.8.24", + "resolved": "https://registry.npmjs.org/@antv/g6-element/-/g6-element-0.8.24.tgz", + "integrity": "sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw==", + "dependencies": { + "@antv/g-base": "^0.5.1", + "@antv/g6-core": "0.8.24", + "@antv/util": "~2.0.5", + "tslib": "^2.6.2" + }, + "peerDependencies": { + "@antv/g6": "4.8.24" + } + }, + "node_modules/@antv/g6-pc": { + "version": "0.8.24", + "resolved": "https://registry.npmjs.org/@antv/g6-pc/-/g6-pc-0.8.24.tgz", + "integrity": "sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ==", + "dependencies": { + "@ant-design/colors": "^4.0.5", + "@antv/algorithm": "^0.1.26", + "@antv/dom-util": "^2.0.1", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "^0.5.1", + "@antv/g-canvas": "^0.5.2", + "@antv/g-math": "^0.1.1", + "@antv/g-svg": "^0.5.1", + "@antv/g6-core": "0.8.24", + "@antv/g6-element": "0.8.24", + "@antv/g6-plugin": "0.8.24", + "@antv/hierarchy": "^0.6.10", + "@antv/layout": "^0.3.0", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/util": "~2.0.5", + "color": "^3.1.3", + "d3-force": "^2.0.1", + "dagre": "^0.8.5", + "insert-css": "^2.0.0", + "ml-matrix": "^6.5.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@antv/g6-pc/node_modules/@ant-design/colors": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-4.0.5.tgz", + "integrity": "sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q==", + "dependencies": { + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@antv/g6-plugin": { + "version": "0.8.24", + "resolved": "https://registry.npmjs.org/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz", + "integrity": "sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g==", + "dependencies": { + "@antv/dom-util": "^2.0.2", + "@antv/g-base": "^0.5.1", + "@antv/g-canvas": "^0.5.2", + "@antv/g-svg": "^0.5.2", + "@antv/g6-core": "0.8.24", + "@antv/g6-element": "0.8.24", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/scale": "^0.3.4", + "@antv/util": "^2.0.9", + "insert-css": "^2.0.0" + }, + "peerDependencies": { + "@antv/g6": "4.8.24" + } + }, + "node_modules/@antv/graphin": { + "version": "2.7.27", + "resolved": "https://registry.npmjs.org/@antv/graphin/-/graphin-2.7.27.tgz", + "integrity": "sha512-cqsLl3xpZ5mPgTq5UufcqJDlxzKZSLk9/JWXmoQYpvDC4cpzDjBZeVlaDfhT8iToB5aR15CEIu6j+XsQDMqUsA==", + "dependencies": { + "@antv/g6": "^4.8.19", + "d3-quadtree": "^3.0.1", + "lodash-es": "^4.17.21" + }, + "peerDependencies": { + "lodash-es": ">=4.17.21", + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@antv/graphin-components": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@antv/graphin-components/-/graphin-components-2.4.1.tgz", + "integrity": "sha512-Vaxhg1Jbv76j0SwrDLS5/VoHEx2mJW9CEbNdJ7HuWCaz24imvOymV4FpKSJND2PUq7BgIrzo48NaF3bpfiWZZA==", + "dependencies": { + "@antv/graphin": "^2.7.18" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@antv/graphin-icons": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz", + "integrity": "sha512-2nogK6ZrDklnfIOJrqOAgD7iFLjfZIjLbA8pDUbeXN5c9b0Mu84oCfyqg8OmWwvi9Gt80eUzoplo73gKjZECJg==" + }, + "node_modules/@antv/graphlib": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@antv/graphlib/-/graphlib-1.2.0.tgz", + "integrity": "sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==" + }, + "node_modules/@antv/hierarchy": { + "version": "0.6.12", + "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.12.tgz", + "integrity": "sha512-WvWT9WYtm2SvYunm1HtzrHazvOozeP4cPFDhJWsnLzmTGMX/tNhsoCD3O+DDB3aeDY8fyM+wfZDvLv7+/4lIeA==" + }, + "node_modules/@antv/layout": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@antv/layout/-/layout-0.3.25.tgz", + "integrity": "sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g==", + "dependencies": { + "@antv/g-webgpu": "0.7.2", + "@antv/graphlib": "^1.0.0", + "@antv/util": "^3.3.2", + "d3-force": "^2.1.1", + "d3-quadtree": "^2.0.0", + "dagre-compound": "^0.0.11", + "ml-matrix": "6.5.0" + } + }, + "node_modules/@antv/layout/node_modules/@antv/util": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.7.tgz", + "integrity": "sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "gl-matrix": "^3.3.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@antv/layout/node_modules/d3-quadtree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + }, + "node_modules/@antv/layout/node_modules/ml-matrix": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.5.0.tgz", + "integrity": "sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg==", + "dependencies": { + "ml-array-rescale": "^1.3.1" + } + }, + "node_modules/@antv/matrix-util": { + "version": "3.1.0-beta.3", + "resolved": "https://registry.npmjs.org/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz", + "integrity": "sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A==", + "dependencies": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.4.3", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/path-util": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-2.0.15.tgz", + "integrity": "sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw==", + "dependencies": { + "@antv/matrix-util": "^3.0.4", + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/path-util/node_modules/@antv/matrix-util": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@antv/matrix-util/-/matrix-util-3.0.4.tgz", + "integrity": "sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ==", + "dependencies": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.3.0", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/scale": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.3.18.tgz", + "integrity": "sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w==", + "dependencies": { + "@antv/util": "~2.0.3", + "fecha": "~4.2.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/x6": { + "version": "1.35.1", + "resolved": "https://registry.npmjs.org/@antv/x6/-/x6-1.35.1.tgz", + "integrity": "sha512-XLFSGbcT/MOI883YKql9J/CqHUCPZxgwfel+sNN1eQbHA+JXYsGt0t9+IJ1qieaYAlxjgio5up+S9I0n+8QL/A==", + "dependencies": { + "csstype": "^3.0.3", + "jquery": "^3.5.1", + "jquery-mousewheel": "^3.1.13", + "lodash-es": "^4.17.15", + "mousetrap": "^1.6.5", + "utility-types": "^3.10.0" + } + }, + "node_modules/@antv/x6-react-components": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz", + "integrity": "sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q==", + "dependencies": { + "clamp": "^1.0.1", + "classnames": "^2.2.6", + "rc-dropdown": "^3.0.0-alpha.0", + "rc-util": "^4.15.7", + "react-color": "2.17.1", + "react-resize-detector": "^7.0.0", + "ua-parser-js": "^0.7.20" + }, + "peerDependencies": { + "antd": ">=4.4.2 || >=5.0.0-beta.0", + "react": ">=16.8.6 || >=17.0.0", + "react-dom": ">=16.8.6 || >=17.0.0" + } + }, + "node_modules/@antv/x6-react-components/node_modules/rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "dependencies": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "node_modules/@antv/x6-react-components/node_modules/react-color": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.17.1.tgz", + "integrity": "sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ==", + "dependencies": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.11", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "node_modules/@antv/x6-react-components/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/@antv/x6-react-shape": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz", + "integrity": "sha512-+SIvQWeGhfH9miKDQvJT497iVDs/CcMwcgbNKbPV6qTUaSUeXjz/bZy8knbQ5t9XtkVYeQXZP7swiKK2xMI0UQ==", + "peerDependencies": { + "@antv/x6": "^1.x", + "react": ">=16.8.6 || >=17.0.0", + "react-dom": ">=16.8.6 || >=17.0.0" + } + }, + "node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", + "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", + "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-plugin": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.25.1.tgz", + "integrity": "sha512-jF04YOsrCbEeQk4s+FwsuRddwBiAHooMDG9/nrV83HiYQwEuQppbXTeXyydxCoH5oEWmVBI51wHuZrcIXMkPfw==", + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/eslint-parser": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", + "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "dependencies": { + "@babel/types": "^7.25.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", + "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", + "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "dependencies": { + "@babel/types": "^7.25.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", + "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-decorators": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", + "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", + "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", + "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", + "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-flow": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", + "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", + "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", + "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/types": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", + "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", + "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", + "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", + "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", + "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", + "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.24.7", + "@babel/plugin-transform-react-jsx-development": "^7.24.7", + "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", + "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", + "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.2", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.0.tgz", + "integrity": "sha512-5DbOvBbY4qW5l57cjDsmmpDh3/TeK1vXfTHa+BUMrRzdWdcxKZ4U4V7vQaTtOpApNU4kLS4FQ6cINtLg245LXA==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + }, + "peerDependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz", + "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz", + "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz", + "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/search": { + "version": "6.5.6", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", + "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" + }, + "node_modules/@codemirror/view": { + "version": "6.32.0", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.32.0.tgz", + "integrity": "sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==", + "dependencies": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/@ecomfe/eslint-config": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz", + "integrity": "sha512-17Qc003QeeP9dZcI838owFLbSPjfCwZofYIu3zbLqpTVxdbxkkijj10fzYnMRGuOW0uGOzSqITzrIaJmLZRHBA==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "peerDependencies": { + "@babel/core": "^7.12.10", + "@babel/eslint-parser": "^7.12.1", + "@babel/eslint-plugin": "^7.12.1", + "@typescript-eslint/eslint-plugin": "^4.11.0 || 5.x || 6.x", + "@typescript-eslint/parser": "^4.11.0 || 5.x || 6.x", + "eslint": "^6.2.0 || 7.x || 8.x", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-react": "^7.21.5", + "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-san": "^1.0.0", + "eslint-plugin-vue": "^7.20.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "@typescript-eslint/parser": { + "optional": true + }, + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-react": { + "optional": true + }, + "eslint-plugin-react-hooks": { + "optional": true + }, + "eslint-plugin-san": { + "optional": true + }, + "eslint-plugin-vue": { + "optional": true + } + } + }, + "node_modules/@ecomfe/stylelint-config": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz", + "integrity": "sha512-rIrZ7EU+zGVnqWWvYrCJWNrV04jyRSOqbLhsH1vl2FgTyUOBbvErRHfPoGqng8S9MfbIunnkzCDaoqpw6G4Tzw==", + "dev": true, + "peerDependencies": { + "stylelint": ">=9" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead" + }, + "node_modules/@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/console/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/environment/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/environment/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/fake-timers/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/globals/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/globals/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-result/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/test-result/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@jest/transform/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + }, + "node_modules/@lezer/highlight": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", + "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", + "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", + "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "dependencies": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x || 5.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@probe.gl/env": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-3.6.0.tgz", + "integrity": "sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==", + "dependencies": { + "@babel/runtime": "^7.0.0" + } + }, + "node_modules/@probe.gl/log": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-3.6.0.tgz", + "integrity": "sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@probe.gl/env": "3.6.0" + } + }, + "node_modules/@probe.gl/stats": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-3.6.0.tgz", + "integrity": "sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==", + "dependencies": { + "@babel/runtime": "^7.0.0" + } + }, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/@remix-run/router": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", + "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==" + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/d3-timer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-2.0.3.tgz", + "integrity": "sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==" + }, + "node_modules/@types/eslint": { + "version": "8.56.11", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", + "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.12", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", + "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" + }, + "node_modules/@types/node": { + "version": "22.4.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.4.2.tgz", + "integrity": "sha512-nAvM3Ey230/XzxtyDcJ+VjvlzpzoHwLsF7JaDRfoI0ytO0mVheerNmM45CtA0yOILXwXXxOrcUWH3wltX+7PSw==", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.3.4", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.4.tgz", + "integrity": "sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "node_modules/@types/ws": { + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/3d-force-graph": { + "version": "1.73.3", + "resolved": "https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz", + "integrity": "sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==", + "dependencies": { + "accessor-fn": "1", + "kapsule": "1", + "three": ">=0.118 <1", + "three-forcegraph": "1", + "three-render-objects": "^1.29" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accessor-fn": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz", + "integrity": "sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==", + "engines": { + "node": ">=12" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dependencies": { + "object-assign": "4.x" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "4.24.16", + "resolved": "https://registry.npmjs.org/antd/-/antd-4.24.16.tgz", + "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==", + "dependencies": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.8.2", + "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "lodash": "^4.17.21", + "moment": "^2.29.2", + "rc-cascader": "~3.7.3", + "rc-checkbox": "~3.0.1", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.3.0", + "rc-dropdown": "~4.0.1", + "rc-field-form": "~1.38.2", + "rc-image": "~5.13.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.3.11", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.4", + "rc-motion": "^2.9.0", + "rc-notification": "~4.6.1", + "rc-pagination": "~3.2.0", + "rc-picker": "~2.7.6", + "rc-progress": "~3.4.2", + "rc-rate": "~2.9.3", + "rc-resize-observer": "^1.3.1", + "rc-segmented": "~2.3.0", + "rc-select": "~14.1.18", + "rc-slider": "~10.0.1", + "rc-steps": "~5.0.0", + "rc-switch": "~3.2.2", + "rc-table": "~7.26.0", + "rc-tabs": "~12.5.10", + "rc-textarea": "~0.4.7", + "rc-tooltip": "~5.2.2", + "rc-tree": "~5.7.12", + "rc-tree-select": "~5.5.5", + "rc-trigger": "^5.3.4", + "rc-upload": "~4.3.6", + "rc-util": "^5.37.0", + "scroll-into-view-if-needed": "^2.2.25" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/antd/node_modules/rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", + "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "node_modules/async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", + "engines": { + "node": "*" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "dependencies": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/babel-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/babel-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-macros/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001651", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", + "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", + "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==" + }, + "node_modules/clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/coa/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", + "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "node_modules/cron-expression-validator": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz", + "integrity": "sha512-g0osBTdp+1ryDw2vzlG6UpDPaa4fO94ZChF2R0lEnRurbuUEL74XEVX7xZJ13m4Mq/gb3ni6UQu8+Oqt+eocsw==" + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-binarytree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz", + "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==" + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + }, + "node_modules/d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==" + }, + "node_modules/d3-force": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", + "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "dependencies": { + "d3-dispatch": "1 - 2", + "d3-quadtree": "1 - 2", + "d3-timer": "1 - 2" + } + }, + "node_modules/d3-force-3d": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz", + "integrity": "sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==", + "dependencies": { + "d3-binarytree": "1", + "d3-dispatch": "1 - 3", + "d3-octree": "1", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force/node_modules/d3-quadtree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-octree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz", + "integrity": "sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==" + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, + "node_modules/dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "dependencies": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "node_modules/dagre-compound": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/dagre-compound/-/dagre-compound-0.0.11.tgz", + "integrity": "sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==", + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "dagre": "^0.8.5" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-joint": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz", + "integrity": "sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==", + "dependencies": { + "index-array-by": "^1.4.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-urls/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + }, + "node_modules/dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/echarts": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz", + "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.0" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", + "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", + "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "dependencies": { + "aria-query": "~5.1.3", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.9.1", + "axobject-query": "~3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.19", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "dependencies": { + "fbjs": "^3.0.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "node_modules/fbjs/node_modules/ua-parser-js": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", + "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + }, + "node_modules/flux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", + "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "dependencies": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + }, + "peerDependencies": { + "react": "^15.0.2 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dependencies": { + "globule": "^1.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + }, + "node_modules/gl-vec2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.3.0.tgz", + "integrity": "sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globule": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "dependencies": { + "glob": "~7.1.1", + "lodash": "^4.17.21", + "minimatch": "~3.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/globule/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globule/node_modules/minimatch": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "dependencies": { + "lodash": "^4.17.15" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight-words-core": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", + "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==" + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "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" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/index-array-by": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz", + "integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/insert-css": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", + "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==" + }, + "node_modules/install": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", + "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-any-array": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-changed-files/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-node/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-haste-map/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-haste-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve-dependencies/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "node_modules/jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" + }, + "node_modules/js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/jsdom/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "dependencies": { + "string-convert": "^0.2.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kapsule": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz", + "integrity": "sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==", + "dependencies": { + "lodash-es": "4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.1.tgz", + "integrity": "sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memoize-one": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz", + "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==" + }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ml-array-max": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", + "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-array-min": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", + "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", + "dependencies": { + "is-any-array": "^2.0.0" + } + }, + "node_modules/ml-array-rescale": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", + "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", + "dependencies": { + "is-any-array": "^2.0.0", + "ml-array-max": "^1.2.4", + "ml-array-min": "^1.2.3" + } + }, + "node_modules/ml-matrix": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.11.1.tgz", + "integrity": "sha512-Fvp1xF1O07tt6Ux9NcnEQTei5UlqbRpvvaFZGs7l3Ij+nOaEDcmbSVtxwNa8V4IfdyFI1NLNUteroMJ1S6vcEg==", + "dependencies": { + "is-any-array": "^2.0.1", + "ml-array-rescale": "^1.3.7" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nan": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/ngraph.events": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz", + "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" + }, + "node_modules/ngraph.forcelayout": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz", + "integrity": "sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==", + "dependencies": { + "ngraph.events": "^1.0.0", + "ngraph.merge": "^1.0.0", + "ngraph.random": "^1.0.0" + } + }, + "node_modules/ngraph.graph": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz", + "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==", + "dependencies": { + "ngraph.events": "^1.2.1" + } + }, + "node_modules/ngraph.merge": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz", + "integrity": "sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==" + }, + "node_modules/ngraph.random": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz", + "integrity": "sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", + "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node_modules/node-sass": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz", + "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", + "deprecated": "Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.", + "hasInstallScript": true, + "dependencies": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "make-fetch-happen": "^10.0.4", + "meow": "^9.0.0", + "nan": "^2.17.0", + "node-gyp": "^8.4.1", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^2.2.1" + }, + "bin": { + "node-sass": "bin/node-sass" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-sass/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/node-sass/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-sass/node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-sass/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-sass/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/node-sass/node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/node-sass/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-sass/node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/node-sass/node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-sass/node_modules/node-gyp/node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-sass/node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/node-sass/node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/node-sass/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-sass/node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/node-sass/node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm": { + "version": "8.19.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz", + "integrity": "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==", + "bundleDependencies": [ + "@isaacs/string-locale-compare", + "@npmcli/arborist", + "@npmcli/ci-detect", + "@npmcli/config", + "@npmcli/fs", + "@npmcli/map-workspaces", + "@npmcli/package-json", + "@npmcli/run-script", + "abbrev", + "archy", + "cacache", + "chalk", + "chownr", + "cli-columns", + "cli-table3", + "columnify", + "fastest-levenshtein", + "fs-minipass", + "glob", + "graceful-fs", + "hosted-git-info", + "ini", + "init-package-json", + "is-cidr", + "json-parse-even-better-errors", + "libnpmaccess", + "libnpmdiff", + "libnpmexec", + "libnpmfund", + "libnpmhook", + "libnpmorg", + "libnpmpack", + "libnpmpublish", + "libnpmsearch", + "libnpmteam", + "libnpmversion", + "make-fetch-happen", + "minimatch", + "minipass", + "minipass-pipeline", + "mkdirp", + "mkdirp-infer-owner", + "ms", + "node-gyp", + "nopt", + "npm-audit-report", + "npm-install-checks", + "npm-package-arg", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "opener", + "p-map", + "pacote", + "parse-conflict-json", + "proc-log", + "qrcode-terminal", + "read", + "read-package-json", + "read-package-json-fast", + "readdir-scoped-modules", + "rimraf", + "semver", + "ssri", + "tar", + "text-table", + "tiny-relative-date", + "treeverse", + "validate-npm-package-name", + "which", + "write-file-atomic" + ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.2.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.2.1", + "abbrev": "~1.1.1", + "archy": "~1.0.0", + "cacache": "^16.1.3", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.2.1", + "ini": "^3.0.1", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.4", + "libnpmdiff": "^4.0.5", + "libnpmexec": "^4.0.14", + "libnpmfund": "^3.0.5", + "libnpmhook": "^8.0.4", + "libnpmorg": "^4.0.4", + "libnpmpack": "^4.1.3", + "libnpmpublish": "^6.0.5", + "libnpmsearch": "^5.0.4", + "libnpmteam": "^4.0.4", + "libnpmversion": "^3.0.7", + "make-fetch-happen": "^10.2.0", + "minimatch": "^5.1.0", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.1.0", + "nopt": "^6.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.1.0", + "npm-pick-manifest": "^7.0.2", + "npm-profile": "^6.2.0", + "npm-registry-fetch": "^13.3.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "p-map": "^4.0.0", + "pacote": "^13.6.2", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.2", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/@colors/colors": { + "version": "1.5.0", + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/@gar/promisify": { + "version": "1.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/arborist": { + "version": "5.6.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/query": "^1.2.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.3", + "cacache": "^16.1.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^5.2.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.2", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" + }, + "bin": { + "arborist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/ci-detect": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "node_modules/npm/node_modules/@npmcli/config": { + "version": "4.2.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/disparity-colors": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "ansi-styles": "^4.3.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/fs": { + "version": "2.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/git": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/@npmcli/installed-package-contents/node_modules/npm-bundled": { + "version": "1.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/@npmcli/map-workspaces": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { + "version": "3.1.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/move-file": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/name-from-folder": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/package-json": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/query": { + "version": "1.2.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.1.0", + "postcss-selector-parser": "^6.0.10", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/run-script": { + "version": "4.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/@tootallnate/once": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "6.0.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "4.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/npm/node_modules/aggregate-error": { + "version": "3.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bin-links": { + "version": "3.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/bin-links/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/binary-extensions": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm/node_modules/builtins": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "16.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/chalk": { + "version": "4.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "3.1.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^4.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/clean-stack": { + "version": "2.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.6.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mkdirp-infer-owner": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.4", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/color-support": { + "version": "1.1.3", + "inBundle": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/npm/node_modules/common-ancestor-path": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/cssesc": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "4.3.4", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/depd": { + "version": "1.1.2", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/diff": { + "version": "5.1.0", + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "8.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.13", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "2.0.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fastest-levenshtein": { + "version": "1.0.12", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "2.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "8.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.10", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "5.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "4.1.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "5.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "5.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "5.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/indent-string": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "3.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "2.0.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "4.3.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "4.0.2", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^3.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/is-core-module": { + "version": "2.10.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/is-lambda": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-stringify-nice": { + "version": "1.1.4", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff": { + "version": "5.1.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/just-diff-apply": { + "version": "5.4.1", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "6.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmdiff": { + "version": "4.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/disparity-colors": "^2.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1", + "tar": "^6.1.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmexec": { + "version": "4.0.14", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/fs": "^2.1.1", + "@npmcli/run-script": "^4.2.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "proc-log": "^2.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "semver": "^7.3.7", + "walk-up-path": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmfund": { + "version": "3.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/arborist": "^5.6.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "8.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpack": { + "version": "4.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/run-script": "^4.1.3", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "6.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "5.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "4.0.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/libnpmversion": { + "version": "3.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^4.1.3", + "json-parse-even-better-errors": "^2.3.1", + "proc-log": "^2.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "7.13.2", + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "10.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "5.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/minipass": { + "version": "3.3.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-collect": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-fetch": { + "version": "2.1.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm/node_modules/minipass-flush": { + "version": "1.0.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/minipass-json-stream": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/npm/node_modules/minipass-pipeline": { + "version": "1.2.4", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minipass-sized": { + "version": "1.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/minizlib": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "1.0.4", + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/mkdirp-infer-owner": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.3", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.8", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/negotiator": { + "version": "0.6.3", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "9.1.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.22 || ^14.13 || >=16" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { + "version": "5.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "4.0.1", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-bundled/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "5.0.0", + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "9.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "5.1.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "7.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "6.2.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "13.3.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "6.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/p-map": { + "version": "4.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "13.6.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/parse-conflict-json": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/postcss-selector-parser": { + "version": "6.0.10", + "inBundle": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/proc-log": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/promise-all-reject-late": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-call-limit": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC", + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "2.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "5.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/read-package-json-fast": { + "version": "2.0.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/read-package-json/node_modules/npm-normalize-package-bin": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "3.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "inBundle": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "inBundle": true, + "license": "MIT", + "optional": true + }, + "node_modules/npm/node_modules/semver": { + "version": "7.3.7", + "inBundle": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.7", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.2.0", + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.7.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.1.1", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.3.0", + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.11", + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/ssri": { + "version": "9.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string-width": { + "version": "4.2.3", + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "6.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "7.2.0", + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "6.1.11", + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/treeverse": { + "version": "2.0.0", + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "2.0.1", + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "3.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/walk-up-path": { + "version": "1.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "2.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.5", + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "4.0.2", + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm/node_modules/yallist": { + "version": "4.0.0", + "inBundle": true, + "license": "ISC" + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "deprecated": "This package is no longer supported.", + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-import/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/probe.gl": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/probe.gl/-/probe.gl-3.6.0.tgz", + "integrity": "sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "@probe.gl/env": "3.6.0", + "@probe.gl/log": "3.6.0", + "@probe.gl/stats": "3.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "engines": { + "node": ">=8" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rc-align": { + "version": "4.0.15", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz", + "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "rc-util": "^5.26.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-cascader": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.3.tgz", + "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz", + "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dialog": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.4.tgz", + "integrity": "sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-drawer": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.3.0.tgz", + "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-dropdown": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.6.2.tgz", + "integrity": "sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-trigger": "^5.0.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-field-form": { + "version": "1.38.2", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.38.2.tgz", + "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==", + "dependencies": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-image": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz", + "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.0.6" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-input-number": { + "version": "7.3.11", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.11.tgz", + "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-motion": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.2.tgz", + "integrity": "sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-notification": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.1.tgz", + "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.2.0", + "rc-util": "^5.20.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-picker": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.7.6.tgz", + "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "date-fns": "2.x", + "dayjs": "1.x", + "moment": "^2.24.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.37.0", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-progress": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz", + "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-rate": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.3.tgz", + "integrity": "sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } + }, + "node_modules/rc-select": { + "version": "14.1.18", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.18.tgz", + "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-steps": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz", + "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-switch": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz", + "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs": { + "version": "12.5.10", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.5.10.tgz", + "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tabs/node_modules/rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.11.0", + "react-dom": ">=16.11.0" + } + }, + "node_modules/rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-tree": { + "version": "5.7.12", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz", + "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + }, + "engines": { + "node": ">=10.x" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-upload": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.6.tgz", + "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/rc-util/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/rc-virtual-list": { + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz", + "integrity": "sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==", + "dependencies": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-app-polyfill/node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "dependencies": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "node_modules/react-color": { + "version": "2.19.3", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", + "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", + "dependencies": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.15", + "lodash-es": "^4.17.15", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-highlight-words": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.18.0.tgz", + "integrity": "sha512-5z+46eLPjB4JWgOhuQ0E+6iUPTD1U3amiy5KKjzZmeJ5zyvHr91hnzBT3UHya/KlySm5KRTKpYpba9vs67oO2A==", + "dependencies": { + "highlight-words-core": "^1.2.0", + "memoize-one": "^4.0.0", + "prop-types": "^15.5.8" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "dependencies": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + }, + "peerDependencies": { + "react": "^17.0.0 || ^16.3.0 || ^15.5.4", + "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-resize-detector": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-7.1.2.tgz", + "integrity": "sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==", + "dependencies": { + "lodash": "^4.17.21" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-router": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", + "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", + "dependencies": { + "@remix-run/router": "1.19.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", + "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", + "dependencies": { + "@remix-run/router": "1.19.1", + "react-router": "6.26.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/react-scripts/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-scripts/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", + "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "dependencies": { + "lodash": "^4.0.1" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/regl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", + "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "dependencies": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "bin": { + "sassgraph": "bin/sassgraph" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-graph/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/screenfull": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-6.0.2.tgz", + "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==", + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, + "node_modules/scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "dependencies": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "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" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dependencies": { + "readable-stream": "^2.0.1" + } + }, + "node_modules/stdout-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/stdout-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "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" + } + }, + "node_modules/stdout-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/stdout-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string.prototype.includes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", + "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "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" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tailwindcss": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", + "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/three": { + "version": "0.167.1", + "resolved": "https://registry.npmjs.org/three/-/three-0.167.1.tgz", + "integrity": "sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==" + }, + "node_modules/three-forcegraph": { + "version": "1.41.14", + "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz", + "integrity": "sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==", + "dependencies": { + "accessor-fn": "1", + "d3-array": "1 - 3", + "d3-force-3d": "2 - 3", + "d3-scale": "1 - 4", + "d3-scale-chromatic": "1 - 3", + "data-joint": "1", + "kapsule": "1", + "ngraph.forcelayout": "3", + "ngraph.graph": "20", + "tinycolor2": "1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "three": ">=0.118.3" + } + }, + "node_modules/three-render-objects": { + "version": "1.29.4", + "resolved": "https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz", + "integrity": "sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==", + "dependencies": { + "@tweenjs/tween.js": "18 - 23", + "accessor-fn": "1", + "kapsule": "1", + "polished": "4" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "three": "*" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "engines": { + "node": ">=12.22" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.38", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz", + "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vis-network": { + "version": "9.1.9", + "resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.9.tgz", + "integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/visjs" + }, + "peerDependencies": { + "@egjs/hammerjs": "^2.0.0", + "component-emitter": "^1.3.0", + "keycharm": "^0.2.0 || ^0.3.0 || ^0.4.0", + "uuid": "^3.4.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", + "vis-data": "^6.3.0 || ^7.0.0", + "vis-util": "^5.0.1" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/whatwg-url/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/package.json b/hugegraph-hubble/hubble-fe-new/package.json new file mode 100644 index 000000000..042016539 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/package.json @@ -0,0 +1,78 @@ +{ + "name": "hubble", + "version": "0.1.0", + "private": true, + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@antv/g6": "^4.6.15", + "@antv/graphin": "^2.7.12", + "@antv/graphin-components": "^2.4.0", + "@antv/graphin-icons": "^1.0.0", + "@antv/x6": "^1.34.6", + "@antv/x6-react-components": "^1.1.20", + "@antv/x6-react-shape": "^1.6.3", + "@babel/eslint-plugin": "^7.18.10", + "@testing-library/jest-dom": "^5.16.4", + "@testing-library/react": "^13.3.0", + "@testing-library/user-event": "^13.5.0", + "3d-force-graph": "^1.71.2", + "ajv": "8.17.1", + "antd": "^4.23.1", + "axios": "^0.27.2", + "codemirror": "^6.0.1", + "cron-expression-validator": "^1.0.20", + "date-fns": "^2.29.3", + "echarts": "^5.4.1", + "http-proxy-middleware": "^2.0.6", + "install": "^0.13.0", + "json-bigint": "^1.0.0", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "node-gyp": "^9.4.0", + "node-sass": "^9.0.0", + "npm": "^8.13.2", + "react": "^18.2.0", + "react-color": "^2.19.3", + "react-dom": "^18.2.0", + "react-highlight-words": "^0.18.0", + "react-json-view": "^1.21.3", + "react-router-dom": "^6.3.0", + "react-scripts": "5.0.1", + "screenfull": "^6.0.2", + "typescript": "^4.7.4", + "validator": "^13.7.0", + "vis-network": "^9.1.2", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "@ecomfe/eslint-config": "^7.4.0", + "@ecomfe/stylelint-config": "^1.1.2", + "eslint": "^8.19.0", + "eslint-plugin-react": "^7.30.1", + "resize-observer-polyfill": "^1.5.1" + } +} diff --git a/hugegraph-hubble/hubble-fe/public/favicon.ico b/hugegraph-hubble/hubble-fe-new/public/favicon.ico similarity index 100% rename from hugegraph-hubble/hubble-fe/public/favicon.ico rename to hugegraph-hubble/hubble-fe-new/public/favicon.ico diff --git a/hugegraph-hubble/hubble-fe-new/public/index.html b/hugegraph-hubble/hubble-fe-new/public/index.html new file mode 100644 index 000000000..97e58c3b6 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/public/index.html @@ -0,0 +1,52 @@ + + + + + + + + + + + + + 数据管理平台 + + + + +
+ + + diff --git a/hugegraph-hubble/hubble-fe-new/public/logo192.png b/hugegraph-hubble/hubble-fe-new/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/hugegraph-hubble/hubble-fe/public/manifest.json b/hugegraph-hubble/hubble-fe-new/public/manifest.json similarity index 62% rename from hugegraph-hubble/hubble-fe/public/manifest.json rename to hugegraph-hubble/hubble-fe-new/public/manifest.json index 1f2f141fa..080d6c77a 100644 --- a/hugegraph-hubble/hubble-fe/public/manifest.json +++ b/hugegraph-hubble/hubble-fe-new/public/manifest.json @@ -6,6 +6,16 @@ "src": "favicon.ico", "sizes": "64x64 32x32 24x24 16x16", "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" } ], "start_url": ".", diff --git a/hugegraph-hubble/hubble-fe-new/public/robots.txt b/hugegraph-hubble/hubble-fe-new/public/robots.txt new file mode 100644 index 000000000..e9e57dc4d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/hugegraph-hubble/hubble-fe-new/src/App.css b/hugegraph-hubble/hubble-fe-new/src/App.css new file mode 100644 index 000000000..5896ac461 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/App.css @@ -0,0 +1,74 @@ +.form_attr_add { + border: 1px dashed #40a9ff; + text-align: center; + padding: 4px; + cursor: pointer; +} + +.form_attr_select { + display: inline-block; + width: calc(25% - 12px); + width: 120px; +} + +.form_attr_val { + display: inline-block; + width: 120px; +} + +.form_attr_split { + display: inline-block; + width: 24px; + line-height: 32px; + text-align: center; +} + +.form_attr_border { + border: 1px dashed #2f54eb; + padding: 20px; + margin-bottom: 10px; +} + +.form_attr_button, +.form_attr_table { + margin-bottom: 10px; +} + +.ant-layout-sider-trigger { + border-top: 1px solid rgba(0, 0, 0, .06); +} + +/* .ant-modal-content { + width: 600px; +} */ + +.ant-modal-body { + max-height: 488px; + overflow: auto; +} + +.ant-menu-sub.ant-menu-inline { + background-color: #fff; +} + +.ant-page-header { + padding: 24px 10px 24px; +} + +.ant-page-header-content { + padding-top: 24px; +} + +/* csslint ignore:start */ +.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { + width: 0; +} +/* csslint ignore:end */ + +.ant-table-tbody > tr > td { + border-bottom: 0; +} + +.ant-table-tbody .ant-empty-normal { + margin: 200px 0; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/App.js b/hugegraph-hubble/hubble-fe-new/src/App.js new file mode 100644 index 000000000..4ffb86392 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/App.js @@ -0,0 +1,16 @@ +import Route from './routes'; +import 'antd/dist/antd.css'; +import './App.scss'; +import './App.css'; +import Layout from './layout.ant'; + +function App() { + + return ( +
+ } /> +
+ ); +}; + +export default App; diff --git a/hugegraph-hubble/hubble-fe-new/src/App.scss b/hugegraph-hubble/hubble-fe-new/src/App.scss new file mode 100644 index 000000000..f2897bfb2 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/App.scss @@ -0,0 +1,26 @@ +iframe { + border: medium none; +} + +.main { + min-height: calc(100vh - 60px); + + .content { + display: flex; + flex-direction: column; + padding: 10px; + + .container { + background: #fff; + padding-left: 25px; + margin-top: 10px; + + padding: 10px; + flex: 1 auto; + } + } + + .center { + text-align: center; + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/App.test.js b/hugegraph-hubble/hubble-fe-new/src/App.test.js new file mode 100644 index 000000000..1f03afeec --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/App.test.js @@ -0,0 +1,8 @@ +import { render, screen } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + render(); + const linkElement = screen.getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/hugegraph-hubble/hubble-fe-new/src/api/analysis.js b/hugegraph-hubble/hubble-fe-new/src/api/analysis.js new file mode 100644 index 000000000..1f88169e9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/analysis.js @@ -0,0 +1,185 @@ +import request from './request'; +import qs from 'qs'; + +// 图分析通用 +const getGraphSpaceList = () => { + return request.get('/graphspaces/list'); +}; + +const getGraphList = graphSpace => { + return request.get(`/graphspaces/${graphSpace}/graphs/list`); +}; + +const getOlapMode = (graphSpace, graph) => { + return request.get(`/graphspaces/${graphSpace}/graphs/${graph}/graph_read_mode`); +}; + +const switchOlapMode = (graphSpace, graph, params) => { + return request.put(`/graphspaces/${graphSpace}/graphs/${graph}/graph_read_mode`, params); +}; + +const getUploadList = (graphspace, graph) => { + return `/api/v1.3//graphspaces/${graphspace}/graphs/${graph}/import`; +}; + +const getMetaEdgeList = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels`); +}; + +const getMetaVertexList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels`); +}; + +const updateVertexProperties = (graphspace, graph, params) => { + return request.put(`/graphspaces/${graphspace}/graphs/${graph}/vertex/${params.id}`, params); +}; + +const updateEdgeProperties = (graphspace, graph, params) => { + return request.put(`/graphspaces/${graphspace}/graphs/${graph}/edge/${params.id}`, params); +}; + +const getVertexProperties = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/vertexlabel/${params}`); +}; + +const getEdgeProperties = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/edgelabel/${params}`); +}; + +const getExecutionLogs = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/execute-histories`, {params}); +}; + +const getExecutionQuery = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/gremlin-query`, params); +}; + +const getGraphData = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/gremlin-query`); +}; + +const putExecutionQuery = (graphspace, graph, params) => { + return request.put(`/graphspaces/${graphspace}/graphs/${graph}/gremlin-query`, params); +}; + +const getCypherExecutionQuery = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/cypher`, {params}); +}; + +const getExecutionTask = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/gremlin-query/async-task`, params); +}; + +const getCypherTask = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/cypher/async-task`, params); +}; + +const fetchManageTaskList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/async-tasks?`, {params}); +}; + +const addFavoriate = (graphspace, graph, params) => { + return request.post(`graphspaces/${graphspace}/graphs/${graph}/gremlin-collections`, params); +}; + +const deleteQueryCollection = (graphspace, graph, id) => { + return request.delete(`graphspaces/${graphspace}/graphs/${graph}/gremlin-collections/${id}`); +}; + +const editQueryCollection = (graphspace, graph, parmas) => { + return request.put(`graphspaces/${graphspace}/graphs/${graph}/gremlin-collections/${parmas.id}`, parmas); +}; + +const fetchFavoriteQueries = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/gremlin-collections?`, {params}); +}; + +const addGraphNode = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/vertex`, params); +}; + +const fetchEdgeLabels = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels/${params}`); +}; + +const fetchVertexlinks = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/${params}/link`); +}; + +const addEdge = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/edge`, params); +}; + + +// 图算法 +const postOlapInfo = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/algorithms/olap`, data); +}; + +const runOltpInfo = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/algorithms/oltp/` + data.algorithmName, data); +}; + +const runOlapVermeer = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/algorithms/vermeer`, {params}); +}; + +// 任务管理 +const fetchAsyncTaskResult = (graphspace, graph, taskId) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/async-tasks/${taskId}`); +}; + +const deleteAsyncTask = (graphspace, graph, selectedTaskIds) => { + const params = qs.stringify(selectedTaskIds, {arrayFormat: 'repeat'}); + return request.delete(`/graphspaces/${graphspace}/graphs/${graph}/async-tasks?` + params); +}; + +const abortAsyncTask = (graphspace, graph, taskId) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/async-tasks/cancel/${taskId}`); +}; + +const getExecuteAsyncTaskList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/execute-histories`, {params}); +}; + +const loadVermeerTask = params => { + return request.post('/vermeer/task', {...params}); +}; + +export { + getGraphSpaceList, + getGraphList, + getOlapMode, + switchOlapMode, + getExecutionLogs, + getExecutionQuery, + getGraphData, + putExecutionQuery, + getExecutionTask, + getCypherTask, + fetchManageTaskList, + addFavoriate, + postOlapInfo, + runOltpInfo, + runOlapVermeer, + fetchAsyncTaskResult, + addGraphNode, + deleteAsyncTask, + abortAsyncTask, + getMetaEdgeList, + getMetaVertexList, + deleteQueryCollection, + editQueryCollection, + fetchFavoriteQueries, + getUploadList, + updateVertexProperties, + updateEdgeProperties, + getCypherExecutionQuery, + getVertexProperties, + getEdgeProperties, + getExecuteAsyncTaskList, + fetchEdgeLabels, + fetchVertexlinks, + addEdge, + loadVermeerTask, +}; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/auth.js b/hugegraph-hubble/hubble-fe-new/src/api/auth.js new file mode 100644 index 000000000..af9575af9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/auth.js @@ -0,0 +1,199 @@ +import request from './request'; +import qs from 'qs'; + +// login +const login = data => { + return request.post('/auth/login', data); +}; + +const logout = () => { + return request.get('/auth/logout'); +}; + +const status = () => { + return request.get('/auth/status'); +}; + +const getUserList = params => { + return request.get('/auth/users/list', {params}); +}; + +const getAllUserList = params => { + return request.get('/auth/users', {params}); +}; + +const getUserInfo = username => { + return request.get(`/auth/users/${username}`); +}; + +const updateUser = (id, data) => { + return request.put(`/auth/users/${id}`, data); +}; + +const delUser = id => { + return request.delete(`/auth/users/${id}`); +}; + +const updateAdminspace = (username, data) => { + return request.post(`/auth/users/updateadminspace/${username}`, data); +}; + +const addUser = data => { + return request.post('/auth/users', data); +}; + +const updatePwd = (username, oldpwd, newpwd) => { + return request.post('/auth/users/updatepwd', {username, oldpwd, newpwd}); +}; + +const importUserUrl = '/api/v1.3/auth/users/batch'; + +export {login, logout, status, getUserList, getAllUserList, getUserInfo, delUser, + updateUser, addUser, updatePwd, importUserUrl, updateAdminspace}; + +// resource + +const getResourceList = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/auth/targets`, {params}); +}; + +const addResource = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/targets`, data); +}; + +const updateResource = (graphspace, id, data) => { + return request.put(`/graphspaces/${graphspace}/auth/targets/${id}`, data); +}; + +const getResource = (graphspace, id) => { + return request.get(`/graphspaces/${graphspace}/auth/targets/${id}`); +}; + +const delResource = (graphspace, id) => { + return request.delete(`/graphspaces/${graphspace}/auth/targets/${id}`); +}; + +export {getResourceList, addResource, updateResource, getResource, delResource}; + +// role + +const getRoleList = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/auth/roles`, {params}); +}; + +const getAllRoleList = graphspace => { + return request.get(`/graphspaces/${graphspace}/auth/roles/list`); +}; + +const addRole = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/roles`, data); +}; + +const updateRole = (graphspace, id, data) => { + return request.put(`/graphspaces/${graphspace}/auth/roles/${id}`, data); +}; + +const delRole = (graphspace, id) => { + return request.delete(`/graphspaces/${graphspace}/auth/roles/${id}`); +}; + +const delRoleBatch = (graphspace, data) => { + return request.delete(`/graphspaces/${graphspace}/auth/roles/`, data); +}; + +const getRoleResourceList = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/auth/accesses`, {params}); +}; + +const addRoleResource = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/accesses`, data); +}; + +const updateRoleResource = (graphspace, data) => { + return request.put(`/graphspaces/${graphspace}/auth/accesses`, data); +}; + +const delRoleResource = (graphspace, data) => { + return request.delete(`/graphspaces/${graphspace}/auth/accesses`, data); +}; + +const getRoleUser = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/auth/belongs`, {params}); +}; + +const addRoleUser = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/belongs`, data); +}; + +const addRoleUserBatch = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/belongs/ids`, data); +}; + +const delRoleUser = (graphspace, id) => { + return request.delete(`/graphspaces/${graphspace}/auth/belongs/${id}`); +}; + +const delRoleUserBatch = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/auth/belongs/delids`, data); +}; + +export { + getRoleList, getAllRoleList, addRole, updateRole, delRole, delRoleBatch, + getRoleResourceList, addRoleResource, updateRoleResource, delRoleResource, + getRoleUser, addRoleUser, addRoleUserBatch, delRoleUser, delRoleUserBatch, +}; + +const getPersonal = () => { + return request.get('/auth/users/getpersonal'); +}; + +const updatePersonal = params => { + return request.get('/auth/users/updatepersonal', {params}); +}; + +export {getPersonal, updatePersonal}; + +const getDashboard = () => { + return request.get('/dashboard'); +}; + +const getVermeer = () => { + return request.get('/vermeer'); +}; + +export {getDashboard, getVermeer}; + +// saas TODO REMOVED +const getUUapList = params => { + return request.get('/uic/list', {params}); +}; + +const getSuperUser = params => { + return request.get('/auth/users/super', {params}); +}; + +const addSuperUser = data => { + return request.post('/auth/users/super', + qs.stringify(data), + {headers: {'Content-Type': 'application/x-www-form-urlencoded'}} + ); +}; + +const addUuapUser = data => { + return request.post('/auth/users/uuap', + qs.stringify(data), + {headers: {'Content-Type': 'application/x-www-form-urlencoded'}} + ); + + // return request.post('/auth/users/uuap', data); +}; + +const removeSuperUser = username => { + return request.delete(`/auth/users/super/${username}`); +}; + +const getAccountsList = username => { + return request.get('/uic/accounts', {params: {username}}); +}; + +export {getUUapList, getSuperUser, addSuperUser, addUuapUser, removeSuperUser, getAccountsList}; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/cloud.js b/hugegraph-hubble/hubble-fe-new/src/api/cloud.js new file mode 100644 index 000000000..e6729edef --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/cloud.js @@ -0,0 +1,36 @@ +// import request from './request'; +// TODO REMOVED +// const getAccountsList = username => { +// return request.get('/uic/accounts', {params: {username}}); +// }; +// +// const getOrderList = params => { +// return request.get('/order', {params}); +// }; +// +// const getOrder = id => { +// return request.get(`/order/${id}`); +// }; +// +// const updateOrder = (id, data) => { +// return request.put(`/order/${id}`, data); +// }; +// +// const updateOrderStatus = (id, status) => { +// return request.put(`/order/${id}/status`, {status}); +// }; +// +// const createOrder = data => { +// return request.post('/order', data); +// // return request.post1('/settle', qs.stringify(data), +// // {headers: {'Content-Type': 'application/x-www-form-urlencoded'}}); +// }; +// +// const getBillList = params => { +// return request.get('/bill', {params}); +// }; +// +// export { +// getAccountsList, createOrder, getOrderList, getOrder, updateOrder, updateOrderStatus, +// getBillList, +// }; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/index.js b/hugegraph-hubble/hubble-fe-new/src/api/index.js new file mode 100644 index 000000000..0f2be36f7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/index.js @@ -0,0 +1,9 @@ +import request from './request'; +import * as manage from './manage'; +import * as auth from './auth'; +import * as analysis from './analysis'; +import * as cloud from './cloud'; + +const uploadUrl = '/api/v1.3/ingest/files/upload'; + +export {request, manage, auth, analysis, cloud, uploadUrl}; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/manage.js b/hugegraph-hubble/hubble-fe-new/src/api/manage.js new file mode 100644 index 000000000..c4b9bf7c8 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/manage.js @@ -0,0 +1,350 @@ +import request from './request'; +import qs from 'qs'; + +// 图空间 +const getGraphSpaceList = params => { + return request.get('/graphspaces', {params}); +}; + +const getGraphSpace = graphspace => { + return request.get(`/graphspaces/${graphspace}`); +}; + +const addGraphSpace = data => { + return request.post('/graphspaces', data); +}; + +const updateGraphSpace = (graphspace, data) => { + return request.put(`/graphspaces/${graphspace}`, data); +}; + +const delGraphSpace = graphspace => { + return request.delete(`/graphspaces/${graphspace}`); +}; + +const setDefaultGraphSpace = graphspace => { + return request.get(`/graphspaces/${graphspace}/setdefault`); +}; + +const getDefaultGraphSpace = () => { + return request.get('/graphspaces/getdefault'); +}; + +const initBuiltin = params => { + return request.post('/graphspaces/builtin', params); +}; + +export {getGraphSpace, getGraphSpaceList, addGraphSpace, updateGraphSpace, + delGraphSpace, setDefaultGraphSpace, getDefaultGraphSpace, initBuiltin}; + +// schema +const getSchemaList = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/schematemplates`, {params}); +}; + +const addSchema = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/schematemplates`, data); +}; + +const getSchema = (graphspace, name) => { + return request.get(`graphspaces/${graphspace}/schematemplates/${name}`); +}; + +const getGraphSchema = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/groovy`); +}; + +const exportSchema = (graphspace, graph) => { + return request.get(`graphspaces/${graphspace}/graphs/${graph}/schema/groovy/export`); +}; + +const updateSchema = (graphspace, name, data) => { + return request.put(`graphspaces/${graphspace}/schematemplates/${name}`, data); +}; + +const delSchema = (graphspace, name) => { + return request.delete(`graphspaces/${graphspace}/schematemplates/${name}`); +}; + +export {getSchemaList, addSchema, updateSchema, getSchema, getGraphSchema, exportSchema, delSchema}; + +// 图 +const getGraphList = (graphspace, params) => { + return request.get(`/graphspaces/${graphspace}/graphs`, {params}); +}; + +const addGraph = (graphspace, data) => { + return request.post(`/graphspaces/${graphspace}/graphs`, + qs.stringify(data), + {headers: {'Content-Type': 'application/x-www-form-urlencoded'}} + ); +}; + +const updateGraph = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/update`, {params}); +}; + +const getGraph = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/get`); +}; + +const delGraph = (graphspace, graph) => { + return request.delete(`/graphspaces/${graphspace}/graphs/${graph}`); +}; + +const getGraphView = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/graphview`); +}; + +const setDefaultGraph = (graphspace, graph) => { + return request.get(`graphspaces/${graphspace}/graphs/${graph}/setdefault`); +}; + +const getDefaultGraph = graphspace => { + return request.get(`graphspaces/${graphspace}/graphs/getdefault`); +}; + +const clearGraphData = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/truncate`, { + params: {clear_schema: false, clear_data: true}, + }); +}; + +const clearGraphDataAndSchema = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/truncate`, {params: {clear_schema: true}}); +}; + +const getGraphStatistic = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/statistics`); +}; + +const updateGraphStatistic = (graphspace, graph) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/statistics`); +}; + +// no-use +const getGraphStorage = (graphspace, graph) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/storage`); +}; + +const cloneGraph = (graphspace, graph, params) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/clone`, params); +}; + +export {getGraphList, getGraph, addGraph, updateGraph, delGraph, getDefaultGraph, + getGraphView, clearGraphData, setDefaultGraph, clearGraphDataAndSchema, + getGraphStatistic, updateGraphStatistic, getGraphStorage, cloneGraph}; + +// meta property +const getMetaPropertyList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertykeys`, {params}); +}; + +const addMetaProperty = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertykeys`, data); +}; + +const checkMetaProperty = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertykeys/check_using`, data); +}; + +const updateMetaProperty = () => {}; + +const delMetaProperty = (graphspace, graph, data) => { + const {names} = data; + const str = names.map(name => 'names=' + encodeURIComponent(name)).join('&'); + const skip_using = String(names.length !== 1); + + // return request.delete(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertykeys`, data); + return request.delete( + `/graphspaces/${graphspace}/graphs/${graph}/schema/propertykeys?${str}&skip_using=${skip_using}`); +}; + +export {getMetaPropertyList, addMetaProperty, updateMetaProperty, delMetaProperty, checkMetaProperty}; + +// meta vertex +const getMetaVertexList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels`, {params}); +}; + +const getMetaVertex = (graphspace, graph, name) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/${name}`); +}; + +const getMetaVertexLink = (graphspace, graph, name) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/${name}/link`); +}; + +const getMetaVertexNew = (graphspace, graph, name) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/${name}/new`); +}; + +const addMetaVertex = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels`, data); +}; + +const addMetaVertexNew = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/create_new`, data); +}; + +const checkMetaVertex = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/check_using`, data); +}; + +const updateMetaVertex = (graphspace, graph, name, data) => { + return request.put(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels/${name}`, data); +}; + +const delMetaVertex = (graphspace, graph, data) => { + // return request.delete(`/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels`, data); + + const {names} = data; + const str = names.map(name => 'names=' + encodeURIComponent(name)).join('&'); + const skip_using = String(names.length !== 1); + + return request.delete( + `/graphspaces/${graphspace}/graphs/${graph}/schema/vertexlabels?${str}&skip_using=${skip_using}`); +}; + +export {getMetaVertexList, addMetaVertex, updateMetaVertex, delMetaVertex, checkMetaVertex, getMetaVertex, + getMetaVertexNew, addMetaVertexNew, getMetaVertexLink}; + +// meta edge +const getMetaEdgeList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels`, {params}); +}; + +const getMetaEdge = (graphspace, graph, name) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels/${name}`); +}; + +const addMetaEdge = (graphspace, graph, data) => { + return request.post(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels`, data); +}; + +const updateMetaEdge = (graphspace, graph, name, data) => { + return request.put(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels/${name}`, data); +}; + +const delMetaEdge = (graphspace, graph, data) => { + // return request.delete(`/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels`, data); + + const {names} = data; + const str = names.map(name => 'names=' + encodeURIComponent(name)).join('&'); + const skip_using = String(names.length !== 1); + + return request.delete( + `/graphspaces/${graphspace}/graphs/${graph}/schema/edgelabels?${str}&skip_using=${skip_using}`); +}; + +export {getMetaEdgeList, getMetaEdge, addMetaEdge, updateMetaEdge, delMetaEdge}; + +// meta vertex index +const getMetaVertexIndexList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertyindexes?is_vertex_label=true`, + {params}); +}; + +// meta edge index +const getMetaEdgeIndexList = (graphspace, graph, params) => { + return request.get(`/graphspaces/${graphspace}/graphs/${graph}/schema/propertyindexes?is_vertex_label=false`, + {params}); +}; + +export {getMetaVertexIndexList, getMetaEdgeIndexList}; + +// datasource +const testhost = '/ingest'; +const getDatasourceList = params => { + // return request.get('/datasources/list', data); + return request.get(`${testhost}/datasources/list`, {params}); +}; + +const getDatasource = id => { + // return request.get(`/datasources/${id}`); + return request.get(`${testhost}/datasources/${id}`); +}; + +const addDatasource = data => { + // return request.post('/datasources', data); + return request.post(`${testhost}/datasources`, data); +}; + +// const updateDatasource = () => {}; + +const delDatasource = id => { + // return request.delete(`/datasources/${id}`); + return request.delete(`${testhost}/datasources/${id}`); +}; + +const delBatchDatasource = data => { + return request.post(`${testhost}/datasources/delete`, data); +}; + +const getDatasourceSchema = datasourceID => { + return request.get(`${testhost}/schemas`, {params: {datasource: datasourceID}}); +}; + +const checkJDBC = data => { + return request.post(`${testhost}/jdbc/check`, data); +}; + + +const datasourceUploadUrl = '/api/v1.3/ingest/files/upload'; + +export {getDatasource, getDatasourceList, addDatasource, delDatasource, + getDatasourceSchema, delBatchDatasource, checkJDBC, datasourceUploadUrl}; + +// task +const addTask = data => { + return request.post(`${testhost}/tasks`, data, { + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + }, + }); +}; + +const getTaskList = params => { + return request.get(`${testhost}/tasks/list`, {params}); +}; + +const getTaskDetail = id => { + return request.get(`${testhost}/tasks/${id}`); +}; + +const deleteTask = id => { + return request.delete(`${testhost}/tasks/${id}`); +}; + +const disableTask = id => { + return request.put(`${testhost}/tasks/${id}/disable`); +}; + +const enableTask = id => { + return request.put(`${testhost}/tasks/${id}/enable`); +}; + +const updateTask = (id, data) => { + return request.put(`${testhost}/tasks/${id}`, data); +}; + +const getMetricsTask = () => { + return request.get(`${testhost}/metrics/task`); +}; + +export {addTask, getTaskList, getTaskDetail, deleteTask, disableTask, enableTask, updateTask, getMetricsTask}; + +// job +const getJobsList = params => { + return request.get(`${testhost}/jobs/list`, {params}); +}; + +const getJobsDetail = id => { + return request.get(`${testhost}/jobs/${id}`); +}; + +const deleteJobs = id => { + return request.delete(`${testhost}/jobs/${id}`); +}; + +export {getJobsList, getJobsDetail, deleteJobs}; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/request.js b/hugegraph-hubble/hubble-fe-new/src/api/request.js new file mode 100644 index 000000000..b5a6daf5c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/request.js @@ -0,0 +1,96 @@ +import axios from 'axios'; +import {message} from 'antd'; +import JSONbig from 'json-bigint'; +import _ from 'lodash'; + +const instance = axios.create({ + baseURL: '/api/v1.3', + withCredentials: true, + // 后端请求时延为30s,30s后后端统一处理返回400报错,这里设置31s为了尽可能不走timeout逻辑拿到超时报错。 + timeout: 31000, + transformResponse: [data => { + return JSONbig.parse(data); + }], +}); + +instance.interceptors.request.use( + config => { + if (!config.headers['Content-Type']) { + config.data = JSON.stringify(config.data); + config.headers = { + 'Content-Type': 'application/json;charset=UTF-8', + }; + } + return config; + }, + error => { + return Promise.reject(error); + } +); + +instance.interceptors.response.use( + response => { + if (response.data.status !== 200 && response.data.status !== 401) { + if (!_.isEmpty(response.data.message)) { + message.error(response.data.message); + } + } + else if (response.data.status === 401) { + // message.error('授权过期'); + localStorage.setItem('user', ''); + // storageFn.removeStorage(['lg','userInfo','tenant']) + // setTimeout(() => { + // window.location = '/check'; + // }, 700); + } + return response; + }, + error => { + // if (!error.response) { + // setTimeout(() => { + // window.location = '/check'; + // }, 700); + + // return; + // } + const res = error.response?.data; + message.error(`请求出错:${res.message ?? ''},path:${res.path}`); + } +); + +const request = {}; + +request.get = async (url, params) => { + const resposne = await instance.get(`${url}`, params); + return resposne?.data; +}; + +request.post = async (url, params, config) => { + const resposne = await instance.post( + `${url}`, + params, + config + ); + + return resposne?.data; +}; + +request.put = async (url, params) => { + const resposne = await instance.put( + `${url}`, + params + ); + + return resposne?.data; +}; + +request.delete = async (url, params) => { + const resposne = await instance.delete( + `${url}`, + {params} + ); + + return resposne?.data; +}; + +export default request; diff --git a/hugegraph-hubble/hubble-fe-new/src/api/request2.js b/hugegraph-hubble/hubble-fe-new/src/api/request2.js new file mode 100644 index 000000000..c4ae62456 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/api/request2.js @@ -0,0 +1,109 @@ +import axios from 'axios'; +import {message} from 'antd'; +import JSONbig from 'json-bigint'; +import _ from 'lodash'; +import qs from 'qs'; + +const instance = axios.create({ + baseURL: '/api/v1.3', + withCredentials: true, + // 后端请求时延为30s,30s后后端统一处理返回400报错,这里设置31s为了尽可能不走timeout逻辑拿到超时报错。 + timeout: 31000, + transformResponse: [data => { + return JSONbig.parse(data); + }], +}); + +instance.interceptors.request.use( + config => { + if (!config.headers['Content-Type']) { + // config.data = JSON.stringify(config.data); + config.headers = { + 'Content-Type': 'application/x-www-form-urlencoded', + }; + } + return config; + }, + error => { + return Promise.reject(error); + } +); + +instance.interceptors.response.use( + response => { + if (response.data.status !== 200 && response.data.status !== 401) { + if (!_.isEmpty(response.data.message)) { + message.error(response.data.message); + } + } + else if (response.data.status === 401) { + // message.error('授权过期'); + localStorage.setItem('user', ''); + // storageFn.removeStorage(['lg','userInfo','tenant']) + setTimeout(() => { + window.location = '/check'; + }, 700); + } + return response; + }, + error => { + if (!error.response) { + setTimeout(() => { + window.location = '/check'; + }, 700); + + return; + } + const res = error.response?.data; + message.error(`请求出错:${res.message ?? ''},path:${res.path}`); + } +); + +const request = {}; + +request.get = async (url, params) => { + const resposne = await instance.get(`${url}`, params); + return resposne?.data; +}; + +request.post = async (url, params, config) => { + console.log(params, qs.stringify(params)); + const resposne = await instance.post( + `${url}`, + qs.stringify(params), + config + ); + + return resposne?.data; +}; + +request.post1 = async (url, params, config) => { + console.log(params, qs.stringify(params)); + const resposne = await instance.post( + `${url}`, + params, + config + ); + + return resposne?.data; +}; + +request.put = async (url, params) => { + const resposne = await instance.put( + `${url}`, + params + ); + + return resposne?.data; +}; + +request.delete = async (url, params) => { + const resposne = await instance.delete( + `${url}`, + {params} + ); + + return resposne?.data; +}; + +export default request; diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/canvas_bg.png b/hugegraph-hubble/hubble-fe-new/src/assets/canvas_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..1fef89309bf6c8060be2955b902bff9f7e92bc42 GIT binary patch literal 980 zcmaJ=PiWIn7>}!rF*Yc;gARm8hN58euT8py#nCp2E0|fjf<5}0ytT1QUQAwXI(BiM z1}a`Wi-@q3M-TqNdGzi{5JbEy=v`mhwezqUczN%Ae81oK`~JMW+WNKm*~M9gVdkrA zMxE{p>6)3Q|A%|$=jnEim`$>QH%T8xh$*?ag+SGZZB$3l9o+edRv0F8!D}>0)4r}b z*ymvC!zF%5(G0V)nuO5lA_7{d?FBmfgA`m40RuF56&JKAsdQQze3x+PFtFt3fO}hpvI6^??l$;|LmO)YFM5Q3) zl`B9JM3onoc`=_8L`_gMxd;wFmPU)*O|5QNhq35QXFG(18qfFpeXgJ9aMb2SRizvf zFG)G-k&6cbfk`fim&ObRik-*{iH8G_GQt+_5uK$gf@r|%R~#tCotqiPDoQ4 zJKFaDU44Jz9g{jb(t9j%+!%z2ucH|EB8N6^b14lKYLy5~ zs$;Byot}>ZGRC?SY*9E7n@)ot(#Qsiyt~M?BJ6`<)|z*WmZDWwEmN&fKI3>TBdmL( z7R5YK3s1%HX>b4O_1HuQC_PRlmtH2bj{-XI5uNO{od-AQt1zoZsgZncz5Vt5MLv_c zuV$Z~{`PKeVd^4yHPuq~pUr&|exA+#*?s-EbujZ=%E+hAWS)H3zxRCl(c<#$uUR<@ Y4w%}`?4Y;%1*Y$;YOWhE%eQv_0{v?*=>Px# literal 0 HcmV?d00001 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow.svg similarity index 53% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow.svg index 1885992f9..84dee3a7a 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow.svg @@ -1,21 +1,4 @@ - - 直线 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_selected.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow_selected.svg similarity index 51% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_selected.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow_selected.svg index e76ff5eb6..d952a47fc 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_arrow_selected.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_arrow_selected.svg @@ -1,21 +1,4 @@ - - 直线 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_normal.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_normal.svg similarity index 67% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_normal.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_normal.svg index e0142bec9..9a6b34d23 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_normal.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_normal.svg @@ -1,21 +1,4 @@ - - ic_biaoge_normal diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_pressed.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_pressed.svg similarity index 65% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_pressed.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_pressed.svg index f18dc62af..d1b8162eb 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_biaoge_pressed.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_biaoge_pressed.svg @@ -1,26 +1,9 @@ - - ic_biaoge_pressed Created with Sketch. - + - \ No newline at end of file + diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_done_144.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_done_144.svg similarity index 90% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_done_144.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_done_144.svg index c77858979..fcf9c1197 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_done_144.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_done_144.svg @@ -1,21 +1,4 @@ - - ic_done_144 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_fail.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_fail.svg similarity index 88% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_fail.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_fail.svg index 419e35458..8b98b1229 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_fail.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_fail.svg @@ -1,21 +1,4 @@ - - ic_fail@2x diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_normal.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_json_normal.svg similarity index 70% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_normal.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_json_normal.svg index d9185d6f1..4ae94c600 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_normal.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_json_normal.svg @@ -1,21 +1,4 @@ - - ic_json_normal diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_pressed.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_json_pressed.svg similarity index 69% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_pressed.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_json_pressed.svg index 0c96d2537..524a37ee0 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_json_pressed.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_json_pressed.svg @@ -1,30 +1,13 @@ - - ic_json_pressed Created with Sketch. - + - \ No newline at end of file + diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_back.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_back.svg similarity index 89% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_back.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_back.svg index b31881d3f..79a140049 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_back.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_back.svg @@ -1,21 +1,4 @@ - - ic_jiance_fail备份 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_front.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_front.svg similarity index 74% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_front.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_front.svg index ea7490c15..d86bc7003 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_loading_front.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_loading_front.svg @@ -1,21 +1,4 @@ - - ic_jiance_fail备份 2 diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_sousuo_empty.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_sousuo_empty.svg similarity index 90% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_sousuo_empty.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_sousuo_empty.svg index fbba91c36..7a7e10804 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_sousuo_empty.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_sousuo_empty.svg @@ -1,21 +1,4 @@ - - ic_sousuo_empty@1x diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight.svg new file mode 100644 index 000000000..fcead02aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight.svg @@ -0,0 +1,13 @@ + + + + 直线 + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight_selected.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight_selected.svg new file mode 100644 index 000000000..f9eeffb18 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_straight_selected.svg @@ -0,0 +1,13 @@ + + + + 直线 + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_normal.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_normal.svg similarity index 79% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_normal.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_normal.svg index 516135c70..feedd69c0 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_normal.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_normal.svg @@ -1,21 +1,4 @@ - - ic_tuzhanshi_normal diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_pressed.svg b/hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_pressed.svg similarity index 77% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_pressed.svg rename to hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_pressed.svg index 9044419cc..14597d1db 100644 --- a/hugegraph-hubble/hubble-fe/src/assets/imgs/ic_tuzhanshi_pressed.svg +++ b/hugegraph-hubble/hubble-fe-new/src/assets/ic_tuzhanshi_pressed.svg @@ -1,29 +1,12 @@ - - ic_tuzhanshi_pressed Created with Sketch. - + - \ No newline at end of file + diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_circular.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_circular.svg new file mode 100644 index 000000000..80e74dff0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_circular.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_concentric.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_concentric.svg new file mode 100644 index 000000000..884a4fbc7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_concentric.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_dagre.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_dagre.svg new file mode 100644 index 000000000..804058704 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_dagre.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_force.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_force.svg new file mode 100644 index 000000000..ebd60c691 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_force.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_grid.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_grid.svg new file mode 100644 index 000000000..ae546d488 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_grid.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/layout_radial.svg b/hugegraph-hubble/hubble-fe-new/src/assets/layout_radial.svg new file mode 100644 index 000000000..12355179a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/assets/layout_radial.svg @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe/src/assets/imgs/logo.png b/hugegraph-hubble/hubble-fe-new/src/assets/logo.png similarity index 100% rename from hugegraph-hubble/hubble-fe/src/assets/imgs/logo.png rename to hugegraph-hubble/hubble-fe-new/src/assets/logo.png diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/logo_img.png b/hugegraph-hubble/hubble-fe-new/src/assets/logo_img.png new file mode 100644 index 0000000000000000000000000000000000000000..a4c74a41ba63ff09023e6c55e96b11755e14f1f1 GIT binary patch literal 37853 zcmeEtW0xSovTfU%wykN~wrzJ$o71*!+qP}nwryLt=bZO`!~JqsuKG~5R#s&OcEpaz z3YC))g@wX|0ssJj6&Djy0002I`MHE3fPS8+Cce)B0Kj0F2@1-I3ku@P+1VJISsDQV zh=nF5gR3cyq7EM?AqxmV3-L*uNXO_D22ntWfnyOsB1k~^<`~e1Lse-D)#Op)Lsfys z2n!3<)^|-$P0%2nGNI$pMq{MNE$;dVqt62b>YP_HK4w)@N#}TEQb#uR2QIVSV6K&jG-y{Cy!7q#uE@< zan({D3IHnZV}eTtY9b#$z><3B4m8G@|7oY7t~JITUv^|-!mmOs&@$~oJ1e34PzrN= z)VMgJ){;tr=>5(<0OO+d``F>bW_$u6`Y9J4npqhcodAO|qj~J1LJv~#QY;?-Hxo=9 z)WN++6_ZY1v*MudEYa;}1~zI2V-ElTs8*8=ogrH?xnKtFC3jzwWo!d=gs9+aE5AHZ z2Ju)J`e^hKB!hsU$X$ihA!y_soKBSPfvFV3HZKH&mf6Yd$3lr(s!RiOG#(O^I-s42 zjGN(&*!ufxX~oPedMukj-YUY~x?!w$02P?x^aKVDn(?5%XE#9z`w)*x%AlgFsy!2 zR{rX-ARYnt7TEL6sCD9*)4(0^|Dye)v$}{#ENO9HKt0!sG?Lmvdga@`OK@`r8cux` z(H_zCha&1p;(_Q55jgZqsGc4NyMzN6_1DffmM&e#{mu!o21x#&m!#;MfEi&Iu@;dN zf(;=0om!@Gu?4Cxg<1HqR6VE@-_;LMkz^42r^un5A-P82EB|)EPdU!19%f$>Yk1MU zNcX;4cE0OpsKGyLU6Y5=pW;g1yjj1x{aXF{L&6Gb$@($F-{_&w+u8T}+;5^|S0pYV zmVz>eX!NAjxb+N*YrraSI0<%Z6K~Yo5JlX>W6ULkU0?F)mll^im$JWSIo*YP#ojvj zX>4Sw4g&RzAdkadewVgN*}MoJ(ffm7mqSWvT40#~5N|uL9`C~nzHN%2qjkU5r33!` z9Wa$(!_x!^Fq{p*=lwisa)a5Wa}K~ZJNhg9&X7mTjsO5kF2E)TYz7eQ=DQzp1xR!U ztiuN{1*VS=IRu<>x1!ijs>F>Y1wP3KNDgGlcQOb00>qtPgkKB-HkSx9gvKC14ZkUbanJXKfIticF`Ah0cL=~QqWf4Qv0rt7 zzlEKMlt-#ZY!8_108a(13E*RR4w&yC2jwWr!p!rBPJ|XP9!30T$sNGb{EYKoPwX6E zHT;tD!Dl!gnA{*cgPw9|XZT_C?$Ckf`>E(nA_4>TA=Ma2`%n!6)#z2C7WE=;)OCB^ zYP>FpWCl*zkeUO|84;p~*j-q<5OgDx_Yz%jw!(CK@pgb;RDmLMglq6y5d9!*1CaYH z1psqXYNG!}{6+2J>8x5x*kkC4nFPJ&G~fIu>i((iWt_Z&kFF*OfbKI>bb)0YshL6r>`|DcCOip2MeFqX40> zLqVlLu2`aYqT*6YUTj)$Qpu)BuUo5j8?t9K=taU#@`oe|QPV6}A$88S5KF>;%)toj zknT|GaB=KCk(QiSk)Ra4{H64-a#Hz)JbV6KNYpIs2^B|hS43B`SJGCwgc7qntb(*6 zwE}m^S}sRUQJ!%%YCel-rPO7B20ZW|bVfgPjEKgF{)qDk+5LuL*XaF7P39_Nt>>2K zv;D=+1=q8{v&OUK1zs~c<`1Sh<|T^-i;ejK=1Jya^QoncTvwHP?~XH<=G%V>T`Pmy-r;N1Pf_@a98;{us%8trAlp)Ltt6CI;|_h6kX>0k`%?j)$NJ>4*Hso60gv8NZN zTd|%qiB957C{B(~&}!zOMxlCyU!rOwK_F?7LXalNw&;sDJ~U0#S2TI(4c0)_YM3kA zJlf^$4g`drlQl_ym|yB;>US=`MMZ{98m1SrM6y&{ObViSUEH1AF5DZsC%N-HFx>39 zUEaH$Ssi5_dG@>)MmI)}9H&gXCsA4eman4S!`@IoT;3?&hCfk0wqI9YXYc7=@*?aY z(9!0w#~`3%xA5GE#5f_4l~9=K)y*G(#%ubQ_Qv)W_QDHJ2nrEID$e|lFSg9EV_hIu zLeRhi>+|bl3EG5ag`9@_wxX~#e_5z2l_j(!JQ8gXo+C05zKZrhJ49+^Ig@EHYhY_5 z5urDBlTw~|SKD5Jt>v~w+D9GG4qJ{m9%dzuK{P;oB7u>)Pj7P7xONCW1)Z;+rc0$a z8465IV`MbWN-1Ou=ROxBB%o)p_1-gaLT}IDPC-s+pf>aA-?QB9*m1LEwS9NF>VWMi z9=#gHipwr+DYle4m3)+HS;y&oZl)AE>tamHyJQqFpgtHVvL4X0y*_t zqROmbSJxJR*7vO;TW5B+fAS$$YoG-mO^uz8DTiw2xHM3_mE8k(#dS4u#WNnB;9(GT zjnb2O*Sc>lKjN8up8ht%<%wpjHtO2?Ai2k*y3wg|C#a({(;p}F7am7@q=8e@Y7M9( z_8h&ItW366dvj91s2e(58%Lw{eo*X@T?B;!&GW;e+)%mD3avhE4|k`i*tYLeGj~ z?bhzPbOb&4G|1U3*A&wHkPwi-WXZhIW_^A3BGFIOrbYe)q(+idElyiFT}8_GETNx%ONrAUCUsA-}3|sHEJe zYw^8i-k_ni>8$tWJLTU6j%7||;k3+P9uDU#xFt@7CJ$Bj>R!W{z`;YW5;i$d z`t;eZ^rCaxzLlevl<)&K4X&@CBj)%!UI(__`tos&<9ynu=1 zH%TBcV;qn;!jX@M?aST{KHU&`w=1N}e?~<&NZ(_%U$t+t&wqzl4{)0|TnEU%!6F2N zJHuK);K}^od#;>!lOD-`Lr;)+2hdXxb56DYKllG8f&Jg4AJP0T3F0^#Pp+9+fuYxl={ zsuwd$wL&~v9L+Vs4GxB60;e0d9Fp}Bae^fB$F#_e73WJW*5?ep8RbTGdC=lgJ~_bK z=Ml-yk0)&MLh1lHllyL@$XiE=98L0dpPWAff4b{-1C9;9v8lS!{Do(%QU<7DRG`qq z1qqS{-C-|iqw!;4s)m`tD@Z+qeQZ~`ktTCn34_DrFU})u1N!k$HAok}XL!Hlo=Zsp zDzMbt5%5;_tQ6g;F>mbiZoK4R;7>P8kg`Z~%teSq$ewFqmW|x{3oF7WIyny2Ydd?E zrSA%I^5pMUldldFJ0#$bnbU|gf%f;w|8Jz$xtXAM-XII9h<)4S-%*}-UIfq+uR3oCGWxF-CU3~cc-1YIQlpO&hm{Tji$p#@@+0^n$0O7p{vlNEn;1ncY zD^9yO?t66zW$x9JQsw}t&-`TgmdSGJMtlY6$-Oq3Y^P1^W35BMJTcLp`}!#LeXjPM z{pZs%Ctd&s3CVIa&{(}B5`i*GN1g4JKZeuL?iV*8XQd3|Bg^swRI0&|d}x<$q@T)Q z8Y2zq7eB|>fbq}P-;A59t2aF*0e}a@^<{>Rp1oe9G9zS}tvYPJv1OT; z%R`&MR?f>0(3a49Dko6@&R|zlO#lsUeN2jVUyZ{5J;vE*6+P1YonLU2@F|cfGf|&a zMbhg<&1M>a@-DM&?bNJboIS$*1Ke-i5U!kcDY3wJ&Zu8nlhg-NwkAY7;3iaT#-}E4 zlQjc%hl@ELyhj;Qj~Qo2A%lw!G ziB%LS6_dE-Y{pd{rddh;K=h66X^a8XB0BWIBK+b#hBnKkm4u*Ll>v8Vxx7=QsDaT1 zs1CHTah7BWjSVJ2aDwgy&=77$TWiJy>I5}-Cjp}idXTZgW; z56XVhey!Ic5}aX5`kBBtv$Q^G^LTLhv9`4upXN@_!BSdKre5kKc?k-UFg$3p`SemW#Ebv0KnSs z9~*{|Y9yO(v?=XCnl z3-;F}ZR^d)gn`e?y(!JabBuI=mqSK6E73f9O0{OoZss=2bU%2Lz)y&6&P%l^kMr9p zP^J_8g-7If#C}yM!f|&Z6LI95zvUsmQ%~w$DHEk*qe@n4_SWXe@Ug z)abOb0$X00GY6GV3_%I_mo}|kd7YMT#Y%Y}ZVpgDSa5m~U(sJF)5sV+_$d5EvdBIK zg{QTB3&7jK%FVb4>3O+v#Zw2=JwPDQMciLd$K<15EeCygL#f%dzIldCv1UcaDQS?c>kCJt8;uAaZ=pG`MJ1o4jjIg^nN=?g~LfUzIMNbxY2BU`N9R! zUVP`ia;AnUxS;dO!nQ_uN};zEY``8hRxW}rKWiHC8u3IYftAnsX2>7h-uzJp9oikR z&)5sVNon*rbW~E>TsiaO?8QiT2H3n6P^Vh(GbJ?6Y=1v^mZ5BeZ`EIEX=wh#L=srf zOLGqVAf?~XBp)wgvMEIN3UE=6tKoMSuC5=l+%6_Ty!#|$306jDFG#;|us=|4jF2|n z_<i6hRQ!dc{CZpaMH>5gNK-+qXqBtH(BV7Oq4mKWh|VDPeb4XRmU1 zNaV$x16fdueE9ItR;bFnXnb^R8B&t%mkOmNd4i1zC;F=du-oGA-FYiY!uwwX*V#q8 z!#9aPp?r8oBWpB0NM5Yc|0Q+l8t-Y2M&eB4(dE1HtL~avT{P~ZhdI^n*N$$6IqD2G zUb0E-r~v&I$T#{{s#Ac=xpUa*M`8yxBWuk&D+5d@^EP(_FzUwl4cL_SYw%Ig<3lnl zp6HFv{a5=fpX4ALz(q~f=wk9@Z4_F#Mt+`QZmb_lb}~I&NRWUJ`h)P22##; zUPt{sdzVjToCGBLq3sGD@CAjXVL3b@Z~Eq66JYxO-QfV-?I-yL=k%u9F-_E5( z){7QC8|C`j+4fE=+VCv`()JTvr)C>T6D}vf$~=>h!2P3k^A*Ke)_~}j$gqi)eD73w zZwZV}2{C+})a7Ti>Gk``?l)*TQlhYu1!GPb{!%gV#Bg29w|zo~As`g>75pxT+)DBw zd~2;b_{p0ee9e1u*t9L=KV^gDR=Xsn(RbDY4!hfg$0rM4*Km22y3;y-JF;V@a4BK7 zAR;02{}r{$?tfT3Z*qx-WrPLSL+i?-=k`D{;O*bYP$hu@do%7vyXpvc${M)zZ>dF7 zq7N;lA+>#su;C>I1s||gpBf=90556Fh+CanN$RaZo13uFB>iy#&83~}sw(_a`W)9a z*8M;B4;?Pg&mWVz_w(^}&Xxlu8RyyrNC%3zOeWs#Er%zz9piZ~`K`-BRwj2J2h!|p z)bQVw7hcLdZ?c~!v~JJq16)ceTwpJ#&K{q|=Z^5IJ~F>Dad3>_W46-tj?6qmrtT%t zEKFasPfZ^NDZfnb{{@Kq^_MW_0UFRhLJ?|i*JJa^gYVg4{n=yv-U)(KnhZ#M4hxqF zGI8z9EpKYG*zcD0bh#%TFbqfjdK;AUjEW*s_N?)tTbIL|#kM%WP8qN?So4DeTQXq= zBTKQ=czxHyWo~501u%sD_COahb+@5a1wSxVZCJlypIc$8PfwpulPqvpW`Sv0VPc0tmYVPgd{;0r_3t9BAqu>>-DS!EAx0#gYA`npS$|4h)6~d@U>8N zggf4pf-(pL+}{jDQ@e4OrO1~}IeYaoM<709Bb`4rXK#B%f9!euW1o(<5$)>&?54Py z$6C0vCJdW--9JcPQp>BOoS!l``f|ME3Hj&iN_Q~b`@rVgdG$S+B^p$ucg$!G6Lp@S zdy*k7BCTtAAFb>n^+Aq`BcPQAd5JcKi$Ut`7HaELy&M@_e58*5E`Q(u86hVtdBpd6 zZ?{9~YHn|LFY^9A+;`A{7;ANdT?0xrypdcFkVxXN*(%-#{K3lNHvBR0X3!<|b?NiLO^ucSk%5Hds)< z?gM_y``bi%@skdvz4eC~B>D~~)=qqIy^(l-E`Ln&jxT>J8x!GNl;*VBQB}~<{iUsy zP>hF_qF3n84shu;kw7nB@-LY~P^H6Dd9a>dnF8x{)H|QqlRUjp}GmP-iI8_ z(O;c)&(d1G0!Le{1BWpUny{RqL5>($ivv%>V{LM2gExIxnTXNjq*i&`mI*Y;)OLgS+ z@%l1RIEcj)F@(`fZ;4%&DO3xk-Hy4G+StBE%|_Y$?LPjqb+2(C?eGJ-RAXcZj|zHO zk5BvCv+KNcw2Gvm7c#yYR5d+EU7Qjs<=pN%*%W<4(o z{&G|Y3JT+(Uorqx1dN^(Mm1Ido||4A69=lhiX`YOb(0HIO1%YrANXtb`{-|(o5 zcwN8$eg2z4*E|XUfCW9pE;}r`vOoJS*?U~~ySuRTyyQ==M`R9w1h?^8nKZS$XWgWPQc|Psw63ttW@=y6FlU&sWG1N{pBJ{bui1v7%;EjlWYCBC8-T8DA z7Fhzhb8HkX{Ba9k`T{N4UFAEzG{3H@g*8%c_$ow~9D%P1dmmdF{$vv4|v@YrT3dU``#E}JDcI^)7PL|C6U9mq>LpH z^Eab%S%c{|_HDY2VEn(-O}ZTzTxufqWLH0w!Tm*Y^x$jW+x$@p)Ih&^3hS${L?a4M z%<-P~;$BVD*N)Rir+@ucRV*hRo%9;BJjH2k9O z4?cn1C9%r_)b~c{3L~*3trKNx#XWFsr_r-d7qu1bf{^bk3lH*me|C8Mb~wRLZW6iF zDxhux^A{CorMQ0V^kx9WY}NzYse8WC6Q`l?2A7wI&nn@e)9t0jY^%9{m?$62d_+TL zi0>>s;yA^c|Mg?H-ND6c*T57tvfBZ%=03&7$>K~@EGzSG^)HoLn^u=#-ZhFJqP(4S z1U4D|i_&|~rQGBFdGAG?Jr#X&KoWgrvIn4}i=6o^^@DZ(t!m@7siL``MFz`u%q1FG z2xWhekJ~b6`*2ph3X}geT!k!kr{brB)-uVbp2bDxI`yHCM71T1IRLLzjL1}e7A*6S zym=D584?xXyK3c{K5@l zhUcJ`@taSfHw9Ak-UUu3Ikh)S;JM$&Y z&P6k9()LT3?)15|Qv+!TU=MWnk6pd4@;Aq#U_N-oju!gFZ%Q`MpbMauO=DoilO}zp z+gB35kH6I7x-mgzze@4adf_u~zPAKfqr1-Bn6gLB&%fRHwm(Gql538QJv6d9D5AgG zvAgD5(9o=`tKO{QU}p5yQS;^UyD&0NzBIXA)P`K}F4j=UugZ%;l1kG}C-)F@2#+F8 zriF8&MBZW;)B;fN1_D>TXHe&n1^}K{LuFl*L-j}fI?Zov+WXSKjaWa*a4r`*ti5zE z+wNXn_;g=M-}Zpc1P)<>^J=?jqrDgNL*;kI!J0jK?y}IK!C+z-fHu~C$E(CNT(7ff z(s3)@tS!}68`M1LOLyXcc0W$E*SfOPdnSeSvHHlfg}_|8oD!DhN33T@6eRhsMJ`$^ zljiW4G5C_dRAF&j3wr?0n1t{bY`uDh1`83b!&SN%@9M`!*wcYqq|zVs(>)$7)g1iX>6KE>`!XQH|}f%epI1m>6zF zfedkrirygNb}4=*bBlPs2?FA0Q7KRVHP10*gXU9JzG(2xn@2d0(sFEMImMQ#96%wj zRefTtkZ1IV-HT;5UkVnA@iz)(7%~;kATqJ0fOT$U3gH0!H=UzxKDyIc%w2@{9DRTb z7x?+Ly^n!`)j04&3RkA~1l#ZkcMI`0=&=vLi zGH?mbh#f3Yf2JC~tVt?}D?*U#$Q1^wL>eO8JVIeUI-d!C-2Iv0(CEWr!wClDU0L4H(MH9w8xMh7(Gw0U!EM>DJt%+67v23%jy56v9k% zSmiIU^G%7ECuBSrk9?Q&oGa!4G-t+OLB8#HnD0YzgjF@z|a2(;Wz3)abX&88)ZR;Hk@Pw zp}^f>OV-ayb!BxdkkiE}*~S-J$4HGMaNc5P;g?sXuOfwP1PJKo7#X<&Z0G*UQ8v1E z=#(C<`1E<0(li1l-YFwM($S3|n*Kd`9jN&N2H{|g;EO4xXu%PvlWI$Q5E4I@6c#jp znUvJC|3@|ctgDcQ7=xt`Iuy|F^lP^GtS;fVoi`gUl`PJPUNhUp2=n|DXKPyjWdWg9 z7K?J_S?87`)5xvNY8!P+A}}6tbY{qqQZfaqj4y(>>B&7u5E~|;A_fa&zU4iz9=OP)eWXbHblL5lY8S|g+J7X+cHgt;L`u<@b}6-YtWYY@ zcQp<&FWHbGQx!5kip+Kc06T11d?<`o_&!(%DE*(2rq4ztTj(=8$WQRwPwL^ju%vT( zv7e!0hu`KgsO7_NnSLbn3cdcwljxs3kk%fXCYo$00IYigFph{+EfSEDSu>p3L z2Q5z0UuNDpLVp%wb7qeZK;zby1S%XTwk08yEODRxng{5gXZ)fPEyL_JCrs*fkGR72 zFC@2+CPJyBXgm2GrL>GRCHh!f&@7#h(haUeMBf&b*NV%k>jEjt2p#-bA#9vav*32l z5Lb0r<0U{fb`B@(=f@dKAZlA}9bIZ{VtUZ^_^r+e)UU)Qs>-vU36ZfsW*ccX7LHO& z^ENQ#Un|Gc-&1L|B$9b+P&(Ha5%qX_ZB#jkh{#_U8hjUScQ2{~bWQ~*+gf3N?pb${ zWK}B{1?+GO&~@lz4I21|CWAU^YT~y3?!dJdTcb8Njb)2Ii}aa55hq*Ig&_&sIeu9V7Gd z@_`lP5s4r1lLEv1PR$dS#s1jmwOPY>fyQT3sk-Vu!aa`K2-hP8(JO@Qza1$pEgPo) zM~Rx-QGp`AJS64J0%}cjplJQq*=eBCG{FJt{E#~0*=8aqN^GLMsVNil<{;18<+Zkt zWRs;mK${w6e(KLPhoBh(psR68^aluKgw1!`BAp+@zT50Dlh;}9Z5-3e}NIKHfbN5TYIMFwW3k;2OyKA5^P-12RfQEz?+Kt z>24R;nK(>a9)85yuvxPt+!9KEw-x6N*XJFGDwc3zO`Riic8zl-xDQ zKSMEC{926w-BHSqMq6(G%y&Z+0RN8`GI@0nvsa_se*Tz>bNY=|gN^(mbt+9`v1C2? zo+7KQ&;GISvFT&EA3#>@&xePQB%##2}LPrqsWY9@Z@kWn~JcR zkmO-AGZp|1*hvz1vc&ZH6y0y3g@FU$_zx{Gqad7!xX?z1xCqE@Jfh7s6GMB7GeA%K zwL1lAkmf;TZDn)*PMn43eoKWkU;H%{zD48~-#Z_Y6TN9kPV%sXqZpYLA%kglw%Bob zZiwdVfoxfdlN=PnV1 zmC;vE)4*)o8-L|Mgs;K*0cCs&%;;)@uTLCT0UkGlCeY_|io0Y2bnm^)_wQvnvDR8b zF2HOL8f50YOPMwgqhjaT(rWT$48e_9#hr7kZD+pI5ipF%Fn{w4{u~0`GHkQe>95*1 zl1qJizOsnqnlQsC9u>VaRb30g#827W0@C`TB>#9eicJnJIqqAj8con*lNmR_{P1^Elh-Ald0@h?wKRenmXRrVJ^0xXdr**RNi0Hp zbGn*}fm1rF$$gTvDr91mTGTchX?`h|k*RDeLFJeJnO$tJ3aEL4A=wZ!YKh*Hna2k6 zDv^6Mj2Kf|=e3Ud&mBIJg2;RPX;`o}hi9*%-5?A)l@En-ZLANBbG0hqdvEfT+CcIL z!^efCvdfRJ{061MXMOS_u*fK&C)G95bSLx_GCHWAvPs=#DKT8~_91XzR3-~5p zlIS!LV-ki4gH(&U4QJynnf>SG3awlgJuU?q4$RnApk;r1|GngVyx#)pyfFhqzIRFU zx9r~so5A>R@}X}P84+=3?B#ZOCCF62@L|_>uMm{I*DF$V4$9RBTJMvfmqZOT5wwp% zSKo|SZq?b9;~i@Y>b2GfMg}4Y6;@m53_TgV-tS;L@=R>u^lMA2PwV)9kv(4He%`T{ z6JQq4V5H7=JP{5X_*Ae7zy-N>2xmJ);(NUh-Zr zJTW2<3K$rEo|FDem78X4f4|}$|BOdUgVWZX*UaI<<+m{%st_pUrcKu9B5+(Yaz7Aj zl*vihUBkq%@Q_VHaq3YGz^bG+RF~#oXQ2q67W|frd^(^mN_hpyeGRQr5pnLSn{tsv zC^YH~=z@1Er2htt$3KpJ@~V|sO}Ihr(fOa(a_>^Ks)Hjv)Rq&ZY7{xfqWr>w#oc>? zLQD>j>sD{WxKlgp+Peu_hBn@)`Rox9WqV}`(cZN1y2p*grcU|6-r~3($=Dvcr#vzm z?(}t$bk-4r`T!4Y5d(Yd0FkMA9>(^Ah>@CJOra|(P{KmG;W!@bG;{h{Sw{IfEF6;} z0l}d4o{Z2BE0fR_ntW(fXwn(3y)YX=;v`||;*A)p9O9jc3u}pPWM&8@wQTW1Awnj@ zr8SqpJc@kYW|#j|aG7=y1bP%{qK!*+tVpwsOLe9sAJa zv*M8yXr|op)>FkwXwgl{if>RTQ6oea9e?Wlm*gG`qkOYuCh99Onh}>W#%qDb zkb&r+p_1XJ2N%_xS8UYm(m3J#9q?7Jr&m=yAr|z>MIZ>!(z(1s_?`-Jn=4~g(>~_A zu|o9_RG5D{ z3Y$R!Qbpb7=1smQbU&jQB?J4m&V({MOYCDBoN(Zgme=WU2-4bb@EJJRu__u$W8209 zX~@9y@AI;w+~aS>SuV=*4#v zrqntGLI3D46i%)JuZklp=ercoT_~kRV{*cuWr9b-1zQ=-oD>ozY{|{tu50}3(rd78 zH$ub5PZ8(eox3p2^gl}ltM=F8J`dsnTtB>7>&1Rh5kq@K*3SIh#5GcZ6r%n$d`pnmg zz2Nz(By%<;_;u7!Mi?H*#|E=`U}qoh=Nrth<|A=moZjY04X4?v>tRka^d0)N#6>*7 zDUfNZw%02Yii>N1iTSL@0K0QAiv#_I@3&@I5yv!ihKoQo!0$f@%2``_oBqE+C44B#3-=f}$oi#O`i8nR7(c8RffBi6gse;18OXNgaK%?!??+TCPuWzb^6v$l` z&TSg7Je1%g`h=JUuQPN4cLRs&|0!5ZjXB1^_y)zsr^9!F8 zsU0!^2^k>!(;1CtWxa2GWInS!dtFF5_&8X+I>;8wn%nGRaZNU@JvxmO-h5N0aLY%p zdj-%drh~V3?q8ZL!8%=u28R>vcuJ>#!4>5|Aw<<7qpQk|5+aU&p!+#ud znwu{nH$dA{j=Ueux+X`Md0o_ukI)vjkfK9B8X06&J(T!qd(MOhdw1KCdZoI~xmeT~ zTszSA3HP%9;Sr%6_mhJtn@7G=K<_&~X2v9QWS-30rglNdPCK|2`3WgW27^8;C((|9 zFYJ+-(jbuIAofu5O-xzO^D=hmaEUU(P0MTIuV-YeqkGL|b=6yQy{KUTZ|{9ylu_{ch57@7pQr&X zPU1aaN*XtH^481ez0Hy@n(921_7JKR{oduX%F#0j*#T%G8(~m^jC#g<1&rc=;s9s zKlte4UYWFMC+Pc{%Yw}@j#`)L(@8W~qfYh+N&?Qn96x#ZLSZjig|*^2FbOJ)#^OA(_0>Yx%^_&wJhbGA zYIPeY>=eE{Uyj8NhTA)h>iw%8}eNvN~FO$ke9ajxqpNx{o6wWX^s9vNo(1FcQ z#CrR1Wp3W{Fbl2SAqy^gitz3nOA?5Lg>L&+Um+0JxLrl_LqJuN7r}-SKx6ZBKI!J9 znEDRKyXe1-rgZkewNP3gCuU{|9`|rdk_5rqo7h21 zkA2l&?Auy5-o=^Fz(iJ19PHIWLIF~&@hA7I$6v&M@r;C9>nt&tqGG5tzE(oW-BtDs z56l#J9+hDBN01lg8W3f(IzN@kouSywwxC{jgFiHy7I9J$gE$nTTzMb`qv%84F;*(r z+l6E{-q7J6_Z=j1QVpTRqhf>GOgq}oHqf)v@;&_KX-g>T=}f8Ue(be zab+@S%dR(jMNbo~L=c_XxGFAShXKpaKlbnEk2Ppg3=x;DQH8w0pgaFj@ob)-s>bc#5xVl}W?iUK9OLVi zxgGyTj$lyE{By%F=TDTF4Jt6U@`z1Nn_?!(Ej-#@?WV!i2)obog7}9V^h`6SEq6*@Y ziS6gM^1rg8vSngn0wjqxHm9;4-QPKlloFz12xCYD0h63E+!euVGlPWyQ!#+dXum&_dw*%49c@`Q7a6D z|24$5W)yo#s;3z)%F`aDu(Z$pscPAu>sE0Z!%slj;3@gsaxFwe<76ATA)d)27uc#1 z=ixzn==eA~u#2BS>)NV?3?gHkm*sqMV>M3!&+Yz>3FmW(w=76p+k;g_lRxq% zndRAB#r;$ArxoKhHSrDzR>==IeLOdqV;=Y8|fH`6r72-}~4Ucjaj*j+BLn#pg2RH-x z+LN3goVG9=YE~tfRq;3@N*4@$ErQyVqIM-{W~a-y_{T~6*w;P<&v36+D|7*>s7l#D z6c6*@Kml;()8q??ESQ@^!SDxMq)TNfhW{OnMhC)1f@xLax*eNGwm_@&Mo{Gw_n_OU zo)CR@ZtLPCj*WG%_QH1XH8H!s3;A>)%=4bvs0&O#XF=)J;O2Ea z887MfN9)_oxp_W@W=vyNt>GcAqG4IeiH9YriQC4!|Gu4v1|0l&Z!Kb$_VmnMDS~x zr4Lp7Ky5_AeMfCvJ>l@%2yje=Y}H%t{q6neH0R~<^=9z;lubH(gt!bMPAs7@C3IKb zuUIVtKa4MQS_B)HVNq1f;;);|q^oBIwh+IFG-`BRisC>~L@u#I6pDwual|M?X&{NL zKZ7cX3`C#E$`{Ya5w8XBSE20<0{B)%bZ8WH`rmW%(-;c!`;xO%swaPcOqEamYLi90 zj_ATaj9io=WJcFk^e(CoI!XIoxcg%nGPz-oVEsVIPR7-Qhg~JTo`?`LEC%u#{fkeR}zwPRG$GvUHBC2-aQ6_ z1MVQNm+JS|bmXV#qMM?NrpX|;tRj!y!8a9r@_Zjb(7Xe1q_L7s@MiJtR(9N%x~*Hn z^A?(?!_z*Y5zh3+TPtXeFjBL7dE9s|z_Sv`&ktZlgZgconmD?QsF;ihZ(`u@g;gk| zLub+QbCQK=sMeQXaTI(|ws`=8?HUGq;9(=@xZ&Zb2 z@t##AxFIFT19Xnmfn$bB+rQH%gM>^DuP%j-ZKG-^{FJF-QM`5n0$XIYr{*qvA}-gq z1;M##_?`21P(G9+H(dN`s5XbSi{wOgu4=BdC+9ng+G>OW4rni0HP1XMAb`4A$_7SO zvejqkpK3a^1ELLp#-J`5I*5b+8!8oPI_x2=@HE#G4tL4xqxN-@HPU#$XqrMzTQTzI z$QGniw=^zXj+TU!^A=Bf2NY?WNnIC>8|j&87dl9Lq25l*yE={*{uU@zm!yl^R_(Ee zm5`&hYYv6(?@i_3pNcdN<5oPHlG5Q_sUNYBn+tT=83p5h)tF4*U% zzZyTl3nMY5!MDEk3_DWX+@LrGI*IxEdqSlZ){i{k*7=-Y&ze84!!qF3 zO#43o|3Co0x@&(W)YjmK}KyVVI`Ees44xP^65#)WB_D&{jZ7lXx;ODssFD!QzcS(58GH<6Gn z@=Y=o$CsCPRZ?&@q6>#bL__B}XB~`gQkSJv{k9qs@PPhB?EprLZADqYs~o3;7lWf; z`|p1myyJ04;RCe9v`c`_VVW$KHr+(EWnz7qD%DdXkRHvH@loE8@0$DHwDw6;)Vx}| z8p&Gh%R&cN?rJscc9Msget%ru-JLX!bXXCM+kw`+PP4krs^~zRBLVx_MlEN^KRb2) z*QLqzq#Eq)C0{+M9voELElg=XmC55rh|^?=4HJoqa0sh(%u`yx6B3W9tOI+tjziDjKX-o z(t1?yvJ&Y$jt?wX0v^zBE`MN3zCiQzG#kDhp1d9${Wd&$hpwFtAYL$h=0g;YRS-wT(CrqjF)JRdDuqdXd99Bu~Q}FPHeTc4)!YFJ*_?1ufjcD z$l~@65Nf>*9fJch#UiWi2hpovMlb$>_h4OQCNE2-xQm{?sGG~UsQpn~EL&jDo2L3u z#gBrrr84nSfQipt75Mh5ev_2kb4(k-F0uj!t4pKDz%Gu<96vy~X1qzF{+?TvfCuy& ziW8lh&vSqquKdOD_?NRcKlk3g7@fd0pu%80&1|~QCv5?4zMHa;eAz?SjEV`24J$nk zM1xlqOQ}0$|MO|y*;Q6R4(ipQ-HIPPs6FZHw?|amBz#tg?z{-h^YDd$ttV&P<|r1z z^EfUfU?{*41&p=r?-u~Z+j;a!4R}HIPZ%2F?$XaaJMxK<#06NJ| zLXsiS8IIeqgLr6}fQ99ny0T{~2P&(pf<9if_S-M#>ZB;$uGWnF5A&4aA|BU4-h?e= zxMg(;xwR$nfPTZKM|~TY8S|lE3=V%jd-JUS{^j`OI3Lx;Wudh@oU$y}NME`FK?KZU zFrLB!Es#EL?Eai{HmaE86WQ5B4iNouqR24{4-FgL*WSB-oxXmP_IS{{=zC({al_5s z3xab$C|(rVJ0`G0S?UsN-)2&sjYQrs{V%xuZI zRU7Hd1LQ~8LiI;ZE?%;6WV{%V#3g$zVj;^`E9$hEyX2DllCodvUh=IoPLPDvI(`KK zZ^I0N{9Vx>YQ{$)#$;ZoLvyzW(D5)Fl?BH57`ns^r81FeTG1!jiVy3m8wb`^%dqBT-i=u{Meb~>&Z-yt&dT*cg-~B#5fg5Q@tORijU!4xXL{C@6 zVLCV|Gm6-WYZx*f)I02NC6{Ye+x1aUAJ`7=c9Okr+-zYbQm8l(7qv4CzgC);B7>O- z4?xF%FX=zrOR!n2SEo$WrO0=5NY)8taEy~+Ak7*~SYjD@1D zi+axTa!tdOqB1EkwqylS?sG)*9hGn;lC_8q<%k(Bc3g*(!9jJDHej3lwtNYAK)-ey zFc8Wp5Cfr%f<8NY!zd^#>NYXPy$v*_Bqy%-%a-wFGgFR{cz3a;N8T#ei2bRCRg-mZe%FRrNXzW~$*3HZ*rGBRD8+t9#8^QWA-TfL#Tt6z~Pv|~p z*|-wK_!40H5`d2Hm&!5#ojwLYXPyyLHv#mlFlVValKjGnKWMiy^Ix38$QpQ^X0+Ri zn>Bnu-K}gt(;67?G}{&G#hidqnw<_N;hU1Fz*(lD%jHL>%6cDgZB12HmR8QsRN)>j z$#@bgi=8{r4Jbw zE^>+UaMY;2*g=wbE$lR`hJFiU%r|eFgfWXoWp}^v^>@Xj$W5Fd4TpUT=&&w0Ctx11 z!q5jNz^VL_iO-P#syG$9Qs;|3_{c1{L>-eH{) zB@10`kswyAsvgj<+8|6MN#R>E=5UU!*R2#wh*#AbS@WxY=TBz?l@za!vw_Z|Fv5oy-VX%O>5sN=lQxqnvof%R-52wW7(m`eL99~K zdqBTZYgp1lraJ@WaOkNn7|y?QD7Qs(xd0h_+m1@{&70y{U8W>1VY7fP6*5;t96vPq{UGyX{#gCYDoCM)ydPQ@xo)M`}@9<;vwZWo^IaCkNz7InMO9;!NX zzV7-f?Mp;^m-kAeV~{TX>2Q9d#WnI>X6MuXV+nXb|6>_h1zG%Xu}(!l8=;}IZY9t1 zmtoi+=X)uJ(CG9i#RSfWZv{$q&jp}7!l5&6$@+6B(bW(#9S)t9E*Q_e;WpRkuv)Z} z{>2SEuE>@*9D1oDVon5?-l**FwHO`kjRvnyYsbMDFD`cdR2;eEzH45MOLuShp`~0H zw3m-p=GBTZzK~}dUh7q^o(J?RwGIz17K)ZD#J2~=9pXdrKA&6ilIhkmI?77O7>cnN za)FZoxb-Vl;PxVsp;#_Lj6jbtFc@0)_-6P!@09oqVN5iphk$ai%N^Zbfo~^Y1DZxWzbB8jY11Mi_zM zVDEyJ%Z;)T?bc!;lnYD_$u4^^^dr@vrj2@Kx6^oV(0=-)d#Z=;hFM?bvR)Amc4e4j zJ2xIl3+P5>V1ex0DTURkwFmU8wuRG;Jr`e!i_THO< z>FZ1HB4%N!DH#l*@*Hrr8rS_sRzVh!+X)uh#`?eDkt zht29)lofViBl}=1r&P<%)xHMuUa)yMUv_Iq{vOb;)Cvwb*<*9fv&%h8fb&^NZ86;Y zbNCh@;~%horTgwGk}by4Iu)C{6#yYOQ}(8S zP6CpU`{Q(T!mGMLw8@Hev0-*7^ZpZ6OpsVVk}SU!1V@TQ zCysI6s7!n1aG)l-rdjSDgCAPKezUD$sqggRkowvuP~Hpo<5{@VEPdjCC;<=Xe<-49 z1fE@>9Lo+nBV8=j?)MEA(2&i4gqvl-(YWN6j?C8c}b)aa<^2F zG{qh7RomqL;=!}o`H<-e3xZG1SjZ@g%X&4YU#09TSm1jTjcq-7HE?z;>!JH?sS@yj zeiiYH8j32GgmELOHsdOo&JYmB9ryVF)1$C4=Y|=YtUz4_(wE_I5!?mGbFES^-7+p; zE(ZV+WuIhIQpV%>>KVT=5{|_xt{09bz1NeI_eH-*Of5n~2hm|+mg9-xD$nj+$Kjbo zv0$}ZX7~!E`)#Qb@PK|L@uPa6gMgt8#=~Nk(utVwexDZLuIm8Pfe-BG@U~bBm#`); z$P3tFlAp2Ure@B!9U7%uyXv=s(`Dy+9KC}Ji&_pSPBe?Px>4sVwadLl5+7r3`lEjOe2cL~oV>bdyncaOtzi?!XkdqDr=_Lr9x z4Lyu-MBb^?yA?cBB_PrKf&SwpzBmSD;I*koNjs^E`&?O~ehHi9TbN+QvQ1`Gm<-3U z7>|R%4wnD8M3>^t4<$fX0h*^J>OZr|#cSUxZ1gW!sfv1Tm#M;SGQPRSI%5f0nW-xy z8Nxwr-Dayy-Q}w>WV!Gdbq83#&u`YPllc`Y>;e4>Lb4pM)zHDy8ox>uGlF+NZ!x(D z+6m_q!uISW4FLWACx|*RQ5cAkqEzRAE`D65iYeusmiA)-Qg9NJ>e$U4&W?b^Ak$DT z2G%7PMtvS}9%Tsu=Vg;+UEht)UJQ;{LYB#8iO>x4wPa^O1tmH<9uiARr*xjwRFmbuF3_q8!^_2=MVurctWdOQ0;k*salqy3X!e*aygTVB;3=UgB z$5G}TzY3cz(A%h;2lQ)55xNjHxs}u(H+P0CGg)Sb>3~IqN#ZVu7YBC`F18n`Kd7}I z)H?gMb{l2ri)Qj%qso_}GWv%G4IeT{&2g&6rBEVbsWQX2&jm@*xg@G> zI7H9D<_fE?3gbHb7+czgYOit~eFI#hbwoo~j7(MzYMoIwIU1iuQKa>qOob8D;J;M> z(SR_m0m^r(O@?IAgRW8NTa5~!V}F7__)%(3@yM=S0dFA>pxhDBxlz5G-a?OZjQwvR zowVB9mr?iLERwFb-YFR z79LJ`NCYaL2yZj%?Q#EZUja2)~YQA_kW{ZatvokW^ zrRcx6SNbcYWIIueGGSUW)}=x>f8KxptoQEC__UXg`A%YjuB|C}F8>%El`f5ctj=MV z3%Bgk6>?htD7*-95WuvcYG5N^OZ>E=KK0od9~lys}DZ(I96v>)!(T3?*}4NJvs06L4A%7|rV zMmeV0MpQE4&~Ib2hJWOd73w%s@5f{zIo|Ik`ZgaP@aBN{^WJ-Y5a_J@haM^>)|5v& zAN~ub+v2gphfwN~iokcx0wnia;``5yiqq`W85@B{oOF{KfXtuC ze{e=VGoyfq_)%k*rHj~@bs{(`(_zX*W%Cab`ov|67&65lf^xswVgUAs_Jglm`;Qts zbR?g+>26O8NZCpG!_1sa^wC5QGMut2p&xE(Dv6UDNC8KGn40>?FfK};(X|MAx7Cx% z$@Elc7O^Q^)G)4 z?z+ZbkiH-~h5&p!#t?u9)z(h6;o0*q5a?~*>H+=Q(zGutHtESur6H>+ma>Ksjx64c z&-yy6pjF!>MRAp=S9-a5N9;ej1!UnKn3h^xecagnOXtxKorkdYjK^NPthaXqXq9Tw z&EJpAJJjb=vF!a_*ffaSuR@VgFV($??$i+Vof}UebC?z^6ptr^SMcWj!{>v;H>1-L z>--6nUj%5^zq#kYF35+`kx(w$ihX-+uo@}NYR`yhj2jI2K!$esj$Dn>ZF?z} zi4kipdsH@_W?pr1J!17#oTxIG#v6_0gG?8{2m+t4tU!j1FJH2u3^eW7_vE|Q!H=Cs zU$+jJ>winC@aGHi@vGn+WHB_$*~Gja=oce11km01AjMw9u*I-TZ1IeM!2;mTFS&r2 z%Sd8O7KLv)o#^)?-KvGVHC2zVBTbj@)%IjZ1EQFZitKRQe=$7%srT-MMe}}88~@1l#-`HFfjzpHiLS1Z@*#b$NFs_K-U;{B*HVeI@rD2eF%PwXBNZ6pC7t_6&7NF zo5nH{8vXYHfUX;HRKJ_&l#Z8{!pk`{%h7o7YIqEw|2jNkI_R)qynvorCimN3=0dk6 z?ItIrGthyoc@GO=yYurpEeK`Pf~Xz1hl6inB&l0%V#sT!6m42H*Rei#^P;SyByLn@ z-gd}z)Dw`sQ*AUVwWRl!0n%YU$;8JLv)Os?dF$ovx4Q*^7eI6Ro#2`H!LX@4tnYl) z*!xrG;kV5LMnO@9X1&6Vig+70fv{;|2BM+sqmh0+HhWUw>m)rz#Xq=3z!N41GFq#5 z6IJi)y}EwXASV&gEpD_0Xf8BMk@m6)1}(q!4xjbkLAl`Zob%X*3U59g2X(pAj0@$k zJu$|M0{cNhk1J*`_FGMmeiJu@CQqz*<6<~e9M$pTI~C7dn^@hotdnnvFKRZcrw16} z0>_m&f#z;T)rXbNSw1|=MsTvs6d#otI$$PDj9VdIV8KDTwS~f z>TgjN806737NcE(K9;H!SH4{+GzrqA(CD!JGOWT9-hzFbwozFgT z<>BA7daiSQmW&tcEV>J27fL;Fn;WL((gh5x9(YTPuG7i8ihC}g`do(e>4fLy#xVPQG zp7J8PQlAT(g+YsWa@zF@7w(|`_KFB&wt?n?f}n<&i(u_;bf_SCAnwtbn@LcaS(?o5 zxaMC`q0!29t_z_2a6EWDI(t1hc|SgTJMJ+rv;@kHjP*_Fl<7Cs6r0ZrI?vYCQ1(Kj z)1A|%g62ZRFn^ftejarb0@6O#^*O`!Q0I8RV5G;BEi2Wu9?);6IruooF*px*Gf{9a z?Yz;hHufg%N9hn>efaR2lv&BEj*@QSjrX6IAJj WZIQp4qz%muA9aa?yhWx9=2 z@Z7>oqGQHF`{mE4`uR{#O64r>rBkv$v0a=2Jm5zCplJ9x96tv=%0o$&EW@bW{?UCi0P6*7uYpTdZ@s z)&um927uo5fWA`g=>h%rn*(AUVi6J+-{pCuKxN}I-0>|Siwp314xo!k94`qD1Ym5U z7&CL3i?~V~>N(W;F$O0C{ko?ySfsZR_QN4^C}FJf@woy<18Ly0*d5A>qq0Z^hXSb9 zd0`o#Qns%w?95eMDsA0w>m9&EPg zd2|2P)Qr%f>ZW{`@p3CvGB ziN#3vqU3_&FO<5CB36tN+1)u!ZhikyDIQd6%|pwe(QdV|TNC4!CVlK5x5@g}d;Lo8 z0sZ#dj7MA+aABnAW2!bUIk3(PfBPBVYKou{fQXumpR8AX{gU56pXBCIjPnBlDqe2~ z>w?Y>(8a5X6oMNAVU;D$6w;~fa_bjw6@ov~0l15x&^8+6XlAG~LJ(Wy>i zwOAjou(=rdm z2RmI$==_^Ym&CDy?I}=E7S6GAo6Xo(%0`@?wX(tpT?|&aPt1S905>lV+-LW$@n7oC z6N^D@JFY#db@1WroW#vO%+|PS8&-4===a^Ayztf%?!NQAZhk=Xq+~2q6!T}NOw$iDLw}U_JB5`SzwjGR7bUV=z0jNw)2@16qbGw?#13nWD;c0 z8M+6s-tyfnb`eY_^eF1LW?8SQgGSg&f+UiZ-RAz1BZi__r$DMWeSA_D<2-}x8t3Vd zUp6_(P{}9nvtciv42m4sM=NLi)1~0{GnlrWj6Im0k=o6}7ldgqxSCR9P>)%@(z~Gf zOQHht7vitmfv6zDo{Otd26(<|?0(-m*thmq>sFP`FRusm&2Qry)DR%T>3NTNp~Ld| zS^4)<{eEJSK%tvgW5FjO7r-hZN#ut*dMTIlV?r}P0~kalzM%8Y?z0vYpgB%K0Q4k6 z-Igp+wDU~88|r_Z8XcA27Qw@MP*0@KaCgcdJEberB_NLd_^8NxS=!Ghr<3tnIyz0q zEFd>3CaB~R*D^76z8~D+r@$?9!T>Bu&#CBEC7)yZG$VU;T9sLaka;&4>XaZ9bhL-LTWu2Zytjqaq5SNGY<$&Fzpgcdwn+`*i z5j7w+hso2ugYj7b$VA@^cy4&;?Nd*og{OPf^5YL22DX zT&U@q9Jq>$59c^x*~M>~`%GOH&nrcRK0DPv zo#|6-&#fn001wo(B=~f|(;@a0)!f^^SnS0!p9;J9E}xu>(X=1DeAh}IOJSV}W*D*XA=4wi zZ$J3Py8L9K|LPCvucT1#qfj2u??cM#k%t}6WFQo)^WXaVSr1ItZwCe^1}stJa7|uw zF?je`g%(db_;zPL6($Xr=m&{$-|SYDTjA*8rJ+g=;_zV<{*Neu{=u&d&>04$1$;^* z+Bd%l&0WG^wd~y)i_R8Lr#Z^EfQ*K^L(q%-Y}F(noye?ALao~i67|w1_qekXT|%zQ zAUP~m70ZW1R)Fakq!v05_dYhCOR22pp@@ch+ZE;jbQE)b59(d!GxPDWnq~H-LIS>R z{9`bMC8mHfBNUVK-_OebJ}LkExP09=7`I?eh&?#KHbuEP*v%#9U~zs(;8L7Rhl?>6 z!}DnK1TEx>5u_MdFb@-28nrhDY8c;SEEYXIKvh?`p~ucf(APn^Jrpb!IF`*KFGpm- z&DOBRUf{YML)g#DEFoI}ckiq$_Rhu9O8BEEB}sS}*3yG}VdzyR96&cZ(oi2ShHsva%Vn$1@(wd>$7&KRyo7H4 z^GW&asQj&`$GO;sL!h6d`J!ChtMB%U=LvI??L&aJr?0zn$$*361goS(xBy^+VweO_ z8E2(plorevtaQjM>5HyB#b_yuK)rMe_L77oAln?r-8G3~W6BkW{}M@Vx2d~|*(%$e zO=EEttA!hVzv%qr9`kPkS*4KjA@AV3jc$iQGILQf|o;~ha{S4 z?6WG&fSLM&=(b*h%mV!Ualq_=e2(T^aBBX=f}9^YNVa{4OW^#{EJTuEIz!1ph`Ei^ z)8ohlxvX-<$bjuiW|5cmSLz`$kUj>l3~*X_7Gm}gHZ9+^AFyWDezlDe`m&1W^Szb? zJfL4oT$>gdG>11o9LrqL|2iz6pXgssb-zGIQ=R$Hr=Z?!TZAqb7CiU>nJ%4Nyla-y z4gXr*mLW%3dcsr_CT21dN$7Kday~YMxE2juAY5Qd4xCEvPTErz?kyB^Sy12V=>qjL zh;>1CEQtu_O*bcw`5|X*3ij%vs9bbtblE6yU~L(rC^jJ{@Y80CC-+VhUg{sw%#~_H z)oN0~jUuEuX#TXhyH{!9LT;%=^O;{m0v^z>A*@Y`YISqPLd@{yznqr;Ix7Emq+bp6 zaVDe$27h8WLWMtrHV(Z$ib$7$?b6}RB8|bjWGZ@w^fOyEBj|x{H9Vh=@=pPl8hi|XLqMsPd1eID=AwV7rly6$w75dX!1$d<@iPudlh z1M$8ow)1Wymh>(6v)KaLovkvTB2fG+LiD)Secb56n?GspV$*`}PmkvJ(;~N(iwE@E zlH^*YV=WY+&aqJZwWt4nTs}L|Z+aR7LABKO_ikVDY z%-PY+|GH%5e$j4$LeYFx9IK{vdkg)NYksCMGM5K{v?Y_8P$@ewIxUHXb-CzLJV#(x zmDvq)oimoOA+q%laDM2@A$xZh0ZGm!={k<7faD}bmiC{)=!M~2mMYB|4=8g<)TQA9 zLg~-blMA=LiR@;DByk~G0^B~=@SX^ivxY79=7d@J(7VRHb>ZK2f*#QCTEeTCK9hq6 zg*ln%7rpYIN02T0bzi?t4U1kk;iP9;>=cd`;RPU=AG!eh#gneO^Ee+pys=2;$yz*O zC#t&UTLR<;mP#>8=VUOj9TrzD9@}aV!2-K0t-W80Ayu`o@9Ho`_Gz8mIeYswmJM^8 zyI+c9<4hykVn`G=hsrkW;L~*}5d8e;At0-*o-T!?;}LrptFYUfr|H{d+=*M*&&w>L zkOGL`b`)?-%klI4sNTha;?w3HUe5RHG6d@CaSIvyB<@iH9?p^Np=ld}ZwIC7(?^V5xc zWCVA53%O&ILubjX+lkhEQXp@%b(~j%t%WWMJO`B0A-R&dM5JhhW@)-^VwS-l{B;GK zr!xyk8Zyp6og&=!*JLg7<{n!4!&(QcbGVmPbISh*_4Jn)B;WykK^R*Q#NK>r)-u#T zpO*hPE}7i_%g8*4gSzl6Q}kH_Nq}(u*;* zW!)9Ha@MMCCpBmm5F9{%)Py=`{1fYb4+tW!_1%2?t#8}iq~zF#j97sv6^`ZEvCQws z57!QBP1wXNLS9UE0mbCP;-L$>dn{s{-+Afe;$7#Ft{M6;5i;eZ#c8{C9q<~{F;#*t z9D1hl4UmbNE>?`du@un`raE}D2d>xvIN;|X)}|)iv{BnzAC8^0DoB(rZH&!|g zE36HhRCg=&ol3o%)EaT671zK`7E@;4KUgoAP8ry2IsiJup+Gh+e{tXrn&a%Zm*eSo zgkwnDwR1QrQ@UQ6)n)ORz1%v>)#ZI@KffrE?SCn=M6%@$Fk)dj^XfsZ^`P2*QkMm6 z0d!VCtS6OvT&4TDl%PLcI|+C|U%Mu|VS(kvwsVM1Q-d`NWDDx~-}>etP%XRS#vBeV zWMF~h{LJE^3oo9T$Gdd$(&0SXwE`bagp&eVqEoZT2HsPmuqGfFu##OC%7i29hDH!g zGIMDNNOA)hFM9`haz%7=i|pJ#$4(bV;=w!r|Lt7|m*Y5cCIALWRPHo6?97Hc+yDPp z_&qzVn9Jov=L}l}W%~0TP#^R%cO7NyXKw!BhY~Xg(GTg(_<^fzl0*MkK`w z$Qsj$KEe-Hnqc#&MuZ;Ka0L2qMS&$ViyTQxyZxYf_B{d}z-GH)TZnF;d1xzMRp{k_COj!#0?ouK zACDPmtQ5+{ccXt)(Wpv15$zy+{rfGAaSHyPz}NyFAEijNL@W$9{;{1w37lIu2Cc2&#C-;JXqaEK3E=W;V}_$tDz;&^KWeZ_)=iLQ_h) z5hV!y9t((il;)>PTIXFiBE%U}&dG2jL)>ULcjauakiWJi;PgpK6QqF&qX1#MN6^xf z6v1Ag&yuy8czIgAZ5&ZGbt2c3tm$;6I|Ukd3NP`sPuAzBWOQyljY-MvMlnbe)^ljY z+09hd4f<(yXS`D&G(a?M7>328Y^YG)k!T4z`_bqe3Ofo&i`q*@1JJ!DTDPe)CMkNT~1xH4y zBcp3ZB5~;0^YHAVJ`#Cjo3_L%-_rx6u7lo4Bez=l^qZao*2p3d42(?VdsZulZr-iJ z^o-2+v71_i%gTkeTz|mcL(h|G!QFv}hllWEK2-k551>|KbVJQO{K>f!{1B5^n+7E+1xc)8;y}m1aMOhGFLNCim6xt42 z6rXq}SQpyYpL^!CuSa9AI%jObzjaG|)0X7R_i0>Sjw7FpRPv|tRpgK7%lT`va_#~M z2CWgZA*Y0{8e|Ld&S{y{l+DRLK_{p8Qak8>qHX(SRcy!W_@;AKHy27ZquP_W{j$-0 zNuJtG@VK>az==g#%|C0+5(`MxL`EFc1-rRrZudKQ!N#(R{K#ksIYd%xHe-(CzT?mL-vj|B^qZix-q(Q8vC98!MAM-^ zo|)grlH6}(6(>|8oBjSsj=d^mP z?Kx@f#N%#*Vm@<86anTBE43Gmov$f`Eb`n}VYmRr&#o;GG~5zKV2S_}`sV)>$hn0U z`WyJ3e}AgaM~Hc18SEy^GM+6V zuZiI0GV3sTx`54{*SRa9ava1RFv`H&uU(0s#?5b=MCFg-78G;LQf9rmPfPh;Mxamx zn9vJ__u+-Z-ZD(!t!NGh=6DENrwClM_ykRJ6y?bG4lQ-JyYIQ%=MK*8&Ru-}-No|B zk`6-ml1PgPi%8+33H97{*U~qc&fPpHH39DHShcUzekFd{XuoQ9-?sK%#+^nO-M@h> zfe}~@0!-+u!TAAd0dv8*Wt^JxG1y#x=$q3CIb%kZ4r_21VD?1_iYtYxZ zgZaCPKw^=6P&P6J!7W`IEaHJ9Ux)>s*3}Q;4vER3ljE^Q+PZzf;YiJo_N(!$M*Hj5 z&Wk3zSsJwV4O7W1iR-Vbyy^2z)BEcLSG5Y4^#MvN)(8z8Y!SwQ(XO-2_Xn?a>pt-ft_ziIEhZtWaY z>tJ&u;4)GB@0L%OqT+ zJtsCh?ykIZMc3ZASUy=)z}9x5zE-Vj+2Rh>Ap1@~uXqqsfJCb#zc9VMMxN>gSNmzLB zCc=xq2G1{|bP);+VrM$zkf8@lLC@ z`__5UPJ~jDPc%}-VYFAPKWnt!HoMQ`CIVVrTN_`%2$U89CiKz{&3zjNRTTD?K>`ik z8&1q2B5;#$hu!eUDe3O}imK+gGQXQi$RBi~a4Ii3U%sNQJD<8Jf7T@Q7$lx*m8O20 zg43~!te(JuOfmH!d{%3G+v>hBvrpfasLXO@h;Do)oN(HAIc5^0Zce(P&{A(O%WXwt2u7bJdK% z5)fcQUjm4w6JcGjNkdPF&7q-#(6K^h8<_l$v9P^$&o(IO$O8fMi$)Yhsk9JC*7H@| z_@>o)R7YfUwzT{K8<*A^0Vedd9=^qm2aDkY4Si}uPmx#?5f-c2z4Ut_A3cqth zIX3-N2`uP;UT?f^wRWntSq7iQVDeE$V2u!9LSLi7xT4n^8(91kJ_h=hf%+3db z)-e<4^wfKZTl-sS8k8Jcf(o)ZM}D_b-K`>}TqXATpTOD=E_Wb9fPc*y6dP55Zc0iz z<^%1A9QC%)y64qnGviPPJMO*z0_we)ilMCiKnx4LCD8c-(5} zWPI2Tr?pCFm$_35@0~k1CuCOt?fzaNB!4PjwJXnT=?I~V1ajR-Jdf*7 z<9a=0_55}tz*m6=G4*`p7(i zlT1f^3r^g)!c4-&JKU-4_}p%Gd|8FdU zR+&a)scoTIP(k4pVLL`4W45JMQg&f5JJ}|}#YNP8wO0vRQ4smlBp+pOJ-3e$xFrHi z=(hxHT`sq54)xrZ^dVJs#%=4;gJrf8Pcj zIW`ZGtw&NB9xq$B*=HD_z#9rkyg}=UWV_bm-_%jC~y4gw{rzGy}MZWS}4L8REycr~DWc3lx*4Siil z?&@}fv0yrn6x34sU}|*iIQBB`yIS1Zops&Bla1^xUZ6ZgY-xn59jayk4V?*n?M9Rv zd?N&y&~F6OdR+tx!-nKL6<^c?5eEqWJtOq2C-xdUTbdoZWg(Mr@jiDdJ3hCY9bZ=A za`|xB1bfH6zyi@mq+oABB=luf%W@cjvLV2#O4&waY3+esAyQrpLRTUHq0h0N(_!zU zuwNkor}C2X<)!s6Cuos;9HSnSe~X8wS|<|K089VpP{;}4A|tT=2r!|q{}^7<1I+w| zG!qCjx)=Fg1Az2oTl9dN2M#fKIn{-+vsp-IQ|K{9K6ET1F066MO1cmf5U9|`(| zSR93vOXv~l?#%BGJdS0po(a9IBeRTlSyyyZ3q_|Y_o{j@FcTyfh2$+@1V`*f!e>!5 zL$O<>?+0H}1QlE-Mvu*8XvRG=J~xAtbaZA$=Q>HebV6K@nGUeI3S<}yd}=LOX^N;J z{fg&>V0nt{zKmZ7%h*5!n9w(HP_r(PhK?ogq1cbblb$?2GYJykdtL-apJ}pm@lDE^ z&^r|J@~@~aFFAipzMQ`%D_^_-{llY6dKEhz+OCk>BAgd5UYN-!uwbp^FsdYD(#JfvWSJTjA!Nrs+DZ1Phd$xlV4Euxl;_e8BLYaJO8zk}svSd}V* z3hzN@=Zz7_Bfx~7M`NSPq=nO(8f$W?$o-1`(f9hESIhSj7lGt5h3~R*{+8R8=Vapc zh1KQ7&fSt-pT8z6XBVT8-|Tv#X5@9M9*j;A7R%;p&RHGBT zC_O#YgL6HAl8&cr4<9d0$Oz+N?vQl_PL`iR>t6J$0F}pWS*wfYj%q&g8+)qSkwHx; zR@Dn1yfv$U34P55?6%E?)fg*9F(tTLmH6(20#k4x@hJ_?k>G8mm-2e_i6#-z@xXgh z6Hn{1S)nKh53pI?JRN)Eo*o{jC%>l0KP8|3o_zi(J^UfU(+Go`R^p2}69|BD19KTOL|1<5q*S+^@3|m_S*-l_1KShWYnBGINk?BzIQVaU_#%FalEP*aK5hi9xUm*b@>uH zoz}mNVXDm$y5nCbarDq z(DP)Ozq6RKZBH_SVy>Z>fBbv$+h3B8-zVo2-S26#w!A*%x63s z{zL!%LwfeL-hb)qKSQf^vxe;XyO%xScCF$-Mks9WMqErnV~k7 zj7>6D0nsch-v^{QnGkht6?3;_*Dq{Fb}zlN|}t6n3jVKg7= z{^#`QT?!k^hwqb*|CJv8XF6_}BrtG8gsJ2fj~Ilrw@!`F_sy|47#lN6l5=B}m%syZ zV&Xj&H6__?c-w9Sn9w(W{9$c?zXv7;L2b|K=I|6w&Sto&{kH6nV7c&Yf%ko4lEeQ?2P3VY8JNFdFu#K%Imnu3K$U0qDP2i_V)V}`%r%oU zt%qhGOM+tz>(!6G6=T5FJpcks=nnw;>Z`=R^r{bk5AisbpBnPjnN&R^Qg57E!;8~x zZ_5TwHFn=~U78cP@S3?>?z3yFo7QRP822jT>y~`mR^6&Z&ZhgwzU{r3bB208IMK)N z(vN>j-v4*<{@;_cpS5}FL7~P#+(I#*tK0QMdD?hGykmVdpz_Ik$^afTL{OEOCWY?L zdioq}TeZuCzAeLzH8lv-1-*5zE}ys5SnJ<=hy`FMh4e;X;0PTKE?Uu}>upQDZmCAJ zYULd3hOk_y_j~&Jr{u%`Bu78%k#9(?_OZ7A4{Ot%A)gKwmKQZVcsZUP>FRH3^`B`N zC9uiY_p!kA&a(N&wMT#neeH+vh8=*O3jakA`jdwG7TGRRGoFZJxG>r^ICtT6chAB* z=MK*8-mt~Dx(rnq3Vja0%w|ozXv!B&^{6fpzoqEcgM2fwnh9oZtQ9)`CH?qA@*8yX zQ$4O2%vS*Cr9C;(S+F)jB2UcZ%=kZwAV?7Y9&3?cNssC)fIHu5E|&-aCiD^wMxjk{ zFZ&=ktQs9AqCb>Bp6lVrt65)ZI$LP<1qsiLEyhbN&Fxgg%cgwRR8Z2<+55U?-m2MH z6*Pg%x#@k)UH3Pf-}7fz*|)w*L@%qCAX=0SRxe?-wM6eBB0=tAwag z6D0_uhUmQ{Si4bzd{@rrkNEyL=ggeB^W1yq&b;QiccO=ae6YgMUM0EY9slV#_Oz@RE$=0SDfQWI{3tM*4R(CrWhA9= zt{sduK2dA!cwH(~z;7C+g6(ti#nS%N*8Su8J-nzVv5VIP&Hd58T@DKnz@@NH>noA= zQr_X9^g@3a?&O!TIh}!A9?!~vPX>jbS2e(`=Z4wx2cY5h@-U;WO>(J8U;MrMP;a5P zTk`4k!}|8nH#on)LeQ&pmX(#8iKqE?f=AsVUVS zIDeP0r|!uEm7@) zZA|?I8+R8f9GEV*O@C6u{vg?kX{?DgP@ z21hj<_@9{I1;k@zyD-7pFI>N~$17sXLVsJn`6ylH*+GRus1}bICy{N^YC(K|8(Ks+ z9BXx-_RjnBcA+{_)@V52>WtGsPotT}lmlC&S=dtwk@ zv7KTOEs96fPWsD9!I}jSZzb%gO@vCH)#-*s$UBWsQgN}VEXG1Rgtte@$y_g)?$9af zY0sYUHIB1K81)0GHmS-y=SP?y-XQpkJXy5-9`)kH%2m{>_Y15SJOg$Bo=dugjft-O z$QLGQ`=hB0n*+hAOEym_X&0;co0>)XjU}la)J1qvcOt+^HFMa#)ZhsoIqk_@bMFrh zJD-yOXjEK6pu3P?%CBndX+%QbnYqSkKuAk>s*KHcMB-u469i4z9jhwV1ZQ6H2iN~Gob?LrG8dj{a`3$rnONMUI~F6qfNLpa&2)(&}3}I_tXYbe1koVo#hn`R)yZ(O52giUvK^)k&B` zyWAfl+EdrG1KE%2bfRsy(Kx@*f}9vMU8`qSj+$PDwi>RX<-j0k;?E|HtDD4)P0aAY z=FqP`gNk887t%ekv@N>q_8yBZO&ev80hOmyGdB3@(&Z1Ql58y1?pj$nj6?CM31cfn zohGm*bq!SN)5@^mx7+|FYnwY}=e-wvoEU@vF0QwOT{cFgE}HR4TUQ)XkT&x(q4lht zAucU!LM!(H(y1Da9^dCe;8kdBzB7zH@h>gjym*A@5CWFFnx%H)q!wq-R~po@@C!^; z$KKl+j>ecs@hY=82^m6)0y3wm8j?w|_Lw>rZS_~{38Nj}h2=0STcvaSC*42{LN|$D z2hc-gp~eAV#r9IV40vn@^D|!fKy0j}32Ovh1rs}QPmxz2t0_ytYzt(9VdxL=EPJBx zMXy0}K?3#0l==~cr`mmb*KBX4tIXCM)zhImnfrdAMcPA5WW&t? zN2?1ERP50Dk1}DM9mhXh=_q!YodD<2)wRM_)JVe-`hSC5uY$`$oF-^M~l5a|p_Kvh)4<*)6;SpFbkiRV2M&`PB_Dtm{PU0MwiX`* z>M5y9XmP5c4l(1KzE$IUcPla-!{ILP+`T}KqA^-6b&-vAVKhngOFC=41|#%tuEWLc2q^@BxGZjUQ)CCbM{)Q z^-*r3G+Fsx{#HZdi}JB24n0jgz~}Sl57fiwjdhSwAn_5py>l3kaRbQqAGusC5IFf?JUo7Ncp{Dz$O`%fc z=NIlW6`onOFE;a(g)oMfJiYz@5jO*)k)nD%t4C!n;auCaVaLao=lWct^lHBrz1K~Uq3O3~9?#<6a2&PI@!t?YU+ z(otNLQ;-n9IU08J=(jwtBV|=&M^(!CiDxiGjoGMJOxP#gw!JU86e;Ehdc$TmUNSW~ z(wOzX;NZVJ0L^E1;k(QGCBJ?qJ2%zLo7XK(q*bmyEC5$O$q95yp#@wSn=~*QlSoR$ zZOBb00xIi#V@p&sY-S97U=00V*g&)e#(Gisds%&obfDb$e7!>{m3UpzxbNlWQU4X9 zy4G`1oZ!5WfnCc7gKxzz(vV7eY1QVBh!AI-j$5nZJVlJf?FN1?4quku62R3bYn;s! zBfPt`*oR!XZKqvooU|B#5_a=O;wM0{9>=eY=~jRUd3is)4`>BqjiYycQ~zE8T5ey2HCxxL!%1U^h=|Bd zbT!n>-hR+1)vRotVb1b@WX|U2TTr!JqA|(@?lUoe@GZB=>)K7tYhBo0J`>>(CWcUz zAn*OaG59Lqj+3mW#SbE34uUYQ%%Ct7)m`}PyEM55b0lzCI`zyzXpJ$J|Il7EZqETo zcAmIzrlAC*fEQsiJlBswbDNHejIlI{nv2hkQ%sh|9m-3X=eXbs>rP|ApW+$`NPct%bjY>P>09m^CzcFF7U22;6*Ey6_t z*)3$(Ku7g);SZwxz~HajA5_&1OR1m_=}eT$ zi{Tjm4(whCg}89NUbc-b$*HmJV%O)#hT2dmOSd0p)c+vB zn816oNgiUXgk*8J<|$L2b#~GbtF9AuSPEHEo|Oj)NvMrT(KkLASN_iNF%IXZa7S9W zr%DW3fRS}m<6y8-l|T43_)+ETr(op=;NKgFQT?5NE0~;ZE zX=W$S=Yse=pH}D5@60N$NzhW|_y}DfRx3;;FbNCZlUD)ZVJ}m}hhhSu{B^M%=(WCg zw?qLHl%DhT3TDNoT;G%0J#sH{f`yuiB;0@BW_15HBE_*l_r&5?yK%_UX`3CXU;aS;{>I_>m$N2Hu7;Bw2$jOA(?d(G&|kV~;1zM!KC)}jxyL8UZTjQgGV`)OhAH;^qCjZ=il^u{0h zZc)OBQe*0GvHi*N1Z?aU53Z+KB5fpDPNBw(}BLp#|x8#at%pbu6ssYM3H&xt7d z)oyN6dlqo@RkZVXSexoqv|^9r3?(6F!Lv#{`Z>oPDJjDf+6(>&EsM0g3wZfDM0!JYnyQ4`P%B$5A|;2&C8O6dR* zej#qxrBS@_Ib{x{ZhBsLl=dB2s#`N>8@EQu@(~l@wTEt5|n?7;NlpUo- zqhLYTG3nwC-F^X%@l{C4=h`}e&`~;0x59$ha=3dTg=1>=#ZSTTy_U)YQ9eE^^Wzru zQ<$njgxcPu>myM}Z8qp8Ng;dQ;8-$w@Z?M;m}2qJEG-qkZ6K&F!DH1lSofT{fx_Yj zi=0p>gyIw~qy5E>r!XgzDOO%<89+G8n7LPg$z2|FsvhOfSzhn1B=ns)YqVvx(fBjw zg~SK8^MLia-F4VkQozmE^)64IRmz)DJ#?yobOI75z>+ygy4w!N zMX|?Zii98!Hwk%8hl0}})KZ`12mKhK6~wzG3bx@HA9t>T@oPvy(P9uJ2}o82gVtZ8 z6Vpd;vk+@Vg6&BVD8hP9jNJ6Nc})vlSA&Ycu4lj^t$nBcbUh~?G zf!r~%1m!oQiok^bB3K==N3S`%60fUC;4y1zf^tcKCIMBnmFW?C^N*8>hhQOZK@01@ zVJ8xN?MHW%<=uarqA-Hz)l~JB{Wokz!WIo42fYvd|6$-^5+?G0--VGRc>(tj@~ZC` qb?KR$O&vWGDE)vxu)dc4UQL%&7^-E0M0Ip#}zKAN_xo$!_)l literal 0 HcmV?d00001 diff --git a/hugegraph-hubble/hubble-fe-new/src/assets/logo_new.png b/hugegraph-hubble/hubble-fe-new/src/assets/logo_new.png new file mode 100644 index 0000000000000000000000000000000000000000..daedcc6f137f92d519e299587df0c7931026680b GIT binary patch literal 79524 zcmeFY^;2B`vIUB}>);kFxDOIsgF|qK;O_43kO09YXo9=D1_lcW!QFzp%iElL?|XH> z=TyCa;8yLQW*5wSdUvm0Yjy8v6(t#T6k-%8C@6F}SxGf0C^&W~C}?UV1mF|QI%+B? zC`u?fNwE)J(1$sQZg^U`SDxKD%k%R&%Rh37lov8`a<n8k~n*(o_TO+ zyciBYeQ5lTY01xV(R6cfV5xU0-?%e*%2!TQKIA;;((;Mph}nFjUHV>hD>$8=5}IbGToxYh-)}-=Cj}MQ{-*UI;FJG5-hYbM|2@6`lzjh}oc~vQ|6VQs|Iord ziHcBej~IxAo%6NP}HTcP!1Q5q%+uQs^xIj_QO;qA)|@Tr&iUVNin+ z#$|Y2#*FX%sK85N9|;kYkCE17b18fe1MDWxOa)P?Oz;K0X-=9xaA2d<9EMAY?B0Z~r+BIYgGJ zH>{F1?rt>PBugLE&>IeoeUKE-8uz#mp4gOXyikS1EWFpNRoV&G1wpZJ`I*mx;*&Eb zhwbfbTQl8Q}o#z$_Co{I^c`%KnzUT7G%U>HKEiNC%RuB6X3790q1 zT8sIMq0hA(d@we9P$KB`+YOO**OQAZDsNZv3%(SnWiVVS@||q`Ly`ubWHKL|$kY3V ze{Y)Egh1EW4VM$KL4gD1Qhyi)6H5?YOae2H$B_Vt}{)A>PDikU9(#}GI0Yl zwtDjD_#p@8pGj|r-ypK)ZS}0u^Pe`$VLZ0lb^68NR$B6(t%=hc8fe6=>&4b?lp!Lz zJ~6l^h?25BK^Vb1OijO5*!4iZf1@N6!5uD z##7R;s`S+V%so|VpkKc?Zd{Cz2H7{>#X=Cytv?$p5^v_0G*JHOSpjGAr5%ff8Pop%V9D3VRz zAGoWKo@2m$x4~fHl(REnf06BFX3w#6SSlz7C6$X6BDSp^-)Jkbjs3sbMikjAEhuIE z@X3c#^arK3E=sdV7@8&4fs#-B;z(g^j%?=fK;vh!s4N^q+!B7(uH4cflW0;rPOEq^ z>_Q?I?h^iKlP=toYPO+IG~}dgNIeHyDw94faBi~y8wr9D#DN@z{l-pT-`he6 z6sw2D1BZ7ri833T^jL<8E%H!}mFf<;8mpnoNE9ABb$EQts?;N^+5meM!%WWJtqwMV zJ!@~tj3M|Pm5NF-nY7!!t}p)oK9JQMkP_U7_w6k|UBgIW-nSz3+cF@9g%qb&tUeDt z=1RlFTZN5R(9m{KCJ^4A&SUfW1n9&q3cIiAnz^eI98imgfhAhXj$P${m7S6dP1G=R zWGcIFl*}s$wSGn7x=va97);?{G*aZ;*%I?x^PiwH#X73MR;ANRa9Oynq9lQ0b27XLd8h8eT(Xc><_VXffABGdUCvvDVr>O zI9z;@$#wL@(q_nvdz4VncUiPQV7>jmI8ir{k1xI9Mt`ioCizkwbGFThX*URMhW!&u z=R4$|KL<+@c)VZbn!9f7b#$lN`Y_=-@ZN+l{J`u<-j-N#rl`ZbH(uP8*l}Rv^ze4} z`BLgPE_*>qGad`+6rRJ32s{}%?N22MYX(O_!7AU&$KxZi2oPtQBP`2w1gmAcz|}lP zAv#ttO7}4%Zj=aM5lTUaZXmF5fG|T}R>5P@gxw5%1Ix7F^xaUlsVD{g{Ri@?vw!eb zVss$O<4fL-DGe0Cp|^*?!4{iL_u+?>vPW&$iJT|;Cb!PS)0D?1Ut420DKYd#Br8=A zZS{->VE85P_Yg9MTNun&Px*BP6yavk4L3sokFT;ns9 zMk=NwvjVeNSD+B5O(QMK#B@@Tj$E1T81m(6tA&lFAG@75TdS4V7nS|+OrDnmF<(AQ zDP02C?8xcwq>g7}_osM5=6~alD4dNfkk#nWLkl~2SRv0?ezamO=M37nPCliGkzH;y z_TNymEct7%`^A~%$A=$}z0>DuF+WpG3=Vtl8b8|egFIa^h8i)u6T06G`w9PD*N5zV ziuGQ;sCmOrVJl5&dVxmo!NNLJz(Xs$x+8XM!lus;eJd}Hbk`4qVxVB^T(B)w#_VNj zD2JuT=?|*!gu7vL+EC65gOAIM!rg7J#K#O36L-wq9EdHCJ=;cR%U;1sQRN}1CQbcE z56Kq>^0rL*zR}4JV~7!ty$XI){Z?PB#RYcgC$+yX@-;K-(3gHP?OPk+5~1{1OvfL+ zBU$wv4V`46jtyoidV&Z|b!MVp$zX8~L0A;E=kG)u@t>F1vJOEW^<*@TKZaTsUD&sK zNtwMkC~Of0YHXD_lpLICUcv~g^hG+P#Na?lpJ>iNu527I(nzPb^2s`Q1EZe}FP}!k z1$PC`Zj?!lcaksgscg;#<$Lm(S{V+$d`Z*r?Qc#dXb6{&|P->kGe+x^2&pBJ-O}j zoz~HNkC5`$QZWB6F3s^&gP7D&Ii70ubH0|;r>xzMy-;A-hknZ&AwXPhl{K8&!aMiIBg^kDk&&3 z^>&ep#B>1tWlc>L`ycAkGzvHZ=zH7+%ljy2Rv4<=B_P=zM;11FkKqTkd0MdQjV1;o zZ!FDZIC>)i5(t55#mud!$s$d0bZ7#6KF$zkFL#7N4`}*LK#olo{3V zK(lcej`XxN+i`8Z{ptwqF~KtQmy8^2A8;!lBJEZXq>?A!8q^Dw>kX~2deDo?WYA&_ zoJ8rncux%+@&S+9QjKuEAx(GeW8SJvM>8B+iLGMh`apkdPI^r}T>GIg7@!=xv|r6) z|97_@pagJ?Lz{8;EzTgSvMLn(UtzQD8hamXg3jc`GfxXMV^k8g%=sjo;VZp$>S6^a z_7Euz@xgFELyOwpr%av|a$!SPlKY`~_Oe!VvqcND<5=(8eO&qk2WGJqxoWv?-PJUZ z1~TZ#QqbAp9SR7O#baYLhjxw;dQ-nSsEhC)Z7}4u4W_)eteG(W_T#h{D#LrY1Kcng z&eM;=(J7B1y-bYJVm%PM!&@}9P1Cm!!b;spXDEq8X4#SpibW$)+p};9MSsd#)G^o*H$?_vr{N@P;x^s|niGIN zd!!mGCro~%wr2QJGRpW*GUYA?)TV(-Rk#`Z3{t&M3LadNe@|?uyuS8yH&&j|r_f$! zkD{L%VFZM6o~jmP*yz1q-}B+d5NndgbN<2EZ2AdF=#BR9a|z^4yN2*_2-IEsth1tJ zLKw>sJwMe1LAUr7gEc`tA^qeXofF}UJ7DMElJuE>q_HM1utX=Y*ewLk=G5pdju?BB z{Y3PI2YbrG7p2?(VVqb=zQ!(9=xjrZAPu%8caYb1Dgx>F)6Kj(}rNMO?#Pn1`&a4;B$js7glWkp$w z#U(GYLn&45>}aY>(hmwUDOUA&3CGPNbEBzefN}(4BhkX6A^i_PYoh_Q#Id%~WirHg zktoE!8?&9D=EaX7te2SUSn>GZTHY|N&t_A zHk&gDT^w8!r5a;ug!JJ0l-@cSPoGAxUiZTUpcvwh-rA~?C^&@YA~*KPpy-+G7SCYZ zPF{R7+XzD1t|Z3QL4B?T>Hlfgls<5Ce6H=wP69cn4^PvAN!QH(N=Ow(pkz}`qk}R3 z?qD(VY)JJYQ(OlchR}ARa2&6YUOJk{oL{Y@(cmHNi$|56aqMY|*A|D9J#8L>TtAbc z8jkfR%u9_3?}h)7l1F=s>OP!H9YL=W^Em-3jqGggif1q?Z(H)>+d3G82V#{>0dF?% z%6_wnCdA`h828wi2b5NK`9KuoiYS?Qnc$MZr~kGkxvgOE*f=>kld`kp9G2TmZjP7H z@BKb_y{3az6p)hxR+Zu6#i#8OPTAL+d%Ap@n5+ZCH@oQ&a=IP(!Jx3cj|AUpwN*1{ zk>KO%K2*`sNq3NK9*+!dG@sXc%GJstAGjj+UR0Hb%bZ8PPu9cfnN?tmaC8m+rl6D=a#b}5)S(XZnJP~LD~;;ub7{2jg=IHZF>c&wPnQmIF!5u^|RTx#-ssOU2w

1DmF=cg`~Lr}`c;V{IyS{G61gbK!Bt})9HpV?x3=`!v^X_tnc z#PG-^FHZw(hn&qGp3h{)PUFNnCLgFxL4T4tp=qih_Zw&1N(%EwL(`8??;neiW(%Tl zZNL0~ZbGdzB?!&*VrSgzc0JPhVw}(H?tFX5zo;rSX_%NW^r+?*JL77%EqwX9j)h?j!y@NKX9Shj5Dy6DnJ#7t$6UpCBWW9|b{G+fzUUdgzO zMy)l+MTp_YlvaMdoYw!ZPAdz95zfOj@;iff=)BStx?KyMt2IMpu#)X4dudZe211-k z_u6?hPlntFaKknmFcF14O}wjN;@bHZ(XJoZoh)^llFM4We~G5FB%Onx3z-Gwy5R(+ zn;OlIUA^a?bmmgSs<`OLrOAGw55njQrQAw@kI;;-klF6-J=WJbwLX!Qgu$cfDrIAD zZcwkP_vCveb1z3@06O+Yo{)g_d_z_Y?EbwWR-nv{O#HuVZXy(FS$ek0Ah!LaYf;U(@3amlM5# z46)i$tPNbUEOzK$W05u{#Bv0}jkyRMyxluRDD}lFJy2c6Y!#aViVs^3Vi1ya}21SBocj=vB<3{eDx) z1~7g+(i@Z2Po~U%e3<JvO|}_8)wN9-?$4*hwH&VD^?>-jB?LqY z)k73!fHG2XZ<}+eu~rz96j~%-7;I|*Wcj35&ozGe;zsFUqdgK8TQgF#p(Ckl zDH&jaOo%ooch-lp;QhxBa7hfpqOBe5n(tKCFk%V!aR;Zy%f9}XO~b7NgU6U|Qlwt0 zWc8;iC)!&~3n!XT@%qzLG{9O0uwL`!15rbl(>A=5O+Cp$WOyYT!W)3}G7GJBWAVi! zoax1Im{+}lO;6pLwcF%$wNpn1ln3re1FIk^9#%SZQ4iTbFll$~fb8;CU!i==lusJ0 z8-1%bbm8C!dK^mu=V2Inp9;323V(;gx`*Ulj0_Md4x8zo^as`d;(?jW(AR=>b#+sP zGMM__+o>R7Kk$-6^FS<}uhiZEAQ4UD|HTinhXO`K)`yS72h;zsVA3osB-^wmaN~@{ z)`#JjXqk&n?s%Xn)|u^adC&3IBh5c_p0@7u$`Vwvr>723p!NPm-tZEGDo^m`@bN`% ztA5)Di%M!GI2L?R%J2LekG?8*W58WKrzPM!?)c~|Ny#}EVpYz5&u?|I7K`t=l@uXT#*8U$Zz3GT@umKi?D=xIPObVNK@aAtmJO7S=lg@2 zc{?1o%uD=&&j2fn;(2vgilo7?C(dxm89Tj0$QXWp${6!`PcJRA;z|ph5G3lk^L-0Ei|1%jo6_AU2 zR-YY}^;fbluKv$05yrrz8>LAato@F_wDUKhA-1u*=8@=eb%FtjFoMg;%CzIf;e!4h z^xw%om4eKEJebL2J5{1cvg9_SIM?D_80|ZqlCih+D$^-vkpNYALcAWt4+rO8>|}B8 z?3Ic-cE4kG8$ZA2s-fLevmy0?5k}ioRKl+~NYx^|H|`D1!aT>p4}H5l)v!JV3h`bQ zu&5N-AKY;G7|@C+Bg#7}Ql?Y0O-9U}V^6a~55jx5gMBcFAQDbxZ~pIoKx>5*^2SztE7@P+U^3VMK6!`X%vBbpR>6&za->qZlp;O*ump z%^mdN$T`u?CuK}8cJD+IiX#`ZM^-+%qSpB0!8#g4znt~{ULldXY_Y90IMqY*4#1Zs zTJLHEDwJCRCZL<*?(R-jSs4*gNJ>g7v)Dde$#VJC}uPc(aY* z1ZE3ziy=71djAN}o~5)io)$K1!Yhp|fhr_@F!V}29y5d5;e0*f=1{!EZ~|F!N=jIH zbrTDh84gv!w_&e5 zCtD8i-ZO;uAIT6$6o_;`qOPrd$6-FqO-w$jQ#2m?h|v5ob6VCmeCW2@Jh<1@-eLGO z%>&}kfho9)N7c++Y?GsDMqdRu&vM z>C8)L1OnmyI&k@S=4_Oy8dSUCyZS)>{5S9UZ^c#j^FcSe{X#<-hKG0o*8BJGoi+xL z{jPp%X*bys?M&pvep4?sJ>U9qdpVD_#8pcp~6IA8wAFi6<@aFmQ9Q$pM%O*zBgTGF3%NIfPDAzeDbof zEAqnsyeaYw`|>#X;+JM+f=u*s&h`?b=g>NsQrLt5PpYuJy}jNO46EJd#^`gkAC5sL zkY0iGa*^t=?)5*r03t7;@~o|JB9H5sXL&DodAG-&-LZiW&4FAm7Z)upVAtnJObP_c zq}OW7&Vo8=zF7^V2z)v);xO)k0_RM)I^qo)snmRYL`V77?s>v{1U1vDrqKCt-0u8z z^@l`0dG&FJ?{emwxw$zyKHUuC_?eO%5Q`e&@0nYSpz=tr;w&OLes+%9ZbX ztW?wDw~k3G_B4XbNS06WhSP#nC%?pDu))Mf1WoRSE;|fY8MN2<-MMhNg1t_SJ1!;! zy{_ji<0%9XkMRhq+K&Y`vy@EMf6BA*ka>9gD#s;cPA+IN@`k(ydua9fnonJ6BFIIv zz62E!r=bd9hnQ1c{=Sd*f4X@?lTcYi5ZSh_x4#&L#Jz^g zer2~_1KSu_1~3icr#_uSHX%FX3KA_|XQqCa(=tPEH)@B;CCW7`Pl2Q(61ksF>>(2O z80o&qISHCYOGU;xw0gN678yDTxDlLLFG){MN(ySSUnD+2)>UK2fM;Rxx!g0cPyui( zHX4^cgq6~D2g0%Qn;9|ulSa8F5n-I%XSxE*$y|#man&sVI^YoDs=J@t&VozjuG`!X z6m|nvyZpf}TS!Vd0_GJoAly(^GEz6E8dr{4!leYRZiU6UPG3*<3usFfCNmZ1Q|GFi zB}8?xDx+@0V5CCdAGRmx*-$42ZD!8-$_LCVn}n_+Mo0+dIYI%CE!GsP{x=5Pjw?$@ zg?6akFLee*;qaSBQ$BI_3lZofNy*8<8yluG&nn(H0Ao}ljP zmPFT1k=4C5 z>oj_rzUSdnnieb~2KQ$Sw=+{_as;H8VUcH(rG>rwL1a>;N2jk5-H!XQaB)5zFbXkB z%8V#VceR1vQ00Y3hDQVshy33ZOX1?Oj}D+AuqYOg$Yqn^o{aUDB<9pmoPzjB+7_(< zv?}w3@#|4LE6w15?Q`yV`K7K*#Dt{F>a<2Sk6m>uBDljHy3?Ny>yZhrFNCapw*6Bz zSZg*6$uAJV-q6pv7!_C|Wp|4BtO-&UzAMV`{#cr`fr5A)S0L6LKYC4uJ}N|Dsbal9 zPNY1x5mrUbZA8KEQj}p{aN;XPK>Be!_uV2KZskbx_Zx1(KtOPhA1ZQB$UNW$4~YiN zB0F|orD5wMq7#3#5VO7L0GE&Ie9$f62!IcVImj(`>TNpP$#Uc+z-rKDVql1RpY^fP z)sE0wRk{HDlPBEV6b(zaN;Utr9RnEAL2qr{`;0_STH#Spr==v5C*XK{WF)}1zAwg7@7QDCCFFTM~m?X@GMjgZGY)zS}kR=U_=L%s;_FcJsXPh zReCY_4LH(s%noKNrHj@=Gc|D=M9W4;3rf=G&q}O%tsc1%cOmeVLROtUks>StUIC9e zv^c*m(|_AfnmHk)9y8!EGTcr{W}DZA;h{)0SbQ6Kt8OGe`5;&rgqvbiqWb$^(x-Ycsc!s*UiVWHm>Irl$1WX4jQVN=`5O4J5o)r< zKfsmD`(G7J^?I5jf)oEX5zI$S*@u6n5A}U*Yf+QHOhls zFee5qfEM%VKoRd%yNx00nTaLiis3jZ_CxFDCt-A67xODr&LjRSZmMI!0hp?@7N8!c>hxLA#Y5i$SFDn}VFX_Dm*t3?f=@`3isd zd)$M;_Ec(}BUT$CE>$GjWA>qGmQKy%@h|--R60ON8l!1@>o@}t;6W&aZi2N4NSfX@ z^=Qct8_(9P6JmYuZkE(n#HiE}P>LGi!wE3bD(X%f+rn2}je9fHQ7Dt$Rp(#uGC{6k z^_9B|p6%_+_gg@=UR(lHsonVW77CzDuQ;CPDGw`iywkZ?Q_R zj)X_wopB?1l~6+C?7f`iVbZV}0WQK?p|a-|Gs4&yQS7Af1Ek2badgB*%GV?Vd@*{+ zI13daj`E~SuaIs$>Q}qH&d3p{qzg#(3A&!^AO{kKLP$>!lU5b? z(cFA@#XW9JqZ{_R!dqB8nW41&C|N>|m<~Ly3<81kmFn2*vhSbNPmA4U2R%Yz-!`eg z{u`S-s1xt&egbA~C#AE#%+ve>#>M!1J2sm<$?v@DT(6OdFX0ZD+_~cLBz9$lKd>B z$;f$y3fBT(gm8kij9^YCgzi|)J8inUf|`D)Y|S1;577}09-iNDC!5BRSEiMOy5tVS z_eJ;!MA`M!V$wjuP8%)^~Xu$v8NYA!6kQh{I{(Vk&gz87dffU6so0|*kNNNRhVh`nTxWQq?nHm-hVI8 z%q?vq47S2u>+D67Ia+MyvsPdfRg0^zSwCU?z^YR>psgW^u(kDW#3PLr1R0Tp{!Q%l zOGEF2Mk~`pHUSl$FH;klotDLTrp7$oy#jC+1h_f!sqwTU#lZ*G^LOFs7NqNM;(3tO zL;HD06={usnKkB887sUUI<)*4Y_epLuEx{*I&(m?wIAM+ajEr?rAi3+E3L{pLpy6$ z{CA2PD-^C`KJeazi#!UXf86g zA&U;}<3$GXLTnhs;4BWul@1qNdk5U3@SJ3zv#;fNt}sr%?NdTh9MNlbu-Dh4wluUY z7pfpZpg#IpJVsRCrHL4Ib-!O;okchpyzsiA}_VKB-mDlg5y{_Lt7m^=*fA~oer^6Pkcbt%g1cq^SSrB9 zHB&@m9)WtVJ9AjG0n2gzZdoFIaN}=j9xv?kXL@B#BB%O$9LX0w3|4UZ8r0_9ZXO?z z5Op|eE+OKK%Jpx_PN>@KR9lP{vSKuiI&O3u ztW3gCn~L#SW=)e(CS&_-0meUx)53^w;hOt8$OvAb>hTB@YtImW()Z_966RoN8;ISX z2ar2g`9n7kOaxQZ5{=Hh^|sk9i$@XnI`{W&0+2bi^ou0Ge&^4o$>z16#h`&% zZ7>sGP`-$eAn9+EpA%A)2*{^mBWoFGeLoU**Z_uDFHn#i0{>!(XWN$SG!(Gj7d|pR z&O)(N$7Net>(<7MOK}T{6VE%0*&R?41^75R;{De@zm0Q3N!ntCPJ3X7a0cEI3O;9N z7}T1EBTwPmmn?})X1KR{9O;@JiD}{MPH8jWlDx9Z-?(e<`awJ*FL#q?=VNSHa|9ic z;3!LDB@6lju+{Q`U$Hw$=sBk*oWT+C&v(PY*vqJlbCS8ZFE8Vc0cLP22t>aCUZvs+ zoYzMiUO$T*pxdDd0GqTXR_v;Fleb!$K_Y$sftD^$$Rp8^#|KVbJ#`TliA%zT`j znB2SwtWZRx5H!(cgl|LG6noX?aNlH9_^zQt?_*mk-=7FF}thOtZ`KR=nOc3rC z>SLtK%kxu-Yessy*93%$bnWHPQiMwkT&k2~W3i;qss-_E@UFspvxgxrqMB);hv|8c z%1W$&ISS>Ypf_UQBJEnx9z|RBc;pz!#0Oox4g0kAS6aLrbqwWArg`nPeU7Jj^{nIN zTi{ghpmh~huy*{H0pAnXYQ_@ZTs(6 zqoO5vl8ht&;?qRXD~=GD+3vtV+_}ZJ$+y1dfkyzo^BvbMDal^}gN+Z9^xs#{@32nO z`jXd&lQn2x_YkC4Q{%Tt?1oS_D|&^NnKDNf*nT8D59JI*{PH5XA6{f{3MGp*oRnC2 zG{wulrrBfD5S=VDELiYn###$X=X&OTS47*_3c=*h-+>TQgrOr-9GHlrC1b;XmPHfzV~UE8={$I)A_uHD8e3mlg4I*prW3j!JN1$2O z#VF9XXx=yUb4kQnJMYgwVDKh*Qa+LJEhRvOK0EPWSdGbd~JKssHQT9rYt^xG?l z>4n!^T@G?M{fE1yGF~?_2T5{WiJM@qPTLNuz_J(L{FPXmD-UM95Etvd8fI4J_(R*6;L@1 z9%j5yL+b^Yg785RKdUq=sB)PMurg*_IfK*fPu6-v;|C1~?XL{sB-b91YvS{_nboI_ zJm$@R#}KYQtlT)=EPImN{Ia^Sop?bb9%2KUwd=bKFsO?1JmKziyu(z%TZr(f8Wj}? zfQOU44a`tb+B|51j)cZ>bZDvxBCBQ*KHV1)fXo}$HkhECH#s;R1>lFr#GF{W$gYQA%C$vnV|GVyC++Za?a^AoG0E=^yO!v1 zEn9+&zOo`Yn_LTX)~aGfHA-XJn__7gN0x+5eQ6Knt@gALI{v zy}hxqF=3-cy-3vdO|>JxrmSn=?&s6BCk}g;xhmVsbo{^xMsLRYaMz?k`i&ZSL~}!- zV>TJ%nc{~YtJHWC`+AP={=5-Qg+c0c#wo3zE|qIcF6}*-y#z4@g;_$Lf(TbOD8+|x z3Jt%jBH{yHTu%b`Oc>|=yP2$9rXhI2MKS@mp084|3J5W6pkGFpKQwBo1_|0m(1`R{Y)m3|6h<})RV#_x48jHv}l{9YhjlOyIunzFX^)G9Y{ zU|C~=f=!|e^~{b@x8A0k^L`0&dF;wwp<9A==b7uJbSh1 zwAyE4&_k;k@d3ylZ<=dpcnbdN7z6Opnl#5z7LV>m#o^43QU}27UO8V2X0T;@hW%+!)@SW;N2JWj&ettd_MZhi9^I2lxhkalBcZav5kyMs1 zmgAYf*M44WycrSA$wq%=PCgN`Sl(S|k^%vbx93qy)8vv??c^wHc~S(A}b4>g&~JQc&(ONoQHBMEM%(k zDjD&(q%kWM7(PfgRX^r&^(Y{Yi{UMDHCkV(D+}0cQuaK=bJV9(RdVvN96Xz4lj&Nr zgWGwae}j>J9q9m0o!*KiMZ7cnWAQ0CbYy9}SBpY`z0#Hyp`oq-vp#u%uhTdej~$^Y z25CbMy1zn4R%t}i#g9&HgKJuZ5!dXb&cwM|=ulS$ZV{U8JxVCjy@U@|o`3P*&md~i z^4P0`KbsSRClzj*5T7ZX>TJfMMi?{J(_qWi*nug=94%GwgWMQ)N$?Zk(EDmeX70)t z?A#wz4{r>{9=stI);V73Ttw5|OEcqWHY5VOT_4WVjmb)E2N& z*N_a!3g1Pa;@>2T+CxG447+L z^}gCk@bjgr!D3L!vYGnc2M9)H;m)SZq1p5KNX*rN{w@`$tWOax#cM>=9S^ z@Tme6>$77ft0#D`Z!hsawuIIgO}5TVrMxC+y4rm1zE9iujRh4g2ksAZ+q_$aOKU@m zXy@pF#{jnqhorJ-7F7sh#McJ(yixToiWGH3?JQnJblejI7VcjC0Wp zfgKv2AcrU}b2KFZ_x%t0?!PrO+Ty0%0Q+KWj$KQ-aUjK71na zzglKM?s{}PU1{;->L||pSvcUMfZO*VLK--P_rIxOt`vjFr0%I_vYXo?vw5OQ@cWA7 zK935H`^mc4TcM6+=j6m=3g1F?KVMZ(?yKnS%J;4TBN5K$LU$8Q9c^tZ3r+rho77&P z;`CmtCxyx~olg-SgWo!+MfrZJanalZHgagKTZOOSc`8RFgIczb_s_=_8>73?-ww@Y zQ~6?a=+w*0z&InuvFmOq3a)k}J&mTJ%~%@0sWf?a^yRN~A8%Sn3r|qp1V6!~j5$uQ zHsILO^YQ&bibx$yuRRt+iNq5JrfT}a*!Ty#1P9xngRp6M227&=;EP|IP&5I$?^3B1 z1Ob5*Dbp>Bf;fs&$zG@9MfOEO$=(rHQZA+lE!T43cud`*%}|TKvWl|9rx--(E8`K3 zG#5@ziX1M=UW%C--SpYTVc#?lIE4`oe(fU}T-wIz=e?C4N2;kGf#4r%bK0j}sgxh4 zVv60XI4m}eyK$17qY;e-0E52Io7r?@K%W=cgfPH|HZ*XX;bV_0@r=1W-a2<&FWBbu z^IHP6aM0y?Z@T}ngf%QB(?DlI7tqzz(4{lcfNO--yyPNZe8l2E#fYVx#f$#PvKTf> z&?M17nkDQnP}RCaJfk!n5;u#^O;`%A#l84_bo9d+7fJMQu!9<3I>QUl{q z{ODhs4?%ozmT44`e_Cq3Y5~}v6CZHq@rKXwkpSe6d&GWB1MsAuLlME1d%`$P9r*_% z&Brw68&VtAmvTb!E69J>8wVLLt({R|7fZ~xnj^Inp19>W^YS9P3^ z)`v()3vbw3@t6~(8f1Triqa*G8Sb3YiyV1f0dSXwxtHC`ZC*gl&Y}9 z0c*?i4;^zHok*^Rql0U+fYL>^q$wyCUoDbup<9?{n@$L(dk#l`(&MzUG_Rtuj3M;L znVHVA?PK(t+IZtLnA3ykOrNxH4j17L4*#KSxfYAfKUd!uToFp^wBxnTiqdm{Oof%7 zXR8fiXdY#!!zI*=Pu3*BV~R7zM(L$M>mfNU9M}z?Igl=BhP%r(-D-_ZI`GJCJiic9 z#zyHFbn=pi@UnIjl6PZvsXzs*Xiu#@-<1}dVC84Q2)1@VET2s5>q`r-Ss8jAHU2SO z>F~A~N+jEec+B5~YymU7q@*Mjd(m===hH|pU|Jb(jC&>Iz z@lxw{z$yABiaH}OEt3th$Cx1$egxiw(KR>?uteGaV(9ZjTgxB{A7;_CNx5Oj7|T@G zgT0b-5gi55ZOoXLv7~>;@hg>84O-lEFEb*S1w?drB4^yS_$xfoDwi#e6nc}V+iIZ` z_R+P5Rsj+>EexK>7ghtCkQeD|+PBZI`i+{Fc5vV_M!J0}C0$EM>%YptS2*8_R^{Wx z=B+fJCI&-K3&#AO(T;SVHmKo)RU9<}u)@{6VI#3RP-jO20jrU>aP@2JPwi88sC9tN zXEAYnB0*$d%luM&h#Rs5Dq}Oxc_LnyhU16$=vh9fOV_bckM0O z@JRk|`6(lmAxdOD%WSjRMujb7gK$BfVk9_5ZMb!S@*v-@qj;&VF^XF_3n$=NP_f*+ zX_`+oRi72B5b4CU{W(*!|BJPPSx>9%_z@^LaJmIAPRXx2 z2x_apgub?e@Z9{5#KgpEURg#&s1sm>PBcq54Yo}Cac*8pWI5Qj#!NdlDjJv^tX8N> zaHI}kn+Njg^NzwEu$ECi?r{0A`m&-;&Hfp;dEJL9wh^6Wza^31bq7=%w!zKy)_MCy z!To6?mdzBfOX=P*2Fg=-w|%eiuU1l6<7f%Y#T;~O(u>O)2v(~$>~vbRZ_a?q#%Ec$ zMJu>61PmNSN-<%1F9rFc+R*^2-SSmldzcOjugY`XE!Q)BTjmz^-x~3?i4w8QC1weS zV;YZn$NJg%1yNFw#d{mDA+b;p?vO$-ciLbLwN+Pr`-bTILf{z=EGPfi=@_ z@eq`LxDz{k4>F=(bg2HHIs5;rjlsvsj>Wo7om1QSJEKT<$O;AD;3jT%hMDaV1>ynE zUo3Gaa+>Ct-KS9~B%qmeuq-msY=`8p_ER#twb9n*Ko#{|LMr7+1IdJ49yYg76%>e# zW(|`_ER=xQva+{k4jV0O?E+q9?EdM*~lc{C%oKU`-n!xhcQ;&9M%xY=|x z*d5ev2_JE&8`rf88AjCG&EHMa*{e0D^RdeaziFBnLR=JmAQB^Smm%x9L)~74g^`Dv8-y8b%zkL0R>-78A`=QFn0M%;=3jlQ66>eD zx+O#I4d;7vY>&tF(XXa{a{`U&cQKBcWtP}GqE^97uFym7DY9K)4}!OAJ^8Tmg`Z)r z#w0XkL26TaN?3|=6z+8u@zv0=nrSPgF=EvI*%ssA2a)aLEuf3#!CGfRw2wRE3V8G~ z!|wH9;~c_X)&N=V0;cWIINz!r44BLPFR&3|8xn~@3dZV>K<@|Ew#NB8UY;LHDoxSe zU?ikV6@Aq<$stL+xaoc&1LV!X>3V;y`51v~fTpiaYCYZVcl#_>XcPjx39D&0pq*&8 zu6VBc8|Uk{#qz?V!sgPjRHnC9viu&|HVl7RMkv#w;;XoUYzL@r#wy!VM7OK6hc#JzxRiea|ND-oq7;e z*XRSCVG6KCKYVJqp?awx6he+1d8QOA;njXe)vz)ukKT@wn6WPs3jKW6oYK zM<6#tLE^+Ol{tUndp{oxeLeWH32`)>2V*-1yu@gsc(**>r_(+t=T5Vzh8fr%QOt{?6{%&+!; z(_IgYB-8YYi7FCKuqTkeBMyAN$eXNlsS#NAGmp$oV-za+Jzw>=mT56pf#@V8_-L=0 zTnFKKvZp{nwcY;#c>BaiC*vvuDXQlVd+ljlbQrQPsnrm3!?((%=nhPF;@wk+H@{s$ zr_tg}{R{?XDe1;pT+SPko8Mh#6#3R;n5x({y&$IIy#haB;$SItgPa=?Bp!3OOMnsh zCq`u=(UdeYJf=^dKgWlY7|4O^$AU|kStd?0r>iFtp&r=t0`9*>FKW#DoBI#hrq)_W z$APBb=)dvGbFPcNp*m5Gl^E1&l7VOs97-#S{o?N~|9%}v3tf1fF>94b8s$=K8%ook zC}I1)hPfDu!ed12h2T|NXEl6BUx+VK=-K=7akwYV1C1kCuzsq0dp?bDwJk1eFqUgc zdX$+h?n-K-w#F&h3v@z9-Y1A0d8+g%)x8;0@mDGj?Gi12OnjfrQq(CipE6j!D}m`&99vq<;x;8Q1H`%pWb!7&i{J>Tupm8-kM zB4gZZRqEoqAH0lbgH^ll1i?Ha9fBEUynDX7Iw@C zq)|UG1UF|E0#(f57*i)=-@OdZ{7R$7qU$+`o|I^#Y_yu*K&u`1@sRG~ypYZl_8+Z8 zYwe^M9v;~5?x$& z8wL$Q^*}z4{FLo7X-As}XRZMkd5%_MZ-2S;T5zfaX2bz>08 zEl!)oIdt{R^YKZ7DKcbHSfxq0#U{OW!OH}|nTG>wP=i@=?da{sFQvmDg7EF-Sgd)& z0~<)G5wN1XD>8EUe2VV^A&4S^Iovc&@&wJw#f ziu3=_be2JJHQ^Fo9D)UR2q8#t3-0a^To(xL!51eu!QCOay9IX$65QQovEUB(eD~J< zLGg#Gtzyocd8hm7UL!BrJAop&y|HRnWi9VQF9gMvrNOxcLHowj#+PL}22EN#9C$)M zGXS}jBCI%BBJ#*#Q?Z@M7L3|MsJ<9%|MyHM(Rnkkm!#{gtG{^0`irH~nx#p2E|quw zwnetP#4fL~p-Z(j{$3oQ{bO5311r_CQeX4|NwJ=)(L+Zd5|MN^VH=^6<&ca0mqs!c z3%zoZuE$seSaUT(rWtGW@#Dq&btM5pe3tmzt*C;I!|c?Mv+%Zmy4x7->HpBdN{b-` zI8B?u{eK}sTMPmOT__Vxi~hwso&7T?HW#)lUk=??tlJ?A^zD!hx%Pj54j`S!*e=JN z?MTERZpNHROOLTZoh>rk{^~77|;mdF6gG z_(B>}No)`QUe{cp#f=d-28e)@qrak$q=wD8E4(A_fH{QrkfT(O8HUbalqy3bbi z-hg*;(24*5+_ztIA9u9>t(T6Mh5HZ-NfV7yr%zl#<@MY*>RyaQ^asm~H!nsWU7jOx z)Ee$r8?4ki!i!v`skx#*!BBBQbEj2V$)&nUBxI{7{!?I#6X9mscE8a{qUjp<`;o}! zQMM#bx|)IpA~ds8%V0DPkU`-`7f-exgpe6Bw#tT z2!b{2&R&iSk_(pzbO^mYS$3FS;E-NL?~W|PWa$mNORFOr-`Xn?pP&FmmSJ`v?UUjV zPJ&R+PK1!e&>q#r;ZH0`gT8i6f5g_@J3JtZs^OzV*%wAo-iuG%Fby%C`|hGIh^<^r z5_*gN6+G^*>FRftZBap@+x#_i&tG9Xn3)`lhZ|;{RyvxLO_Y`@ za8mP@)a<+5y2;Vekz%i80KTEi>ElhcpMh0ZKqO&b2$8>KN1ofk>Vlr#ix{kwU0h_Z zFOQ=UBOA~RQ~%7<+6iwMP2WE|&P%u)@-YPcGgGQt10^yM*R|riYB=3x){;i_K;7Vh z2z7HZwjyKiXJQ_4RT=Zq*Td#c|GUYw|WA!h6AAH1Jm+l|wpQdo^zU)le*oXeuvI*&7M%i}|Bj0IP? z&+;y%#0`aTG&qgJBKb(vk4B*)!|e=u>@x(R73VS4U`j#OJ$k%XHjLozO7Dcum-x?;+%l2H0+D;WPMU! zd#*`@=__S}*ScM$U7IJ6ts|&qmB8B$ABm_khs*YS_Te3eH&5MqaHBXX>rJ>Vnw^FC z2IMDUt$mc})<@Kr__|5q&!}*E=1CC*NqS)QGp=t4$EITum$p=U_EcDGERlN%0}-4q z+{pyEEKMm91T0Ofkq3HqKi{*=1Iy-Se6f9zk(@j8H)87OEckHMjJfqXJ=lUqL2@CO zBKPX@>tVysst*=b1PluLV{XZ*J)qpk3{lkB=yIvN<5tXz!38xo^N9oPtWFYXQl0M* zgMXp0M*3(>Q@E0?Ea%{E z)j39%a^&T@O3^{0ara`V+*YmElvGzC{FWto-@$7h^D z1M29_V3b%W$3(y~9_=C8j3wXxYbDIgL-b-hSaU-cEHJ~z2zCMLEZXo&=)f+g{5TT| zX_3qk!eR$W`IC-c*2H^{2f{F?76-M>SfvJ`SP<{OmhDZB*ir>d1D6T>-%D6=5OCQ7 zU^v%@6sfrt$b9-SZh@erVtRWSxzlsz(KVODIw?*Sl|6ZjL3N==2 zgo(W1Z2B7k*-;uLOvQ$BYeQa!u}CE(O!7n#owvCnY|i(v-uU>qxT&)Tb1h~UojdSj zr_CGDfP0?dRq-QpTaqAw$WOCM-)dE?%-a3_;XjyvEL*TmV0227LWKm33&@`Y!Ifv+ zd5gnipJ0^VV`N}TbK#ntmIx?#(4dMtjEi&yp%n~Te4N7uqRFZYVj+7Y-@u=XOmiJn zX&!0Jei@FUp;;zb!MXvCNKu@Sd6Wx@tn|4=Rq+^cnq5COizf~F=TR;v!gE#wYl$W- z#AELl#^$)1y@3d((N(FB{Sn1072*qAHviPyG$8TY15u-sNBFv6Mv;SJVab%;G>F^d zCxMp-h(M=xqHH*^l?N6&+xE9xovDvI7hk9@o*!d?i@k-m(>Hz$TvPv2O`jg4HN)Rg z&taTe<_%usO6oViOiqFUthisBxqk$dK98Km=h_R1b4X(u+!M$Qa~er=OR|cJ2y1L* zd|JNaFbI{3(Gsw?^EaA=`l;hIT4X_;0C$7h?P z*QVF%n$3pKla^J{dO*F@g@`vKJAAIcU1nLU5Muld-0(;|q1JBMfi=+xjb@}j-NQ4|f2wa#Lw)EXU z9n%OmPT?Qjc|vx%Xk#-Iqj7aj`e!OXee6CU!pHtnGa0suSt&5G5gHtU+ZyyKQ_4x7 zPqj)>8oDtP_vlv~_uQ3scm@2t_z@kxETCO?3cz(#15Uw0w$%CY%!O#Z%k@wGVDJU) zh3_*;d(L;*b81rV?SUmW7W&qxOrop2yp=F47Tu(90yBFmw8aP0HkN<)QKM6(FW4@v z&RBfzX`##%W4#;+wE4%E7l-Y9wjLLY>025_!ck2;j-5}K5roE+f!`3-nuOY3O%ifV zmrBWapf$nu38{xCjV^3lTWjAx{7p2`&;bFzk=7DFs{wcHieGtzqVn%_=_aE-F))-b ziwap-^UQP;g+k4(ErX{4>?Q$DPBzzl)XINk&Mosdmr#?+`97c_S%|9A{4z!zJT8VMn2_Dk}Qi`5rB9X$V9UL zMhP138Ly`%5I#POUUwdRSa)!Tcj=N*8WXX`UgH^I_fJGc$I2TV_?;$k7W%|o|C<$t zH$f?1c~tFi1`4mLm($(NbwoH%57&po!6rb7+J{}o%E^W!u4n#Drd$EdI_bxcN~L_i za+iW81?ijuwfhfSpFF8mx_P4Su*WeLAMAsUWlYOvzmG+Psh7&?y(hZbZkZ?PP9;#D zvFrcoVH{3ChQD>8bTzg2!V7WRR(COY#v->EL)GP~AhMso!o!AMxdWMao$nLUk<^1S z?G26}LkgJ&mLofO3^GHpy9jcnNd1rU?8_n+!(M+y3K^{ZdX45k6VcVx9lMXJJN;!d z#MHd{EkKRUiHo08Lon=t3?UVWr?$)W_#aG+V<@(GRLz~9e`HN@=*8#@rSP?cjnOpo z=t(8O)w{gB9OKn+1@H0C2?K-ejgtRe>B8}sGuuqOD(I`ZUZ1EI;NL{y=`<{-dm`n* zhKb-J|MOjHvdcgj^kBXS==ltolB=Hr)PVPX`u^EkTZa0W#?6uMWkSv-utzk}Jl}S7{*kFc>cH(_yt_Q1;P5NK+vW>a zsm-qm_O9@J)#OoUhKfByPg>gyE24`A!89es5|I&IE4;@;J)B5m8iFS!+cCsn$^`s( z2Pi6Un@mmZif{_Q3;;<)0oGO%9MWb&fzMKTjhiM%)}AbtMEZqM@F{by{Kq!^lVttd0);Iw^^4%nsL*CuVOdXHfQDZ>oORGoA$$|M2=^d z6eIufGQ`>c@`5$ibM!koK2u0#d+6NutCo3>&9+O^sd3Ys4RygnduZ`X?H*V3a5_40 z?`*gdIZ7H|R1RM0WUc|2efgdQO-im-28N%ZT+xRHwpQN%6w&7d0KW|?RYq<@zP`~a zWg;U!%%WMI%$LgH>%l{+SqJ_B=O89xXJy%hSb1dE^BxN!w>{}$mCnk<)nXntGy2RQ z3_{j!Q`7RFqkwtfv!g5KuGh$4s}`ZC+r9aBSd>&v;W5A$0_*!5u9HK{m;AbKbR#GL zIV3>pBn*$JFH`&jvUD!N(;fcij1KMO&Zz-p_w_HNrqA4^(}us*WikAK@1&>PouZ%r zj$E|5EjoXqvUsxCfX}lTI26N)4(-?jOmmf=(-?%$vtoa&yP#WTM6Wkzi&gV0{~8jM zzIYT2{r8;pG`V-n>C)+gMBe7ZPu^w04?a#0i3z3X<0iR^b6$pv;qdpTh3}#@RqX+) zfxh#@e&2i8`g2Kn9z@U-NM3MG-!oMmQR`lalW~CiZQzgXm?sCE2|3@7*<|U-oz_6e zamWj#egJq1YLKdF&!q194IoUPPq>^qOI7((TA~CzM?VU99(W7f-jfQvzPbo}xxo== z^k(F%L~D!URKMuOR%LXL|1J=Tb@;f)^Xzv!&j05pL)+WiGijM^^@2?`_u^h%$2iH! zrDvlq7CbT~3^q2l*e;rwM-p{np@w#F(jQ(l-k%@XafW#hNJBXLKG7iEze1fU2y~UJ zpZ;bXWqY7im$yC+oOw+s9(YgOWj<{+RgaB-+U=vO46|(?oVdpAqULowNk!@V5SO`< zx6tBjfulymA_vkd61?cgdECPEv(zSRcV}1u0-m#F8VvP5>3T2sr2cR_eV*2shP`*h4JcT7NS>ELrY{BDpUe@NJ* zHTQOt499AuUxOp=p;0JDKQeY3e}L-j+WJ9$=yLp6=1hmoEmQhx{79llGJ${dn`7sN zeu`#tIW}t_D>sy2#E8|P#Ytn&OrsT&tDeDaI9?!5JMbVkisO02Jig;u zI`_51d&3w`S75`eD;ruX?c;T#Qar9VTh)iyXw|hYP;IeM`FOYkr(3(7$(+gX)$9SU z{^fX%LCZ|JDR8f%ti5dHXZb!io|%?9*i+I>QiFcHT3yM!MaiCFz6qg4mv=XysLMsF z&x>MV=oIs)GWqFRZfDJND>}=wbJ$JL-Ga_`H;q5vHffo@zx~kT9NX2QUS@6iuU0d& z^XyeH5tPFv{*jrua^32pYbOkWF3%tfBz2ca2~A^HpQz3#$n{FLzG?9p`P|~|qZR*{ z^V7Zx+i3G`ER>cn>MIMKheZPrBQb|WkFcPdIIC-r)PY8as zD*Chx*N*(LhkzX}7P1q?jkdX6r2h=Oytvx(7gJ{;u{VF`5^xF?Wq$d75+PiVCgWFN zSE^oakxAs=nM8~T| z*qL_p`pe=gKu&rBk#NQ$curoM;r(IyH{qGzjgBT7IO))$GFw~Rq7-H?-?q$v|<&okg5|lU8G1@z!sB0K}{ra^~ zDU)$}+w9?v$PA?9}5p$eMo*e4wW<3+os)Osdi}_!1eFmnmn! zr%}e?716*=Wms-uYIW;X{H0*XxMRjT2W;Q2#=?ovz4)sS)% zx#8`4%Bm%plUn+kqde!YgEMO}@cl*xb+0`P5o48cW8+UaoA#P2V!7X=4Ei#sL49<^ zTyA?keFYuc2dNWuSDUv$rav;aM@8>rPr{irkM)Q|fZ%hFn4(Ms`dt`2-#YaRYLB{1k9*cplV>}EuNM<(@x-+B5=)Chd>?%<3G ziup^N70w%@*3QM7#`PruJ(h}`isFUHg`M)D^sDeMCO0Ro;hwHLoZ=l6wH7Tf9Mc?k zmUo2-d_KH-9%hndzg0EPJ=oAt^Phh@IgK>hS!53?3m4LYSMrk$noDGd{#q}2M4X+~ zNxHl5wcb1~l^tt3uCMr%FW;^fJ$c#9z;!g28=Rl+`y8L?xng!XJ`X+TJh`mpB^!uY z9FyzK?Hy%3S{`Cmt|V5T$QPECl>F>ifiu!KNg@o9@}N7}y)1MxBWIkB#^crH+ODAK z^j7FPuTu`xJ)Lxp;yym2A-UeoI=+^;YV>R$u&!VE<8Q;uvPl009vqZPV6ZZ-m4dWi zCf}R}eSoUpDG3spjI(aScQP&XgwAPcX`UywLy^rhm0<7Je2Nzt zlc8vIM&8e|bzra4FUtD}Qs}bHS$5*d!Nc_j+PLV8r_v3K}S7?Cd~`OVZEk)b~!b)g2I zPm@IXyy?*z3ugJLKbiHkYliOiVimq%^Kn&nEO=)rK8*e;Z{aJDTs84C=v|G!xc0uclJmRuQGY#BN zi716~3X`=r>g@Y(*TurFlIKf%eaybKYfD{*J7yqD%GqG&o&bcZ@D>@~w0A&C z;qB!-3TB%-DMJYPYP&E6j6LB9_w`po{TdOu{z&X$+v`nQe-<`2vMwy4rmgE(m8iYR zs_!_442Q*dd$tK+u2G-m#CHE>hM5je@S~vY!FsFw@a%W z(v109yvuU)r)*-*YK{OJ|6JHgjmhPY@JsT~CaOo}g}%Get5{Zi*JS>%VTl)%H9>we zBFoU`bxLtL&2`mQQ5JS`#8b0`p}dNYyGxA!cF$%vQVq&xnWKxbSZeO$Ugpu2)mr{m zRbmnG+SX5W+RXHLsvgnFKL@QffWATj0`)d1e!*b+p@RJ@Mi(ZHxtN(8Due5VX}Ft( z{&ak8G3VvLi|27%rDxL~AG&RJ)hpAY9sIvVoG6jM#2&Ee@T0YrN#m5kG4VZ>9dEl7ns3rtZdVz52WMK)>(# zs^i>eqJ}e-p!cBSu|j-%2?eFU9^S|xo-pMfQuQi34+9vog|OBBZ-ode=F%8rso5b1 zpwB-w?;hLEJlE&Ej0LUciBs=qL2QRf%&cobhziK51P^8de3@QK49cgoHEW~StF5xo z46bPqURFXEXSbwQcLZ)XP+f%tF;?!5e9vG~(^`b4nX=mhO&8Gam<~BA1zzE|`#N%b zu~mu$7{}g@*-J~gLbPxRsQJHDrIiS*z?TRee7mXS-p1AG7>kws6f2eZG3TW>OV1aA z+qPWao6|8@E9WQ9=5{E^<{JhMTsAFpnF%!DxhUClRfg)~<@UgIb5mpz z?yYvy9Cn)JextZI_AO!^y1~E{3l8dz@POWT+q!zYgtQ8=X}ol%R{U_LEjj;*g-+fL z`h)z#DOaEHWm*b4r#REFc`pTXhNqRdo{EQEohRr2DHR;f{I*5$Dhkv!A={Ed@ZLMT zOH_$>T5}vCGjCHz3zdmrdth4>W7Lgg{P~_gwFZymooa!XN7C>y{~5y7N8Mhf#AqR( z$5d@d*XX83XTLiN%BN2%UMQ^NvcBGLFL%<4@6ohJw1r&`W2>DNPi?TC$V#}g4e1^~ zkRN@rhzvt6KFi{hxW3A%mVi-UvlHAm0?fb*nS_jyW_ucZex(XF?)z4M#uQvV z4q}M~Yqg?s7R&dQ&#z9~uS$KaFUEu#y>9%$GBqCE1kNI3Rpl1a=5 ziAVjN-jzD3rLq*~Gb=t^hZjwsp;O;VJy)+9TN}Z2PT=l#Q2XJ(Ni^3(KFO?{i~=DO z8h{EknWHtkXF@W1kAE|^98TONtdqe)I$szc@FAnTXN{zKvwlLzradTb@g0OaK0aRI zkCcH%wj?nooL7hVgfGx7(&%|(ElwL%@JocFF!Ix`OTL;acQ z4|nazfMf>Q{DGt(#>CB9RJEH4Q4)g%b`lNDAn&l-#r^Am;j^R!TrY17m(_GXs5|l| zeWUdM5IIS-i2gnQbo!zdtr!K|qgJdQ>>)Dd8h?BpUpviO&&vKx(oEwVGbLF>d zWrLwb_pT=cL7*1(N6?SKe3#hK;RMXe7*yi!Omk}GLqz{zZzb+_9oU)5;Pe+av_X9yK8!wzh<2H|!$=$r z{7(f->3Fx&pYkc^5r5v?3DlQC%ijH@Z+tVYHK(z#>OL5nyKjNBzCQ8&0*v6i8N%)& zUw9whvKGdRx&(hEvyiEzU`8MA9HlLL{}LG}%=KK5T=S4J8^FUONMyLO{4viwI@_=8 zejMdnK6l<}23_B`akb(w%tD8-$&)QlsDwtV&E+b`^Pv-0XUm$*y3Zls$dS7No@ z+3-PB_)NN=aQ)gDf;=}nT;NFQ-T>~2`rBBp;&QOSbfZqaxtyY+M!{}Q<0(Ad<9|g* z{jXPX*>=K#r}1%dSTaP`dZGPqIM^~W-FmPC0|PV{EETN$MQc?xJ%Fv@ITPi&@3Dx- zdd}y5X1l*7<7(Q8(EkCA&GFNx%~1G?IHgxQml&Cs=m`)DA_i#*P@+kMuVQdW<2zej zbO&6h(0qaYthlzeE5;lfBmBBJx1=_6K>JEi0Z&ZoFB-~JUcssmrg(s9Gn<{{X@6R9 zOi8ud(j8mxFJV`;I>gTQXc0O8q<3KbS{ucenov4wMtviN6ZEX2>nmwdH`?$`J{wHv ztos*ta@}r<9#aM)n=kFI6!RJ5ff~!ojWI5R-RTNQLF+};Z z93CZ}MUOKS)-x&4?JoR+qijBj%plQ@TC0#Ea^1@OmIIePYqI7ni@w3Tlrav%4TDw} z#~Ziz2a3IP-2uNa1QG#pYtA1APT>q$OzM{iwp4&Bj;v^|0AQLyve-C!eYeh*6TIoT$zA3p}d&JH`yKsV z_pd%pa4EY73&yTFv^<~W8X95+&1P2zmhH+G+okAR!~ARihX!7D&mxSOdK+5kRaQiz zlV{2}!G2jgyVI&iq#f?n#8O;A`{mC%)R9K}4YLm6op$p3&7ky7H;E`i-n^n}@~Nz9 zvdXEY>&ATRODLAJQmzYMdNqzDkXh74G#l2!gqFUx*9r#d81~0uAIuH@-bHZ zv>Dg>Z)VWTNqsnQgCC@h9GX~w@j_ENdWD?o4L9{&7LX&9PzK+h2M@$#rR=biN> zrr*8z&FPAkUXyLhSxe-#0xkh4#_POe;Y(bShPMoq7YIIzG|2}S@jC6wysUJ+WE9r{ zZE>&XfDrYxBwZF`$ga3b``;oyr+`fG1CN@!UhEphr2i{mNY(VO;O>JIN7l##aTOCc z<}gHLj%Ic(xK-G9w9!HE)>JT$6jFSV)YSr-ezz8W=9x^pXRSJens$2ufmVQF`FP;> zYN4ePD$x@Jn-F+xp6Xytl@M~jfrw!Ao=;WxYt>kH{D55;m= zzm7Y;m`}2O@!d&H@APPwvPj^LF26V)5(5e zMWOJCc0mJ28+xoNSmQ{Vf51DYj6q97TetAVLM|~eyS$h-Q==SH>9C1ArhIB;Xzn@- z=L=s(yN_7ZMyp$=ml#=S=6uQC(y~{b1j2yEcFT<`D@xpA{fBDxr#tXuJ8#>~?Fz#j z@EU9MaA`j~=as^IbBpx!;Z;%|qo{@{mnyZ8qkEII6RF5J?MnX9Q^g0zE_D=G>73;4 zRLqX*tgfq*ojPW6*nQ2LG4x}AT~!E007SPB1bQNPGlQPQm1)eAR4}kzY9$#wn00}I zmqiqydm)M#40E*&Fi+6=%8XZ_2y<0qNpy-P#xjVvedqF=j``7IsF~jz`^yQ4nDPQ@hp{hh@l{W?LWPC2s&4u!d7P=a-p=Anj!Rf zNToc{oHg+~UZlqTe4P&{j~qJ|F-4&j>PVvYkHfeE_RE2v{(|%TC6JBiKk0@^g)oq^ zW+XG}d`qphzru*7AS?%pP~;EWxE+fvML>fZNg5h-ZM$_%`aF4*`~-k1RpMY9L!6jv zMMPM``dAP(Ns>`y^O!rg?0(cBM?VTJ^a6dtP0=_y3}*Lf~whqI$bL7=mxk9#bBM2-<6?H@k5Q4!JnM0&g6lj%fR zOYo}m`E2}=j*9Sh)dGlnnac|$`ka|5H+yZHeYm(Bq35StV&(W#EDEdQ<@m(8>E|Yv z4z#{1iaXF2oC418EC3hfm$>Hpj#&W=&;mfFdgo{z7k$A|4yQ$leWK^()#-Zp>!AO% zk@Gy9bJ+QG#zC3iEVhVz3MZbl`+IibzbGB2O8!^6bTl{b?z z(%`N9LrDAk*SnXk2H%G>*%!or+ktAp_VWHN7v)F5cmDkH`6l(dWH0hZ}hP$X^kc>g^?dBF-esoDvU^+>F z93uauzGoTQY=JWP=7JpO< zTHuAI7FU|#q7z{?rLidqmo2Moz|wlE$B)Xao#9cr-^9*o83eQAqO85yzK>QM?ot^O z+qncY1jcb5Q!{pJzu9B%&Nnu$?Ya);e(j3#8==8^pD#C#Mh-RFETjt!-J3@JqS)Wx zAC$}yuZlz$@p~jQ3FHl0@WyvA$>%y9)E|!4KQYA#zmUxlcle<0veIPtb-`(6{t(5s zPmY|)bSUZW8YY|Q9LdLDq7_I4HJ9syu$RD{G$J35F{A050@vHztCuv%dD+M@D1>Yu zH!3@&=3FVP-h&W36*AhL4abT8^45U^xfJm9iri#hr<)C=dj*$nJN{N0<9Oc6Q&_ou zlI5?L2DDc8aIE9SI@Zu{~FSLy=iW*@;R(8 zr-;71vbxw^gmOTIZ`$$g872!y@oq*tzekeN?8@DK>(bAAksh}hk3aQ%NT{AYTZ*&3 zf*J|(d6qmflH_(C^}!8Ce0!2?2a6k#P$~zan;h<;t8qH|m2nvgl&wzZ!TWC=%Gb6R zY}EQ2SD2{8f)WPe7wr>WET`??A?3VHQM|+%>vYF|=t3~+O=UBQWDjw)XqMRH&78vU z?F)DUo*MOteFajc;oCn;FjsxmII;Uc6&KqWYV%{h%LUm=VV!eCrA-6h{Lr0dTu*Gc z8+Jaax&a-Mk!Az?KSBOZ_*!&(#a)LX2Yy+fQJ(&_-{3db-9CqVCbNjpzRy&NPT1>peFMPfTJ82^21FuLQ$+|} zA%La3)zFmCqM>70qH{??!uG2?Gs#LOLen;Gd;#zLI0$8DQ9b#x&n>&rT+P;zD$E7{ zd6EC}fgvJXnR?{$Y2$nOv0;P^tMtBiq2w!70(_kB?aR5}#x<`K&dX@ma|D2|*(^tS zE$oRB#ZkLTRh_in0HvSd@HN6ON6LRaM;A9uz3dkS|7LJ6M6h(0{MU8Mn%}yUxxwZj zmB6yG(jp|IGs)%OYS88u_2;@^B2EThrzTn|9VwO~2Tlm)`zGPhVr{;C*NYp_d>0y? zrG>0jSdG&<(sZGTiBcE+rG@(iM&-W>qAEW8M?9w`KsBDNwH$&uX5jzGr2kumrR%v4 zWyP#B?~UVpdPut(IoxipENQ9{kQ40wr4kkrDv#~ zd^mxv+;CJ6ET$=6@WPorTVuJITx6NGd0@R!qHsfnBh2lu_n8(8w~#*9$#p%zpex>W zYQ!buZrOn5%$#S^zI)Hhu7axq>b&1ZMJML`140N2`333t*NaN?nbrtlnCC0G4$njN z6}UZmPb8O^%Qn>l|4ar^(#PjN@pXAt7>sr*Q&*&@l89XYL-s1d@VWP+T^USjDSBYMYHi{vsEzz+|t7lMU#a z95`3w$zk?8xI`aK2K{_U|B%z5+o4$=Ybps9uc6q%js0}>EkACZ@?-NoWN6y(oI@WZ z@&B%p`@QBJsA-XJCHhK6OXS*YG?^%$DSgZmZoW*K!iV!?VC*C8YK<3ecxpK+jg*(Y zYZp>%vG>XLG;qE;>^Xm{V2xqrhP$mz;=PJI4XrT-fkC<27I|d5Dc_1&nl7V1={*qv z8E;CDuK@z7cOaaPwft5jP?XrT>}+2H_wUI_HQ}dTFvZ$At7kZ+hF5xz#Kyl4X)l}> z9}xW)nw%jIM+DcQKyR=#0*kiZuvQ3MXblU9ER&&z8$=%qbBxm>-P>Hb=l+b?WF;_6 z2VNdIcjBZ2?EohCd?x=dz`lhpHSWwYdDQS86L%k`@#$CFXBIsSaY5CMn}E4UGEClp zB1m;NN!@BFO*LxtkJ{7J!A*S(hwDmln)T(wQhHWSmd4J+ICPw4yzI2Z+0)mzDfyg9 z)&6Utar&$)*;@8c0V3*-)7MgroYr3+pY^Vn4|$>Y!|&I)_tjhth5A8+t}wO(D;#Jh zhs$TYAj1D#<*l}q&pRhz1A19ot)uy3>r37j)@Rcn{VF}FyAo{s_5U_5I*X99c~dd} zYlJfp#CD6L~=PREYHpqqM78NHL}yH#y@- zz{jwycRW9^Ux2<75=?>--k(%pAtkU0>o%{eJ=UK$wlm=5q^K2|#S-6cTmW-`cVwI# zeM6*)SU#;_%{O|-QoaOQRBP9Y1u6H4Q7)i^g|PJiJ8NZjZiI$|V}@>lP%&;0FDJL6 zxS(KG-Y0eD&(uzm{^SV7K5`q~ENzWumajrrH;%j^HBm8B*9u2NO%fCp)klQUH$C(-nQ*q<% z1rYVLlJ|>Jd=y9$8n`;C&(ae4!he>v6W$6kXHS{-JHq)B`4Id)!Xn#43MeAVj8NxZpiu=_WSS+dy(MW-0*N+fX_gXTdaxF~<$UTCWr*9w(>qr^BYbTFZX`0vdQkA5q^%YY+_5o=45mOAvCQs?}cPz5EbX35h(EbA|~RIWN) z+JZA7^8gH-4HLO;)dyG%;ly<|;m95V1GrWJF~zdS<}9d}Q7(@fEVy5>y>n-c>G+Z| zWvahwXW<^mn3WG(&^ZI3)O#vHvrc8u|FZxKz9HM9gfLPJ6X8RFPFM#&wU!jW*4>C2 z_mTwtIOT@?uw^wJPJ$)r5t=#u`9quzhw;OHUuzvF*R^ zBfQf#gdkQw*1W(&wXyPRqF(A%G{q6gjloG%0SS`3#2NO{-j0!`=t#qOb+}KUSm`zk zyOo3|H8+qzcj!N-p6|x?X~KS;L|x!3cjA{UK>|QlvTe(I)eNMUyiRtm}?xr6E4;T8=_Fcs<@iCsUmgD?yLDTrPA>DP8y_U z9HJ@_@fuzkIt9N^-}Yw4z|fAVU9QBga`2rad!C|8oxI;nQ|mhdA=g(YLc z!GTQXw;K5p-8F;psBd76SSOiNG_3Ag*cG+4e%)YIw7;hW!|9LkR9F(dJjqo-T-Vxyj;`b631q$x89@ z08VQ0zo|z0+MvLK`cf1S)$g>X=(EU=KiLuH1c)I&QliKd!_q7$%{%`c8%>2ug>x^p z)P#1K=MI$zxqn7B+lYDmK#(XHd1kq;wFslKojdu&q&D*70EwpWuJcY%x#gq9XnXf! zCBu@c#WMEyAMf8Ee=Zat+)vDU4S_Ko#jV`9Xag#DW{N9&LfBjZ(U_z<@9K?iQ-FlU z7-ER(r;Nri;$RR+FpESa+B3vq*|FBIN<|?S$f{cD{qe@Qv+q8Do&wCWo4gPuhyS@YjtiJ5UmBzfM+x&+1}?U|2L z2taBWaNxT$n{s28Jpvj0`9+AGDM9SHw7aCR4c`-pCh}u?v>jmww_K5aQ_9js20!wp zHm7y1iI6@1G=M90xaZmA*f$G-u|a>q-ZPi7YQ`RV{3f|9C3kr7BA@bG>--wbf!d6k7K@su%AAL()$q z77t<#$k0FD8HY^C{J~@Dhmpj4q+`qV^_tPXAKrt3gWnrzso^(NLj>WrlhWyLy_53! z!}6S#i1Lno>%)`?oMl0f>m*_vZqYxlp~q|$w01ENj1sSuC;C&jYC-GM(+ zDI|40Tt8a*0d{7YUkC7NWh?8?7-poN^)snGaHk5d$a+71??Ho@MREtbi^p6kDWD=0 zwE4o! z_1WttG$$ksiv15`$a{Q82|$Vu)EdhkO$s~n1cyBZwl6OKB-aojY#+;|EOxeZtT_eb z-J{2*Uu2g&9d)ub`>FgzxlYTq)O9s-oh4gFcsi8DxtKNIf~l^%+c(NrMtY!0>By8v zSzP)Pl^F%bZOQa6W9t&gvfrKUHr)q#KAMx`i`;)BekG4V2SSGAM_OAd7>k-{1Kn1( zA;LL#pZY#33DY6eG`WiXpxnp%*Bg;1X8^L6IgzDPdcTPfau|jMWICNb>F^0tHKi@u zB{o3mjT__eIKlpKxSq7)2x+mF6U6&XjQS>mtb@p|PQ-YG2A@g`F=s-5#Y78G@-TaTrK4`mQ^? z$v9IDLkUEztsi8EEhGaW-NLFEt&QY(B!1wu&7v}ZInlQG?QTFm#s=^(oIc#DE%#_# zB$V7+C(MsTV`TF#Aok@P*MTF6a7m?Sd_;^#b%+j#6|{pb{T0{%Ug^96vaF@e2)MNGdU?=F*TuG;9hIfDf;=7)(o0*FJ{iqaEdRxc2{cIk z;w_VGPm*0oLuDdN5;LZ{g9SWNALSLL&5qU!Yz6B-Da-G$1qJOYpP+*^3w&BEIFJAF zb=10rcruX{NfW$@3MPd9bgR?b9MsGH`C(K%>omE`XIkn%e2TcyB6vQV|CfBYflNS# z9b7v{wrM8aV547sw%vM%`_zr6kqg5pVD;kcFE3Fy$wENsG~#B@V(nfxE7GSA zncbKnn217pySy-HglL4L*OUU$bgSS|hUX9n%-f2tlYC)Cpx=A8%iZ2b$|`%nSqi&$h^ps zkchT|e@v4D-}zsGze;lW0Dy+ciEp7ib^)`Mv{8 zHW6a{i$TT9&keYeS{xOgZrP{U6Z}E-|9w}%cgNCKsef*6P-&}E{vVpoDlDqDZNoEk zw=i^f4Im&PDUFm$GtAK4T@I@RZ8lA%9){-n3R7KRb+|hA3`P>?XBLPif|v8DIJIVlw-! zg?H#8yV;arl=a^R)Pza%v>cKX|t9y=zy7_rj@u1_f)mAgp0hsZNS zZTjdF7H-!o5dzge+kVgaFP|?ySl%#HaXvSbmQJKFG9jwua^YIW(I#`uI5$t#|S3 zjMl}3JC^qdc7&|(l+-ZcNjK$CwRgFJ)aP0^SG!}E4ORgA*7M@{dnzywI6L#Q{>&GW z@j+D>?;k}xwk5S2uFgoAz{UH;7hFuAL%IynDb6fHfldj&Y-H#oS1NKO7MFj;tNT>R z@WD7I^wIVG(xaXkbC!Q|X6&_(umSKQMkt50Jf|nUGS3LH>>N)^Th(E#GppqF5D+}m6d{sFQNnK<^JXKtExeC1Tl>0qDg6d!YEO?^Mt}u@u(chd*`<8jn zafS=;@_o%|Q+9W6I=Wz19-Fp_-PxqjUHIRHo$2gV`Q{fNyL!mli`Q*>Q6(y8B$sN` zl|Xye87jc$qR%&ZVTRv_tJ4d@;M>Aa6OOb+4vTpNhXXQs_q7;s(q*sxrz~AG-CW&* z9;(TcYXE)(^ZY-UtVXykMtFlHmMk9D0Tu<^Pg-YQ*QdLUXXA{`L}CeoRlkID#wF8dAF3#65en5I-%(HSAY&A`r=&cp->jF2Zi&h=Kj{)Rlwncgndp09Rp)xE$!t z8}|bDqF7`|&_kT?jc(=!PIwKdHz-EaPIewQLi!aN z$jJzL?sd30bAkW3>EsJRM+zS&gFj1lwTI6{o<<2VaBuL#aW;6^mM;UdcS5FPNs3j+ zvC^%mIOSlD(A!Cs1k7f7FudZRDG5KOnS6cbrukgdGL5ZrU@R;yB!&B)0f8+?4=~z2 z&#LvW0h*R_bw6*&Sfl<+CQ6o8mzMPym*mw7(_^d1YNbfj~I@)9-uqvc60%{ zDN_1KPpxhZ<;IJw0ifjFX8v#_`--@nl5SVsz=^A=|!nJEfA%g+vsk{?tdFz zJ>Bn{65C(i=NeX34H@hgXxwfOIIR$Yg|75Q$Ar?R?Jn3wX*|_BGThWq;x>o9I2P+2 z0}xUrI0>ANc)?rswj{UJ@Pp^L{p4xIt=p0TO}Y^BA{4@{D9Yqrkgdv?|7g!TEwbKD z>bj1(o!9Z@9?Ts+Bj{YPy7>IfdA!R+SF0v^(~Os%@A0Q-*RTXY43^r7YBi;c=3?YD zMAr=fa$4@l*$xFNd<;*!j`7IF_{L|k^{*uT)`&`4d>~r$THhzJQYZeDj!Zjt>hE>> zMmCqz%pg0O-7Bt0Ysf!t;y^*TuyAQ|IYDmsU+RKmpujpN#{FrFvzq#cem**#Z-oE& zX#Bda!3+R>E)yN>YvmGle-0B$$$qvxL9R6b?W~D;vP`(g7-|I*ajgO3(isqH4=*oD zyNB`vnj+Kq?}Jfx!PM+*2q!Y$z&~qkk|E*~G$k>opVt(9lZc7(^J@|;I%^moY%6e7 z32q2#0kv&FNt79D9uDT^6_8Y@s3>h7s2nrG_QhR^Gv|&6TzxkE%f*`_(?iFj9%;0% zG5&01`)E33S0vVol_4*`3Ri29?x6#q`-7=95kg0^s{`1S&zd;^oDY1-se}f5_%GBL zcpD`?oscM;54eXhYk@E>nd8IF9ZB<^GX`HII#MT43p1x+$#HS{8!mv;bj8V9l+m2I ziG!nMFq5$)rmhzx5QoKy#FjXKuMx{3<#Rr^AQ1gnyOsI5v|Qosmk$*OG`IC#0MK)a zsQv9TvcnE9WAf{wKaGx@U$QuGSb?TEL+L*N%EX9G#N@5tl7X>@MOoagIXG86*oy^# z=&t2C9Os!!G3yJkv2Qo#*#2XX@9EV)PbW%kURQV8L?=o^`?LR$++#XKs}kuXFx_?F z@hsIKdUtlN>yPS^U(%m7+ z%V^a|8?4vWj|j;mu}Uyz3qPICCg=zmqbVSKQ#4av%ckV1S}Vg?YqGzxIBu)Y<47e# z5B{w*q{LqJ*&)-raPVxym|{^72*~IzIB0-P$3KsjX`iY1}Qv>Z$K8(V<}71jmS0D%)6(`qO*Z>*XAqq>?L5`bq&d&)4*& zGWI>9U?2)Xfd+AtAN>dpoy}S(%1lB_HF(Fyv2qKl7Lq34{)L469TpdlshU7nzF*Veg>vC+} z{uc%fBGlRY`y_VIbw$`|eAfR8?*`qju!@;VmI#THeTrh(GNfNN5M8N1^?@LDHlO@C zISC?fM$7mWfuheM~^is2MS$!Y*6vFC{1r6oNR|{jj4`i&_my`*gJi5HP!Pmc- zxE z!x)ItqJzhO5_rZ)NV#M1hW?jAQ`XacXHRB(G$I4@V3h7~N%|?5(a}H~odZzDX~prs zY8Hgy9lK=YEA=;mu;kQ~n&n%=ox2BotBQY?9whNp$i68go}(;%SPl}+PA^*n$bbN> z+OIi!L&UNZij+6cz54%2qsB6Oact<9iG5oAfm`(0mO;$!Y`^?c8U&wtG22@~gt+3@ z(pMW)c8BZN)t18FY??*?g7=GDFSCV|AEs1RYbC%=ID@|&Iqd!%Sugr;q@&Qzx89;n zTRxYQf;5XFy5DrL$}HC{xJbg_Q{fi-MQF&jliPfzSFx!|3&{KrRLjR6(+$BT*sEH9 zvf0?{)Kv?3AqpPE00yJ*+=g-A$DCS{?yyPH*M)4nC>e8zZ&vq_?~(;hT^+Uwp9M5x z7=2N6iSV~5LGA14HEe*}n}eQV>$P9I|0Qt^iM7zjxsMmy3s)oLbLCVV1g#>N|JHxE z{vka7h>OmVH04A{+Zr5Fj~+}bM(7cHS?$EPM3h*GV1*0b1_UzkuJ$OMVSXQ?z8vHsC^#zL_nN`bi0Z^O{IC8vos(R8j zIK!)Xgt|%PxSCrQB*#ba_rsQS1r(|QH1|gzrl0M^8+02EVcx;3Cz(1qwjxdcw7huM zt%zM=>h^_17*#O>+mV^YyOjo@#o^3ydQ`YoEnaayjvKN%aY}!P;U_j2)`X>%Ey{=( zcfi_-6^Ks*Tv~(YasdRA1n8wdzM1aEc%-=7RLLx~%f(l4Jay?<4)`?6Dep}fN2a*R ze#J?g+ad$~aR13cr#kaFRt0rv{rRdu>R1G;5XP0p=dIr}EP<%Ems9>a_qvN9Ihnv& zx3Cx;Lz18OK1m#>rxyhl?*7f##{5#-V)&t!_pScTXr%CLZU5O_8QyD6HaE;xCi~qZ zjUv(GKODi;-q{Qqj1>ZdaDzN@0Qv-OA;F>2i)g|pT%K00>?6lUMEyg9?T}7eEv%G- zL3L&$Q?t%9HnC){lF-ur*yN#c#FY=h_BXZ=TAi*S$Ppj5rcQJS{~hm6$xXS|oO}M$ z{#T)L&DC({SsmlLF7u8g&3V|oNjg=;CyaN*Df~%#%1aHYBveC)ZsnX46W#76SQi26D}z(y-EW`vvu z&(Y>dQzqfSc-@%LEo3X;9+;VXyx{*)CXN(gn;oPIY5_PxwyhWfQN_g_Gg|P}Ey7}4 zzilUtq26UYoR}K=5}9&(>0z3{d(MyHcfTX!->#js+ppDq#YR@so5-ic1}1Hhav)HI zt|`_gYRorSLAx&mo&3Vqgu_oeiA42L{|G5eppcO&l**e z@y}%i-S2PB{pkJU^Mbeco+Y1$wGvXro{v!eJdbytQZd=xueqo}@kXz*3<&ibtqg^k zPr9pZDnmi25Qa&K#lRY#Tofv*UPvT*kP_bz{2jAjd|y*upG}BUCYBW!KvVs?#N;>E zZg&i%@tdWS^CJQFm^Cit=(F#xRM{N9c z)GFKaods+CGX`t2C79|j?FSh<-dn=pFFMg~J&0=rJ`x)$_xetHRVJx$>NxX&=qSEM z(U2Ic>9X@qSDOO1NVyrYVg;S+4Irrmpfe@et~F4_$T0DZr2Lctb%5sqfCX{Ug;S@(_JEdsJ5kxdn16Qa| z3^&MX67=Na!)iQK2aZz59wc=86~%jCPGhv5-9g(i+&qSBEVq@qHE&IHq@3K$2|UFC z^e1RcKn@B-BC13wc^~sL142Gi43H91pJfdpskOF7p>R1-%;e8=<=%6o5$s=}nv>A~ z;)h&U7h?4m-y~gn_zWT zKQtKZfnV0!v??E)<<;+A@s_=K`sqY2_*)x|Z`v<{#aW7~J^h*bZ>(v%nB;0s+T~??HfK&^tHxKmd=!1N)j{pp)6Lg*|ZbLLp=xAU~Zt0GB z|0KX&8_swZ_KGG@-)H3A#9fBqKVk#Ki#>D=+^V_<0b_~5EO(SP-|X1riaKIoUA}TO zbmIwC_}D~~3o4AzgcdK#n10<=x)XFFmlLh>U!7&#l}m7T9$w5VU-@4aVCc5Tbja8_ zhdu-|!J-l-T`LB@7HJPlpnkx_V%isF=H0M%Z|79O3+Bgxr#}vZywSbw6y=0M&{dV6 zut%T>vclfh?V_OK{L!r6Gw-1xou;@Ban%o4P%IldZ}w?~PpsJN;d|QO_3~&Sl1bG+ zYKHRqYN0+>jC19z`xlS1&3idQ#xJL$r~y4Ro}Z1M2#M>_%iTg;p2FwaQFQ;yj@2-# z7B7~kuozx-LXq5dN&FT#g@Ng0bgMeQq+Y4GFrN2QdC)_E0++2)azW6Ix0o=Ka{CwU z;W_ws%r9+?hW(zrBj;5Z)wI#{FgoQqYs|6FYqt}3)3{j@9l)O;Fe!a7wJvavQv1W<&B zUr11Rn8+e&uz29KSO{z2jc8#LqnDLWIXuej>*H7(*ah6+e1lr`kf_QH9EVHWiCc+T zA_+toVL_8o5mb`~fPq#Nnn3SF@wLDAxOOUP>ucvf_xxd2Sq~zTMav8-w&31ec0oKO z0mZE$Kwlhy4o76FiAo%RfPjzBm5Z?-!U7DHv(1C&D_W&LkPzOAH2Z4d^#JgWFaK#7!s!1 z71Tw(V&hZuZDlB4sSzj`!=pZ`1(Meug3!aw=8j#M7 zz7x4X7B1|ii79946TaJh2NqQ5jO2wUiY*`LDB9_+nJ`gBS(7Y0jvTReEM280jUUWL zev?jpcca~SRrlaJ6PTBhw2;%JC8$Kp9v+#pLUIDXsrUmff;s)CL0OCG_vLwUC8~}Y zqfEk=uy}!)0wCa{5EcB6k>95HfykyY)Q}+Da3~55?G2W-D4847S`7!7M*-3eLF4|x zy+NXr!g`q7b)HBnbWlwbw#XrBYI9*`hy`la$C|A4+s1ic4WkXI>`M7y7KCE{{y5+; z%l=s(5Sgt}c|xPR`I8?{P;6sFr86*CsLdiT9qZ>@l9uDWxd7(?v*5IaUZNIC$_ok4 z23^{aR9>zKrJYhHqCL1cMM4A}+Qe}QYc6IExzu=IqZ{EZ?b2Ejey?j)WrZLLh6zN) zF{M3ex_;&pCs4t!SVm&miUBsRZI_>6R(*>$eyP-R8=H6}WgGyk@qRe^fxAW%ep4K? zOMh{yqK?6i!L6A0*&P9@wHCJk&WY7JnI%K#GchiC%BL%HhP9~*)k2+-VLw(%YE4(_7IO-i@ z4|kFVvi(*@4Jj7JTj2*Zrlrchn&o`v$A&I6P(zLCiJ`txUgp%WWYT*r`;5TnA@5`U zb9{_fWcdY)<8fWiHsN<%X;O2Xu@ek{oZ+!);+jHo1LZyYKeq2lvv@~Pd2A0?sNGzD zS1ZyUPyk;HRIwY)&FFPT+$HoN=HTf<)(s$Qvh zs_x*n)%zr^A8V?L&0*$AV4_HNlk_sPg`yw-{t*!_G%KJo!$B&)n$ql-*AuHf_mRA+iak2ex-$FXd z^A<0YqV8NNU!~AJd; zetxZcoxW^AJsPpy)UR%Yl!XdeCY!SG$g&mjA^-R_5S*<|8@Mc}@{m5d8J$ z#%TkCQ-fUJi;F#TvE$bXQk)xoHk`~=nab5@{|GhF5R~b{)p<}_A;$j2-SW)AWO=(V zPrB2^9j)4qva!_mLDRv^zhcS*6+j(h1JngO76OXR3hz7#kX)~& zzChD)H+etsOMZYQ&$PULOR5Ane^{nY(f~=29ehDhWZG>m!U4D>W|TSDmmW68`4uVw zzR$RN$;7Zum8Tz3+=ckoionJ{&@ZZ-xgpddnzaEa+}*1hERyt-$zeOwzU{~h2AINj z5~aUh%fBp>Jc}+`d+rAak5UGLnX#XJAL1Jlx*_|VJzuDXt#|o>J{EOKQ3u!@VqB^* zmblpWOpAIC)O!{O08Gmn%BWD&$;`#-Blzop)iE`(S>;YJOW(&mbcmOCL_&Ifm3P$BJO||ZVl<5t5hf{{`6cb zEv6V%-cRwo(^tY4B2aZFEY7XS~|8{Uc%5(KuQs=*ZK?0M98^GxdG>z?4<&WoCNI`#d|P`N(Gvli(EnV*uZf4~>V!G80+^q71&ipe+R zeW4gelW+=YGq!K6T}-h7s5sM8HT}t6p#P?h54Y?MQa``OCa^`$^XE-hU#Xn zS&B7($U3V{ChYu5<;~a`C4;Q{YbpAYOB~9Livt^6PwiU|^$$%X9uB`1jsmdFzaAJa z{$7!Rp8h^OT|1FjLi3L}B$^#42mql_2mqkdQ~PVpcN=FU`*?rdQ#i`6Kk7)y<*DsQls;xdBa(qRvD!Gy&e6o?mXV2g z+#{L1wtsURSFSJM9aXl^&X@nH!N?~RT>wed%OKYfIt2PHh9w0PQ>*hq;Eoa!xS6<> zcQDnLiTQ7DF4KD7lH5w!@+l7+2%fxt5D4eTH<-oSQ|s2^{MCE&)#S!I92@MkDQu{K zbc9}`DC<6BI2_v+|lpS!$|X_stJ za~!9iNW4Ffn$$JbwSkio9Nx+d1a}cJ72)&L-y4>!n!PDj+1cKYD+pRqo*Es*bP#Tq z^VQAjru(4nDE6%f_cc!}E?Go8kiMkntf54TtQ+ZhDreg56(?0J7>4xG`E%-ea z@6auL8*dPt^K>jMvpqBPHj>cG(vQ>GP3@VneuvZA1hgP{)94zRvL)pyhVTetwUKdfgONzj_ybyr}6LQ0qX1D8XLNm;q49n@QZVKOXJ26AF#d8qD@|o z*(q98BR4>H)}3zKcIK)1bC7=X>nS5YHu<&<-(6}!l1u~ynBTd-Fmj4OPv>Q8j`RmM z;ef1m)f#{Hok?tmj$*tS=EweU_{$Xbkm$daR}4d`iQY6TD2_OX=t-5&CzLtjM3 z<(cZgD`~A|v8IFwFI5~3N|re9#@qe6QCxJpg3soxxK@50rx$yE_aIT^-MStoK(U*# zl?Z1(b%R#9>A!`%^KnmYFdGh@bW{sH`a+5(004c_63{s>!E_MKm%APnn0WBSoA&Vu zJ<2l5{VXz&Op3+>;3Y_RCu{<&H#r7`9%WG9zI@trdRZpNU-SWxh*X=CL)c^PHC4;y zIP<-|9n`aarXQ0@H}Dm=+g}nG8^il9%39ahsN^>upis|@hkxqtaPwl8w?20fvHeco zC{3+rDpo~K(PN3)UXw)%gQ<*Wd^xC4#em3QHi4~v%7I~}(O zlpr)z4F(^IHS;;O(^09ZllP`bsZRc5Jq;2_;Ik85opizKU;RF>?*FRQV1oBC>{o7+W1~4QZP6;g*skVK8ZxmiK>~ zz;42T2AOvYJrUb}If74SXyJCVQ27Hlc)z45`|JXdFNe-H&F&{}E-wZqX)S)xhk#W8 zXeU~CD|6uGKiF_17dRENRz!2CqUu*jwHZp%VMU=kH2QKuAnm8c02%3tG5VH-1>KPHlWvbGmRqFe-#`F)^;_`$fV?~^h{nox!#Yk}4r<+p zYk))}mUFkx8TTyZWvvEraXQn_)Kk=2I%8^)fh31;(rzNWi1GP$x)64EeuN~FXZjSS zHT;rAbs$#R;4%iY;2jZ_Vvk;1_>LC^C^K5#Nv;Y1X3t&?s?yvwHN+YQeze`f}5A z2n#fuuR=Utt1Ez{(gZxdSwi<`CGQSwMY67AdRQJ|{K%CB?uq2wF68_XiAVz$RzGtn zXsF4VECL9szM^Hzm3zU)#COR-7YAmMwK897h;4jYO9CJ-BNC8q9Ome@&1ytOdb&1e zMhR58O|5TR1uMA3*U}8$fo$M|-lUv(l6_2GTOK#h=m$%tyL-L|ylm5Pw%IKk{1JpM z^CR6S+}r)Q9PK5zQI2@5t=z{`plq}pt^SKq?hc$34tnF72^RTxydr`(ZKMC^`aZty z@L)La>2+OsT#)G3&sDRYXQFOOp~yq7sUv*rA>N9&_SUI9IGfCLy%7;_Gqy_EvC6sL zXxT>#P*ClSYzNT~w-f}YjX4hABpZ95!3*ica(m@^Z8p?n1Ehm*%Z0fhza+$6qWXt-RwX_7-h=uk7r$4z+Q259m7bj z`xuK)q3~rP2YYl`qHN;o2-sGGBEY(fS2LSLG3OUUX4n?tAS;H(;*qEbs{%ruAYbx`BrHUx3BSkmf&+2DBUvC8fM3b znVswOS7Ott?KqB@8ItmlErJ#_Vu?Isots4FL;2?U$-cP36W+s-BQE)EE03?*&?pjz z&1YW}>G#pNas|;8NV7LYcUh$XUT4e;nc#+}pEJMW$1^+^KF>Lt>WCqKqa@{q`*e!a zxNf9wAV8A;^VYTb>mY2m57HB|cG?##`*f!oGRxRLBpcKK@~fM~%8}P%d6lnA_f(`_ z9LxJd!wh}MVNoIRfxG7}S96VQaMFrNgsuTLp3)DGS9c66vr%!GZKfrNWb0ce%fz4W z2~n!77TcY&3Tutd+H@K;VW<{B-3>Dre1PAr>ckbD94RDvAsb@*RAw&G1l!A$pk z`yyyXir2itW~Xd>B&hz0$Goa=+wmw=;jmSwTqI2+9~6-5UQrUax98Zw^S{lYNS=S-c;( z4247h2*`Y88eNi<56xT*l^6PMq9+pV(97dGu&r&=;_V;+3h73qvld4UnztB*;l!MqQ%&ZHT4K`xI#o zfW+P=SbGe`?RNH}>C|t3^s;_r=_nKatm!gz;>*#}@szX5*K9iIwfo&`qji4l z*Dq1d&~YxSRNYQBNO||xUO^?vhiX4MHEkxqCDeF~Z=$UZf7(V1^``L*jYqQ`&qH66 zXuF(APQJKptn=HdB*+o z{ospwGil?)&xl!c4dt?jDcu0S1ukzx8TI(`buR#jR|R4TZTgUuFnzwnhai!Y|2NP% zlYjYdPY897r-#Y_XE^(~+5mcv3V-ohr)L|9Kyr>v3!W7<>|bp2)j9LPq@!77*xF2uV_mxe$Krr_!(VTn=ot@{^usu0uVd3@8QbsQf~OXuMjb)N$b$ zr!5d>d9DYLtyo5;x$xFaFOA~%mEIH-`-B!w^!UaAJ1S$PGOpeE?rj0DFpCvlRKyw< z{lo0h$U3HQ*G}lv$b9&Y#z%~8>_6f5@_O2>GhC}dQ8n1;K&2F0rX>{TcZgFR)}?Ij zy3|lXO)DSj?ec(}{pzEr_CW|Z3}^F0_4(8+gq))qtVlRb+`H4|LRB(2Re(q)EE3^H zXV+uuzZpT;hP^La0k9phP70qO7!i@hxl;n`m`gBOWXgM>G6KAq%8SP*a#T0+-F-mC@H9o?w)w5Veg(p6_=0J=*dFP^*dS#R5IMzkhR#&K#MQNr#Y?M~Txfo#v zOZGxD4cgDt%T=C}Bj9v{nWIBb9vUBg347OlBeF3d;4ax3>2h9HM_#-5S3%5O^E^%)DejMk2uLM)TzluhJuPX|;+D zhN8d@hWuIc_}Pb8mHp5@04V?Rq;@jEPXflqOtLwdn(tB#rh~C1dca;SrWUj;_*)eZ z2E%;WLZgAK=(D|}SWwi-N+Kit$_aQs{pIx54wd}#3#ud9&Ysymv#1kwUiLXLDTngu zvDL&jv~j8vubL8Y;6pI#J7EJ?do#oDbnEdz2GWt<74T+n(ydSy4MfM+8t8D`?~f`% zTthFcLlrcey8d(d87NUIk;Z>tY3>^r>*HdLqGTPNMNtap_KtAM6cO2+<5{hsvATgZ zG_DOyn)x$}AoAqn#pnr*gjL zj+bp)8`r+l$yYfdwsEH?ixuKoBbXgI)Q2JZMD=aTfkc;;L}l2=0#a5JkOs}kBl_X% z<>Zw-9DfgyTk7|IrZ70kZ%o>ViZ?(~C&rlV4AF;*iuVP)+e}6R&}1qShenD@4a>|k zG*CkBjN@3ppN#;42d}{p+5q~$Elfj^A{eNL688(??*rnL_!{~2Tq@f5v#$0HUrMmo zYLR4>KV>b}341HW%TS3V9X6>VsVW5e4p*nfygsENM(a8xGlXvWLrtH6Gz1#MPn&zO zoAW*-%YVZ_!pW?O(NnlqS*x5`{x92A2I2M>0NCZ*XRCXUT5BFPDNl_uuXVjS@!+MTV$ZUy`Rl^1zhfoM4#J`)9oZiGPcJVM z9)oW=9)?F!ZwJe7ZU+xCP(Sv!X$#4hIdz=-?|0e$ihFXF{B4bP5PBbW1OY>?1?Z|8 zVv+lgRsAI^ziR^A1`X@Yg^>UdF+Xj^htDfei-eK$$$d=(X`D_HtyEHkf|`O!siYBz zSq#ghC`#+>)x~T2yiksmtsP4XKm!08#CoiRv}^0|&bDDND_U9LOf}cHQc$_ij&S`3 zqcBiXnhe)}eFSWQD*ya;0CiJTtiq3{i{(lgRJC>w!CFb)^5??1Tq)A26><~8YNar; zivB=141Ug)pr$G?#{EN%@L-Id*({mcnG$1gY5@2(wD^>j^(H*gz*X7KU{0 z>68Ntpd$YWAvzqzg8=f$6r;tMkjONWcsdwMRr_rzkm59Z;mVS3UZi!*`!c(MZ6u10 zbVKMU;th!w#!^vxzZ1z>?%JkxJY~`=+C>b1`GL^D?uk6Y<=YnsOzAPOQtqf_XQCH~ zwXXdx!I^eQ{;3e*g5-2Wi(-H{;8!j^VF$A(3OaGZU+pe#1&tai-e!OCI<)UbbBjHhCz{ltDLn9NA z5R`th^t606kP3UE3h==huoK=+`l2OUWFrz^Ja{nr)ACCF!R9JxMaZ_0W;Cl1=~;xD zrV@w88HyEASv7tt&8e689Hp1vq8;uoF;=d1qlbMqs5H~Z^=GQzn&|_Y*nX2lRngD`U6G6Mdb~-eG!+tbKcQW2gB}OFH5rtAHMU6IqGy(gIke5SiIKs%srqj{& z6ETv|HkdI5C>J$BKw%+{Cp9FcM!B%T$}n`8whW&5bB%Cc9IbHeYK4lETdY%8$w`O5lPa_*u{AY#nm-_#{}(+Y$hVva!7d;9;s$o4Y{k4_p{!A1mR}znaOVDKfCZ3aEN@Q z#{@&l2mg-~oarx4#je_J-$)0gp~fliS*b3T7b}_1XLDP~+duoP-*4T5^L_@?t7oef z_tT5@D?P8yYXC$IKk@r@*AJ!ytw@Nf@E7J73>&F<&t*D0$Z#5s?g;4A`PWSct$KMj z{B!tXJeKoKAD?4?HB!x?&hFbH-xoLfUb}04z$Oj;rZGtEW2Dd!+xc_cmkSwNi*amb zsCh~X2;rqd5~6ZJ;S;3E zV!r!Dt(6I^kw40Dh0(rV`n(WEr7v-2ve2-O$;=Fak#Z&U#`N$Mb1TigZchO!V`@@} zhok#>fdWqouvTaM2%J#*(nWcbt1}VPYD81lrSJv2+VeH8f#Hcqv+?S9(OP2 zmV|}Y(CpA~0!D8d5I!;`8ijb?*oJ^~H%oL~890~6JE-BCDnp_j1`s=2C?*p|`Vz{j z1^d*UTX#v^QESsPvMw7Dw{ChuJD>Lmh=K1wv@lJ?d|q0(5b!MHERYrAcMi@2DR%2} zZ|(RF{X`zbfY4>O3Z;2f`|W3DJe5q?0~`S`#~-&bWMWK)V*q~EfUnRJH{ zC$`sheweFYd}?H7m-y+3RI2~tt-!zQ^d`2M+d;-P^ot3}W?9Kk$482lHfZgUQ9{8i zJ|{IL7E=@q#>Y@a%SX@|JE5j9u9C@wtfyC#G{XkFIF$uhsw7R!mZF@7^&cdvLP2w9 z5P;zYYfTYQ2#1r}-Pt!u2ZHc}T0|%)9w%FTTTz#ao=*%)~8!XG6C{wMvk=stt(S}*y}jA-3r~T(*51m z`OGQ`o8Y(<^Xom$AFgP)i&ZbD*KiqKgn7arLcHKs-n8lHWje04jbMSPz@0SI+r=ut zFl4Zy{ir8BioFvQzqS4S@rOw5&C@{^b~;^O#$(QTR&X5jC`cy9^QY9>!s8N_rVf*; zDjVsiF0pjG@}7AtOQ&k!*G$56z67}`ht&EcIaLK}Ts1Bdwg@x@iGu@&Urt0KcaJ&d zvx^us9eqjg%3 zl~w!8#qYQ*4xJNYw-BiH1|Dgjv>c?@(L!1YlJP_7D6ftD$1`6!IeQR8FYfOwz~9|W zPc61h^qciBwuXgKGoSevbSOJ%^}{6ZPkLDIl=nUgugfHtN&c3y?Z&*O>143*@osdL zHK`r@6UD8{1~FI6b#`Q7X> z-x(3?6i$W}Q9W)Q;FL|MahK}_wMcPXpSK|VQvEudqpjjiA>RamxEEBEjDIEy-AjMq zL)f!=FM189S|M?=URpMdo&JWA;9GX^MpKRa!nkny6zRTRTZ&x=zN%8T_-%f$R@4cw zP&1Wz!X<73{j^Kp)jAti8XvH+=nMdNj2Ux?_Mxe@UGL%#>_37S3il{z%`^%dHzhFV|93B@%a5yU`>p&Aw(j+OFHD<&sCZI%{JdboBXaCxfrH5 zrSg*aO^;jXjtfPB(_p+8K{$uQPFjO?6-7eDHTGa%<|aMYU3o2hlGMhEhFbm(X)C!D zN>IWXl&dDS5+e(jE@ud@ReO|D)KZ2xFVHTK;eg(Ivi5idE&{vQ-FN>E(mqgzJfPHs z_@Xw6nDW5r&4gii)(`hEO0qSkk!rEaGe(pw8&a);_TbZar4(X#ML8E+3{3$D@wGWv zEm9xiSjMxtjYVXuyMWj^dH&77cqrB36B!+RGGt-LB4ceP7&I$H6%T2-4Jf555W*kaXC#-+|MAoGD|2E$j|o+%==-H28XLQso#IET|* zN%HDsF88@8bm%Q17l?CN6-$dgU;fP-KEyBMbWl?=f&UF=)(o13AMoW%04t`&z1`KL z^}A2JgGvnKJxz(7-G0VYcV=qFmN4nOobjcn7OU0GpH`2L<~$tAJk^{+LWUOJvL8>I zsGk2SzXzr#YB2SnYwR4qF9L$y0&ljz!G78=fL{KziE3ONSWG(PDftu#l=58DS)mn9 z1R%-7smf!xB0o6xDl^3?2p|q~ThFqaJ$DN)>BVD+>-a}5ir#pIt)_nRY^9p}u;kLh z?|h;ZW{3s>iAOl?Qs+lno8(m%i5RDcTJB81^%fE$)xtA)hXxULZ)L#CLOyk)PT(7y z#r!7uYvsY$*bpd%{H3VO{z9qX8Q^;c+(TD6!+x{LH}CDasqgAXDDgQOGG;K4BQT8N z+q}q|#W&&zuAWvLUXeAlBbsvcq+zjmW`#@^o22~37dKt&tUAKAw70zm8%eZ#)EPG``-~BGy+b`iQt|aw2bv0`sYj|{nwfB z3rZ}F&w=WzHH<~QLV2=FRP?15h~{$gAq=wTnnkYbz_oq&seB#s=805+G2r4X>JTK-VtPWaa%`*eRUAw;1g zJ%C+~)*0(XVS$zcq}%GY%M0#02u-4SMncKxyo_Z?pI1l0i6A170)$pmzsY~Ac>0~* zW~m-CJX~7Nw(yh6;Kx?z@}^`GFXJDlAn|F5x@)dK=8tD-ii8xbCQl64m~!m58QD#f zPbY^$fwZ%gFNp1sF<2Mw1AJ7p>zGHreB{)hskXFR!b4Ni(&mP+hLu7jlQ^uqFae+S z->$`Ms5^n$kH_W*sJsHL=xh=^vOA~1&%vv8EB%QKaOT740EEZ0=WDc1FVIwc#7s#2 z^Hi#b-Wh)F{T^ZX41o<>!?NBnK~KqDv4E3Tq3MuZ5dtXZn&TOdXi!B~j*HgDCA^Cu zXa1$1L^p8z56i!V)Pc0_*9zJLn5e81NCnzOf{)S2@!Q?Y7uqV){x`0@2MD51g~nwU zO>&ZrmX>PUIr`_@xR(6NsxtW7|4VPZZ<1B96Mvpq%nx-0jo^%ZFsnPpmlPZSKepa7 zDylc^9zMg6GIR~yp&$&cKFVrxXSWaXAwl+D_3=8?Bot|IyKg`ckII)+Jsa@&J0jC4Eq>vke=&V*Nh- z#Ft^n>v=vqhJd3hI-h+2O`yHG6r{biM8J~k8!zJhy2U_FLzzKw|HilO;-QGnnuw{F zUi^J5Z)ZowR7*`FqXWYF!ao#KDPnpNbNg^ZP-xo?B(dolE-43 zb1Lsn9I7P^o2>{v{#s@QXyBPFQVbq_uG4AGJPJEX6~17-!x$(pF0$Wz?U>g_bDCyv ztZdjfG&G5`Y2SUCMHVW>p;~Qyq{*oBA)!nu>T8nA6Gwrv4&$C!>bJ(W37X=e?}yn| z)24-EW`9oEbmM;r+)E{2Y|RdZe?+Rp@AEM;_i_JQfR+~)2SPHNm1BI+Jb!E2W3KF1 z3b<`K^nqW3#kE{w6KXoli!5%SuYI*5t~?@d4uyPxVy4Y2A-zY73hj+OddWxej7W+C z@+Sl?_z;ff;gpB($zd0NZQWM=R@$Fq26|Lu2{2Uc3>FIdVpXefzfL>NT9aVL<;rdD z2)Pjp70X!;DG!i$*DwJZ>6Yla7l3?1v3$pRr1x}wjC+q2;bE!474n^AX{SW>Uwa2g zf{XGViq1y@%dg~2Vr;i!pO!6;6$*Vl66cB6W1)d1_*^eJWUVaxJxHBqPexZ%QDcFa z`Cj~vkmVyG{scq!d5_%na#gkp!!`S!BL18|0NU~O+rkIWXA_3^K4#JH=1pb^7PuX% zqsZ^pQ0Xy0>~ZTrk^P6e>mc3MK-47l6#NW=D{PJd@6~A;a@k$z8JY~#n3TH zxCP@jy%K-?6QQ2BF1(EQhhjgyQZv!2`$kEM+wtV~{h{ka_J&cGdS3;5?UREJHAq7a zV|-;M|E7&;gGATlv(tzCUh4~e)Kg}VFEJJIRhn#4crGo(T%;&8G^r`rwUrZVahe;u ze7YXH?6%!UQt$R^>pcDyja&DYTD`?M&+mHklw#AX%o@vlhKL5ps zf1h41zkop@>n#Jtq-OuI>w*zM-|R^e{l16x?2_oK3H{svH!1#D*725PUlw@*Bgk`r z8YYrS+lI5vt(ad_v9v?y{A8KadG6fFL4nkvn9ZsbCAF9nm1(%=+=S``K2k}__6W%e z+Al7olXAyQvu>Qj1xJzM|mFlzOGmnU^9N5kdGFV ziKMA;fuaD5>7+z1R^w`&CBwFe=?8cZa*W*YP2H9n5)3iN^ z1zk{&7ap|r-D#{^PmrP*4rSIiki{z`!0)&iaJ$CY9IFC8AFXM1?4gczNl!i-qCn3e z+{UUSgFD>H5WlWFD=}Z274yP9C>*F6!Z|SXj7;(O6x$*2fWK{_*f5F-7BhTd7*17| zPecxid!OE-K`8OG29J6H&#}^*^yJrc+*eTI$mtif8cOVhx6XOy?bi{OVg68?`C z5=TEzrD?|aJhvYbnYmUZbsktQrm zH*!Q_cp&r`bpe0a-BHY8kc>~CN~-9t8(Esn8!%~?Cr8&^0uQD+YKrBPcok28PzYTC zz+M}xnc-psQKH9&sS9{!AC=_g^}ks+TD`&@)@X5wRL3c|mBOjFg~hKQ7`K>+J@fOl zXk`1i%`4yF7~W;?t@%P)WU|n~$*%RM*B>BJ z{OP95CV{AQuK8VNnz5{Uw6w_R((nDvrjgWpg~G2iEmFT-u+$aJK1KP5PFos3%FHyi zuy3d3uz4*^c;brJ+GBx~LC4_+W&qK-bcby2H*9s`?;OnK9^Wk&iayI#yvZLY<4pF* z*2?e`yM|`3Feg&I{ev4`cFf*Dii`AoI(w8th)f!k4Ls{1^>Y*GT;ZI(JeXwXAUQe8 zd&Q}tfB+BwE4Q+LE;T4tdTZ+ir9i=; zZ!fCAPct~IN9d!Z7YQnN6UD99J_)B5Ls;vye9Te+VFW4&lmK`0U^}u*jl8kp6MeKlGh}|)RlMW zeC{ujE(@s0?nX6#6D50CAx39GvhxH*8vaZ3A`X41X*dv3zXa8xa+g@r3>v3e2ay3L zBp*}1I{AAq>ZuIx<#`VeiIcQhY6t@&@D~P#lW*KprT>*ai}294t|B;QJzZ-8!|Dxp z`I579EGw2yNs2^l$5zOy>JcWfT5Rl-qFI7t-A2N(t7`YLZGQIR+&dQ6%{peBTyKsW zJ*0#j-m_m1d%aLEOiMA%9Oc`ahzxL(@!7&leGW4OlODM}1A*j^UAHQKanT2_tBlka z-s2!F<{8SxO%e)0Xog3PVpka7jFsObQIZ!)yG9qkh8a(`q~#jvYm9-Nn!j7mrxv*E zi;Net?%Npt;cGG~SDw9R9{MUizp?oBIGNiIheD?t5cNyRu^)}a&w|ERXI@j$w2GOE z%;hD{E*xRe>l1_H?M^M{An6l%p!By;HGHoACy>vs zbltKUpTuZrW3`bcx@{0ih2$fi`v5BaX2&{B2=*x}#-Lc7bRy1bbELPmS<6d_s-r}z zPe9e=!=jdKm@!KhWpaJ!H;T)p`oqAV6B-XIObXM0(EwDczyit?+PtZ^iSki8c+@wX zDz)V~{^M2s$~Sd63o>b8t|{eZLg&Lt#Q}~vK|toBIzx?uP0oNq@o(um*YGRcIJQ+^ z4Uqx1(D`K}#g%}0-pY(Kk0R^`X2fFn^Qqd&O$W!v^;GwI{1nHpjZsc~>YC(?Vjax0 z<B+(-4VabGxCe_EEqMC5oVQ)NEW7)v?i%bB=Jw<>B$QBAy_bpG& zG<9F|r|fX+Eb7NpwkCg zbNbiFCM8S4MjQllHm2Qp$_SBGRM$`wdF{FPsd8 zT76olmu~ai%_8+&!$mXb>}9Ntms}26w(Kd=zG7|nqiXcL>5o4+4nLWHMfR9&dAYCVi^%hft(N z_FiaHwr&Bl-FU))!cB3q54pUUEaW?sd7vJlLqwJ{@EDdLu5KUDe>rPpO`B#&hvsSl z(Z*P31~I3P|LkGjhx1)*WEv=IhKYsfMkaVjc0H0h4&nOxybZ0O!nxnNATuC|=Rtjp zzxCVX^z<%%=pkB*{Vl@BqR|UN{rLZZieYsHE*6I4JXC zUqN9uz%gv&G92BOw*4Veb6S@n<~%3aF%%-EkqpLU{CrO~3>*DgKv3ZNsp>t%@QMUJ zWPAdejuS0pS?ZW_==DSU_n!~$_!LXc@VS72v(Zk5B`-p3mXGCeGB3pmKY9pyazcum zAIUa~qT8dwnfqiA2|Zs=tT~+Rnm)q*@womM%*LIDw;%ka0 zz7O_Gei)?=o57_M*c&VsF}3w^a!(9R_K=avGsJyKj^E5KDv+@5X1b3PhrLz*V54eP z*0=TJ<>c5Db&5D0W>i!-z%K9Y&@ab?-|)M{7AEkZPWB{h;u{AY;HlYTmAmYazsCIK z4=P*{3o61q+8U7yxBt!=JJ;cLpQ0j*61`ur(F(`N=9LWWQFf5QIqdFg#a&uR^^BFM z2{L;DA_1S5T9~s78F|B}tBku{F`Do<$S06_B6$W2=IrT}_7?sl*;WJDJ0=H?Xg%{Z z4w^Wfj?c{CPjCNXq;r!wJ7T}CK7Id(;&+;-wXuJFxCTNOzMjJp40=+R@Z_ZX1l2_* zITO>~gWZ{pjxY8mY^x5C)(P|P(j|G0X@~?<7ZVa{@M{0|0Dt5m ze@=^4P28At4$5#?vkRPlG=OnE4B9a2(H1tpdl1&DgWU+$RGP(02zh4#stg{)*3L7k z2s(rw28lB2wLAG;&py?Eg$lz_Iv(d_>vH3*4KN7xRQekmU;_oROik*v`WAAPmfbfhd!63u zv1biLq4n6wRiZ`O^O@ik2meQRg$sw#t z0{y6vrUm`I(4}reuIX|e7+P0<7mrC1U^H8V6~qW{(1R7lrAiu)o@vqP%a)9ZipL9t zZN^X^eIC$_EH6q}To2RzS}??Do${wCFj1eDvqj1ApT!hMfxY0{o==Q!cKwKQ^B|1>BR#no!-H_92vNoVD*4 zRo$<2yi&ZgV9^e<#Q;#m;N|zaesQZ z$4_JU8FDMkNau3LE+VDiQjJ6CJ?TqB+$#?!{!EmWBH=1k{zzxWphOXXT^f% z2(z%}GyMK{LGI;I?3N&a^nEA^RbTHj`qC1!Z=g9CA5|_M2a!*^B6*}KO1q2n3Y)bdUAoVhk8#C5S(D=Gvv)^R3542n-$zO5x5x5d$WvOt zmD02lW$J^1M4#tYaH)}!TJ-dDyPgSNE1{3A<#W>qeUw^EfEvi1c@LkyN`m6PMi>7P~UEr;HAdH)U9EV}@clmyDni;Gght z(SFo#Lol&hJ4Y7>*`O?XBti^iwkTaXQk8G~hTld&6t6Aju@RM$KhEX;{N2&uMgM0Z zP=Hz4<3Zx2zf=qU(_(&)-TdkuF12StLL6}RE-Cn(zI+$5JK}jTDcu~MALY|6n7?KA ze5VAb3|3zlYg|Q@4uZP!q$|!GqLk{rG#l2vEa}NTA2u(o2--cNg)$8f4<7k!&eOQE z^0KhMpCTz0*7;8I$a)49CGQoZ4v>$U1e}#-_k2q>3Hm=Rfb`3g;yD!Q^LU{Vz%_?!`*b((~E83IvdIFY*OGWW4VTGFU$6Kwj z0{3d8g8UKCXTzJI7q(e-1KM6IOeYW@I#G%dP$xi$cBzBvZ{nitm2SHrQhSeBK9@l^ zO`WOw`4S%av?d_Nx!^X;%w zFHMrmuHn}S-juTfvx3f?%9iSXDF9xS1y)%6OPgEGsvaJW>MQaV*GjE6nN1iA59J&5 zZqf2H(8(9)>m277DPC6Xob75Z^~bxOB4mb?nx*%jOvy3FeV}wkq>*^5-ovbaDTUz( z8N(L~BZ;GH8!-W2Wa>Dy!MSTy<*<+-L?HAoeV22p;@eNcX|m5ITNDfC&B z$fL|E=qR`Vuix;Sh@}N&AM>H(A>LluYaqrg>*cI%j%*H#94SFkwr=9#BT=%fZFA_M z12sFRkai0H?aBQy7k&E}QV(-yEWVOfZQGRNQzf?zA{Z}7%);Ow{~85%&8tc3SK-VdEhoP&!&i%QN~vXKteTWD7e zxg-JXS8t#gtAY{fo4DSsR!+{r?1bm3V$C|%TGQXfbDE3&2?*FwqGnsrRIxAvXg;0VYkl6sxK}<(>qDNp@wmox zdVEVE!-UA_wwKgfRjd3TOxyDAADo;<9X&8Cws!F9N8C3T65j`w$7ODD&P> z?&+5-3BR&ZK|5yf)*M*>tl0G(O1c>K8J1QZgc?w3^>+EUfN2jH1GKZUyP(Pa4pd&4 zBDKAEJ^-Qbq@-h{Ey)L&Rw*sMy;240GMjOJCr}!g(M;w}wEGN^|4jm@t29^h=nY6B zk+B3LhWCL|nKz`!YNdm1jn+l{U4{+OYQKVN3(AXlwN)~to{tdd%0$plozHed4`J^# z3}N@oJlvi<-0}Xe$*6=eoS{=mxEtL>q!HxPq2czjsb>8KF~p&M<&<}=RPlQy!YS-u zTev)RoQb=P_G~+yIBWFR!?1nXWPtsK$05ZPA%~rBdywlCct|gi#^tw_zS>*ytIPI1 z`p-!j{y$y^y#+HN^ZY4TX_8Ft5dT7lvf3oQ2L+a88SKLgYTlG3Ik}UCR~js8jho~( zVb{LSiO9a~PKBTdJam!ab>V1xXM$=j4WP?zzO!jMGRn5(d(f|+D>^Uzo;87>U?Ccj z;PQ2IWt`cvu5jrXyBWi>r__-@B=2p)!&;G1q(NtxXyQr5-F@Sp!kX+&04-dsi+&rY zl22_l-Z=ucrmSbZo#li_raBZB^y=HhV|Id2Y zYscc&hv=`!Wbfs*#K$Favb4t6;M~UVAc9LKn4~Ef_tGIrN4h+Q(<#UZerx=j`7`<9 zGyQ>d%TFQg$7e!LVk$6C!hYK5b!6xh>Ulp^hLsD;9eN0Bf{d?@s>>**!YL6LTPM&y^g#q zDg{&mHF@rEKCd%*A^E(Y9RP_~@Q$3h9Or(iYdNo?EbIJ}WM*+Bx;qAeyi`@Z(tQhz zXwaIkV1qhemKJYj~M7hXQ^Zl1^PbruV%7T6&@>VRK%^}QGhYP+lGC@Em*w#4VUko zHh89z)Fbr6Y27PGGKNg$dp_w2=makztoB}ef;i2KIsxnI)rr}W_kaq+q(J(I7v+ZI zWNHrg9L7H3+KVp#wHJ*t*wKZ_~+Jg_WR3Tm69#I#O zw>br9l_A!C3K!bV>>n3FPV_lh&mcp}Zk@0vN^LN6!d~d4F_A_uzPDKG&E^Pt}{%P}#k6AKfMfnG~FM+vjeP!){g zulA?3Q=%B#q<&MtHOEh9qwnW{ujD@jUpR4&llTs!!BPEdr$pWQf^c`kH*>JLZ6jX53&4LfHbDm1>E5tYUU20$j7eQ+J^lB>;V2dr1c)fQhtxpXG?5 z$lAdqh$ROp-rXY*P#5q(^ifM(D*ii+U~A9e?gI}U3CCz)sclM7k^=`bZmK3xpx}o4 z%&=TzDTbZ|Zb0vs2@*tnEkr zPyVHFJF~u>pRMp$5#G5}N$~j88mKYqutJ9lCO#kV%sSvELch}!AQp$VjSN~|zFc`a zyWCVar!gIpjlzQ{lU`LAKJ10MIP`)Y=;#v;Rf(KGZH_P=+Rc0$!gzu5Y?ONf7%dgm zgA?tp2%3p*r5R&Pq=t0$QEJ2O4h*af4(}lj>@{FC^ELAz(&SwteZQ84*>%6wZTCS= zOGdLy`QZ&1zoMMzkjm_Ax}Oz{JZ2>%aLn-$Pj+0Asg!2lpoUhJZf@YDN1!BF^WneV zXnrrV!Z*IRqRVs^a`mVdr&YyGN)$buC7yrfb2G{ail&%D!}F2UUGl~~tpCQ(6A$I>DD+F#(CKqNvi2YN{z6V4II`U-#N?>G8TabcxW1`X5; z$Wu!dIRKe+14O0r3)Ha=((Dm*3G6Sl+$vGcYNqMFL@1SR`S%7+w@(4Xb`giRBi7o6 zA!b_ML@4IGvWtgAgFi%%mC^C8JB$!PNJn_3a*WH|D;uIQqC>`n``zpDG9BwlhJM@> zUJ;-^_pkjVtLpI-SdzaB`7|gv1Y%66b47-$YGg(^EUE-x2@itr+)%#qpX0&h>R#f( zG{I#4GzbKcX=OKjaja?@sNE!Q0pSL-?^gHqrGF^?7cGLU7Y!ZQsmv#>_&g5x3;k-~ zwcX5psam`_R|$*3938V(*8G$C)@?7Rj@4)u=RU{CFH&hoQ z)I~`xD403xu!RJDQtI>B9VA+i_PHm1j2Z{NBZJwT3F*PXCG1Ztj+J#bulHLNOIvVi z(?Jw7($)gUWyo|HH54Ys`B!W2@Ol*@2i6)mo%0yQ#WhQc9D>imU1qhj?+)0->8WV& zFrxY%q8>zrN<*3VFOOUOx-6G|=;X5Yl3LJP;5f)=^U_ENrFK25+H6ect}Gu2*KpJD zW%W(EU?@~5FDO?Nm!905c^JDTT^!abYZP`%-}Q-%cB=c#CxxN`xxnCRpBCmh-`uT0 z{%jxho=(QYK3^-jR&`y&s6;$RctkClZ}XGdB^#;5aAldyZLC_o@1cE|@on||z4@$> z874`88~0i%W4zzGc*7reL2@?3ODy(y5LrT2!a92gD73@UjPjg${I6q4Cd8 zmIZR(!9lT%o_-#G%b#ReO0ldKWHH+ULVy0D@V@*ZhN0eB3o_U8z?9dANN+`%h)=#0 z&St?6AYIa@omVFVDDmh(xi*}mhxXJxUm&b;@m@#8ZY;$v0WXs>tD=4TWB*o~i8vkV z#4w49J*9U`EQA~jkG!N}eCCux$Ux5EYZ4e5}RPyr9%qV#VavcwgdGmq@_SBgMR0{|No`Tie#$3E+ z#8#j9dZ(Y=qlSjy^L}60a%4Uw!3141!AlnmIw;##KjXsv-Z5ReA|Jx;Z0?UTRt)@D zfA^*5r+_#lTOgQZfmHma*0S1qIa%!RtxY@*Kl%Vu<(tvHsE0z*deCFPtV$Xn;;cN> zMj3W(=8oku<70&pILFBi?}JC8rTx4rkJ}7d-8B?6n!_|MhNeE?Xxb{me=ELS^=J4W zc}%~nLb$u|k2*iL*QzZLU(k$~Bze18YA;wBAGFPZqbNKXqNz0GIJS+QD(^07axygd zKIr<5Hfunq|C8yHFzrdh7MGT6fT0mU_VB|UsbpKvz2-SJEC^Z`?Vxhkf`RgODe#C- z)5NqOeJEtRr|}M}c>N>%{edZ;j^;^1dfcI39x=Id9S|-K;@R=qS;m}@KhV#JKI(Vf z`jil?;bEGqWtd6Buc_-tfrS=~nkMBHFbs?>?-!1hH_5(wZnSG|VmUVAxu>ZMfe`AU zc{gqb&}MU1>YKc*$cDsxrOP9Vr2&oBGqbp4rC3l!Qy|iMl3bi*U@UkrEenE?C@WV{ zwLXj@>7#u41}U2Grt_R}d8AeqT31GdAvTwdF51oTZ$^WP$<%pfRxx%+GDUw#W&w*=Z> zxvJhobLS!P%R}G=3Lg@;(YUaa%N#_{a1CBKr8bc}dlq-;x-2Lq?1vMaHUXiLGj++Q z_&0YbxXdDf0eTAbK--MZ6>0Ry_rN->gJ^~MT9T1TaV@NzgpXa0ZE%y|mfSnhe!}Z+ z`3B!e#23GlSd@7c6-0wjQXGY}Fq5u0xmdiWV}`Kl_|AV7L(C@!Wqx=~U3w=$ zvK3xMM|}E&diqPlhFtK{J_{ zNFwhLP%VtB7u?*w;_te1PV@?>v_KAOvJJ2WlFqo)uix03r+~gwP7?5v5G)MzSdYX3 z8o+oPoGn_>rX))>;-}4~@(OVASy!db<{0{0U=Rv)VLmy$JM3imT&@UQn%!&7JLr!q zM|8XkD;H1hkq#?+T1bIp(Y%bZHCo+@7r*WGs^>_nJWh73?@d0Wc$Rg4T?dtKG!l5J z#NG*E3x4P@ENp5t5>_8CK@#bCI<8+6@C=5uS?-Zweuwt-8Xp(uRk-boAfz}I0YetTZmscIn&s*q8EqT@SuPb&zyUDm{aEW2W z*idzPEEv^+%eZJJ+8~~hPf%67}x>v}QY^7=fI@%n{ zOb9utD5R(Ey5eTV`v8VATd*H6e9$sFvbQ9H+D;LmhfZ?Q6e@%cY8CRk0Vh$c??{+G zYs!OEmI$r8j?NlOiiUuxrRv_tA-zOiT|y|M;+j_~m6|lk#FTgB1FzJj6Ne`n8?Gw^ zaXYM~ewxFxL80_#f4^EaFrRev+1=!E6lbZt+A#1sjneQZWEQX)a>37Y28I#2tY>JS z2p^UYx1e=F*QEp>8IK*Q)CazGS6T@_X!s*0ABx}*9Vaw)p~+lXlxcjbshRd@iZ7!f z*((JfiiWp}ayh_2yfolhJ#X3P4`_*z0S3b4@pQDWvLaz{G3J0-0N{l$lvgfkcnW+G~=BM~AMkr5iuy~V@_=tX|>=XyM>+K{#@hrs_62fx~s z8VOJW-$Zkyma>EtDc$J$ZpjKz{BzaS3PhV7;k9#)lC36I-$@1$FdX2W(-{LZVg)MG zh!R{JNckZwG75QStYjM5+I^6dk!pgP9VfEwRvRDNUKQ0?qvkXuh!wHo{A#QA&0(>@KsN+kL| zGFi76aZy^yw-7NXV5|O5ye?jDc!DJ4sRs4&E*wGh;E$~R+d451r!o1)h<%pQzS82I z=9nw&Q?Ml`AgmFr(bAoFUVYBAzb0!Y*J^g|r@p30DCtA&^JrLleE!^h{C(*XY)|tt z;B1Upl)=VS$ttIKvjzACaJh7%QlFZ_TLQis%YfrCXbqK%g`rwd?UNhJ@cj#q!iJjI-zK?J4 z*qaVnEBluFjBtR*X3Cd4@B=cS!u-Kh#ZjFdc(ZTNYcttqVN@nzmKeC+k-w1#6x0nyRX;nR{-8$I4Aa_AQR^cP zD`b=@GK)qaC}yCx086}K|0dAI{~yJ? zj>~LU)&Zkpi6~O;!kJR+^ybL>NnA$M|3hA(gZ;!=C|}cGrBp{F%SY#7O6d>sk#YWJ8I|it~DTG2RI*!+e&I#=zZ>pJ+ ze^)IDD4rN17cw_Sa9lZkq|aEev6-wHtukX52YxO5?y5XgKd~p=`;R&c()qc_z`GYt z0%AyRpZSQ4pM}EWccHUFt!g)!h0cC_9x&S^d56%%$1{ONunZn%i>|r1XE9(7q7MYm z=nh#AlDi#zMx%=*}2IUM2C8XwJEM_DsY**L;;%U4Q#w>zFJaf$BEbO#BsIL{x zM{CzY8h;}U@M9JC+EH-Mjt3lm11d{Nk7VI|sh6y}3#HjMpLM(LSY@yy2qUKT8XR9#wNCxya`*-#q zZX~z_?5FsqR%>gJTp7SgeZ98<#$A^p{1Z#AHi|s3!f_EnnBo}g4F`mO${aObOEl7* z#F3g4Az8l42sK58>zWCz^8BNLyVQ#Yo&_3xk7B&Jzb6ii$!#z6(D+bW#DauzdWG(% zpB1|H0&j-ams&2#LzJnfNV8%Dje>=hbt9N!QGsAZ!+V?8{UkwDA#pK;4q{_Jbm6fr$;v#!Jh?db&)X`uPpB<@?e%g@e16GT?WZ<4(k?hwEISaB7X_$RXHc9l(GU z@VYAMX&puYh7W8H)(qiNiaO@=ooqe;CGNds+7`c;rJcd-=Y;A8Dd@;RmlXTSJIfDe zDgte_$G6XDLCkR}&^VCZ1fM6G4quo1gu9DsE$=0&DN-C$1}^kGn7vesXS>X1SBg09 zb^;k&%+<_>CQe~BKmB96`E*6}i8D>l%QeQ;!*xw6h(@CJqoeU zGii?8Z4bVmyB_Y))myI`B{lgpnBQ+@0uyX$oq3YLK4$D-Lf{OYrErf!K~v~UfqfJc zN@R0KIOEg&Soq_bei%r;Y#cmuohY5H8H^|=(12N1|a=IWLw{OTkCXHx~^qw&$4 zF{)X$8FFS48FQ}q5*S|)2!jC&B-V${yjXz#yePF0nidrnuvV2m`gHWAZHEY=^HDb> zWE-BG6&A&gCAI9(V7^mmt3KTmq4qUVj@I1f(zjC)$EwW(_i(oyLWTE^H1=goc|_|S zuP=ai?arcON6nW;4YtANEVtpP^$wI)jyu|JGwv->ir0J%k+n@r6Rg{!@jD z!@^#oE}jZ(hZ5+q`05`oWH2-8UXG)|^ZY7m&ReABZN@e}`! zFvKfHK7t(?#|YdkudNPy?OQzb)c*H3zk)&PHm0bMlLqwuKu5a_UZk`Gx~b_fT>;9S z>N~A9tB|v>cGJ-=YE?c;B9p^f_EO9u(A0N>_oSwgCXUnt>1|fnxKrNWxE~?Sri2anzIZVnNPygB~W!L*jc6S3Pd}9INwZ9qK@ZE6hNvVF6{G>YrqM?;x zns6mq9^skZFd_e6X%sGG0Gl4Mxd_z%(zE|z z%Jn}?wGd!8lJzrby8qMShh3evRrM_#_)o;f%Pz^{{_Kk^noo! z!_(c!;8giL;AgxT$^p^<0P?| zKLVa+>~izZDD0+jWg@9QrI0B61V`YVRjpW@5Z}kp2unIWjCJKqKpUh+P*C& zgJ{2NT?T{R<*CN_G+O`&IDAHWfmMSx!46=n6#P2?f`5#YfRV$f4et7%fTW30*5Y#Y z7DjO2wOJ*FOIL5h(Z;@+9aaj{qJ*4g5$`3s zA-2DZqB0(`DLE<15dr6AN3@RzI6)8aG2!)SJ8K{e<+eeHxM9TN-AJpH;i!sJo0aau z+o>`Od9w%whPuNnC;umS+jzs2C{~qp`Q!9nuXk<{m*l|Bs1Ffp)SKuxLU~UkW_SUn z2g(yAWNwO3VEI65c5m{FQ?;Q1=3@Av>d^A+w`f3JW<%%@rnr zsrft~QVJFyS~0IU#>WPTS*;D=Qu+FK!I-pno!6b@dmkriE#_d3w2--qaGQocO{$#Nh)UMOOQS0)33aj|E z9RPlczZNUO>!kfOc|x}H63<%Uwx6lazCUG~kY&FV*w*!!i`6?VNIlFvf9*9Mc<2ghc2r~NdHDa@^* zXJ!VTO6$9gk%~)%oYKDD?@?f-@~?gF!(Q)Pe*W~z>8|ThH5#ove&%I1hnFJdK<@); z;(WU2;1l1_;`I#IihW}sB83t~;C7G$ahRB;5X++QlC>OuHe$h|f>%ub=l@Wb4>nlW z>bskt)n?W};W!N%^tUWFXSU0zlAfJn%0>(_2|==bbUL>YF-|OpB%JmukB=nS3`iI=9ug z3QM9)m`%a|->du{Xrt!Bi6&-TZ*SMaoF6cO-|xO~OO8h2F1ULPFaS3uF?c82_ayX! z312+eW9_PP&mdY@TMO^ce-C!8{X1U*ug2Jr zbZg7`f|KdFY5$5J-_Y#&RJYP*^0o(xL5R~R%cu5yrcdc2h%^_$oXb&HO3JKRoiOZ1tF-Ev1Y zRUD4;+xP2g-utiXtC3cNJMfQwcLLDS-Lcz03|EK`4-Z`(jP&-p^Tv7v#95{oa$2gl;7IwW7 zt_|*?2WL-)O1$&~l(qjm)wRiVvpGGJD5#XmkhTc({8z+u^YOK@YIyN**=H!~R|)UG zC+WZN57FBvy)HM7h-{>vPS(hl3hy@($^Kt)4W)JU`m!VsNKUv&DA6t>-_^LTnsK7! zZuaY`Zr9&#lO9ngtRH`Uy|+NusfJ;AhI$pXhnpa$D(K$p-dWc6yBak~CmjBR`f4&o zY#c?-Nb&&4`dYw5uVUr%Jo#C&gzuXoVc&BcbzvvvQj4MQH~u4(-Wadke^ew95<2nY_C znW1pP*c9>ePygc)@Dqr9uz15br~R-ANb|srx3EvXs$Y1=a}Em)U$yer2eWQdhA*x&7_F;3g_U9+`H%{2$hS z^I(sfExORZq+2crbq?^PrZ3miOKKK;XY0aTYwoySx=`DE#>eT&$uq2usUUN~k1Nc_ zNd_05mnaJ7jVyk_FGp`*=;mYMip=1Y36!os|Ks(qO~Ci2*2UzdhJv#laxE5^UHt6+ zTWIu`x5M9SeWhET(MXNi;e^c$8xqN4PVZl{nMEB%9OEIs zaw*E^%(r~e|DJr?wbsQspZq-GuD%_nmJ|eciU9i=Ze~LCR003jt{YQdOj*RHcL_y&35}peRTakS@|| zAc#~0p%gx*0Qgx-73j_-T!dC!OY58UVSi6_}Rd#^U z97z2ga_OfwqO|;qQ_%zHs&a54CrzcD1`*>yf~tNJw_bU{i#%f%{qw+gpCm>K0@K#? zcNO1tc}f%)7pi*fyiZ+=Qv=!Di(|9OiAekEha#9LE+Xpv%nT3p82McP+Nel&dB`(X z4?VjkE&7YSKAAH8L9e-|F=f7nAYg9s5uI{3g`MoJz=QCYSpm$=;gmX$0#4mKxp4`C z%?xYL69^Wyc3Gr1Ev^@GC(@%min$75(3qlI6yIsEx*E$+#P#%XN}dgcvs9!`^{e(l}e2x?s%$O!HkP5=5y8Y2g9DCJQ0ZDd?}2PXptIx zm;az6toF!Q>H(srL*M=)lG)kV2%df5@oCFmPt!i0xtLB(jMy^Q6U6Qs1`R ze0+Y6l)TCT&J3>s_4Uxe{^@*Rqk!4pLzT~Dp$kt+A*hKx_~teBbrE$b2Q+WMQQhpd zyq6X4*R%t7=}-qF#@{UFny8M-9|HEm-H=jDLShXlcR4)Q{O+;o{N+6RWwTp?RUX%- zSAdaMsb&(GC%Bq0&dy1%3^G7XD&N04Sn0?tYWjLOrfSLR76#>T7ntkELuW)rW=033kg9mdR)x{P^9`puPDhYJ7RRwxhd6pDn z8hWo4&y41FOwjW#kPmCY^^dY2n-KS)8JL)G35JlJy90nY@XqN_QbTSl&^ehLiM*(c z<2IiC^ez8qK*q~JUtd2afh~agavml&dp2{VWXlI-`8gLtRq227mIAUrHsN{Oi}s<| zz0WH5_JPyjzA)S~x!qWW=ZS&mLHMH}asT5tM03&sxB)vB#FvlJgf*?XmWom7T8r}) z7|C3jDH)U^gI<{Hg+{aJ4?0XuDhJJ#ZxmawpEbu6I$rv{yR_Y{2NuP;dOrzx*T{hV zcMNbw6gpj9rKSx}? zJ3lOC11w_MefZ5>e<)I`E%o8y64j=@t7O@}!JxDrS6^~MN7If8V{vd5C zTA)M1og3nFcpKA)QSmod$p%s7)YOuhRhEpUCF)WYYlV?X4q{*>)PNR-y;Bj$rY~w*k zBd2bE-qQZc2WD2RroE?d>4*H>PsM4KuWeCmCND}eP)~&W>8WyNS3g0pN|vC=K)?!# zb0He%v~VFpM2&IKov~*iF_;;^QX0p#f#W`@pF@&bF&u6F#LImLG@E%Ziss){OAbtOiyG<$F{bN|rj zf3ANxQm3P6^~8LSxws$kp9^j(j;$&5aaaQbdmYcGfHCJk=}`ZY4G+j+16a= zP+=7VrK@;s)i7KP7ySUWy=W=B-3Fn`r`pl3dJI z)9WG=L=qzi(@BTQBZ*el_KU+w*HNa1?a+5!u1niR+5u{kGu}DXuCtqbCn!zwSB}qx z{vlu}p(G&uZU{JgG}-{{LNZjiWj$H#>~>+4G@9BC;B^;505jE9qgiD2q~f(5)I&+& zP;7Ne0DiD&&#;zcmL->?BM@i4{}CB72CzEoLELMp_?b+6$|KiVEB2aP+hisf(?v&{ zhl?Vxv-Op+0|VSa=La39*Mo<|5VRqe{*SyDTfK!NC6nD^>m`=5-cA}v`|20wMpL8Y z+btwgwRqBqtU+)-#aZWm&*$W;fx6ikA85M-8jj%4deU+dSBZTGm6V~ZRDrqHW@jsD zKiYZUa8T+>7Q)1iKkoF{>y>oGjg*#_M9kb%uwhBbs>kN1?f>i#5TdW2n-Hv-TKL^8 z0`}FVdSeZxT}`LWbmie5lx*0E8VHQKOxOQ%C#S@#n#ho!ho}))J@ZK_OnB{kY5LQ& zR8|xD($n>YYAYJtzpTlLWSujc3&=fHdTq@Zc%@LsdDajdH{iO%NzE~uDG%DM zFehiCdw7DdAc~{cg&|L<=nxl*;#gy3?VsoKTRvBOX z+nnJ0)FkwkUhJd>r0EsIG{`wgKecV7tSap?Ohg{lsc|1t>^sEb!f z21fcOcZ$%Xm>o!lii0Zykt}Y%X_p^BWs&!8h?4_>&BXN#xqv8l+Pi^!ZhVO_Wf>v1PylUB;Ey8JWlIUQ^K2 zhtTYW9q+PuMQ!Igp;-a~oChMwmq_=bK51OZ^X-t!i?dmLLq`+~PcrlM7MIEu6O{dN1NsR7z465!$&)+H}W)D|QNhHIa8 ztkOQdPiCvW$y(=yi~MeE%xZtoWd##Ub`4(*jLB`K@1StlLjCFk8K1SH0*CpQ(2$~` z$=9D7LThCR{=qkubhW^|r}=9RO~v@@!yO>b(v$@PlbPL7ge%UzYJC@XZ$N|)!CLKh zj}QM|wh`x!<1bUUv$D_Ob}hlUF6*y-q2vQ)#z1*QV8P=ob4~b+z2!T8ZW*YWvS+Ne zyOCP~)st7KBNf|F$qb{quKJD#GvqY&D&F0ae& z6#v&n7LkU%c&|PM4mwdE{5TE^4LHvO2dEy+1~qndbxpl3nywTwt^P{-mJirGOT@D)R}u~oT%EbDi;T0QA9Z1Itm@harJyYV~%0i6DYf-h2WlfJ5d>MS2p zRw@ECi`~2L(q{&s$R`h~Dji+`PVq==HMGW2%-u7u(|q-vjB14O2O`Qx3eDt<|LTuJ zBATqZ_dtiViE?X$nAp5UxHp5rhCPwEEC!6xcNFBQKBYK!DkcRgfJ%^y>s1ru);Aq0 zbnbSjn%j9R>-Hkn1+SI0Dc8XD#@0AVqxXG)#b$8mU`tzVnHd1j?+oXfCE5+QIAA*H zgg)Ea203j8$f^;yH5_-FU1t9UKWdwVq7|AMa?@7q`-Lr`uNk>eg@q~vQN^VPMFYh^ zlmp$GnL#e7g@sMo6IK}8eIkQr$i--xyM{Wa=mNPsN5sz#W7Y7>UT1;@`AEQ%gCuLL z@9GeIMJ;RGfZp$pXA~k`w}^;tQM#Hd|2@Txm*&d!-#_CV$!pEE8^U~=UFS%X0r47V z>nO%8yMdXm_iJei{W3MQ-t6!IF$}kUIb4y&Mjw|T)3x6w^%QwQ5sGAyq$LqsdP4(i z-Yq#gjKan?i2T7jWsEfF<#}7=)I3mIQENx_0wjV8$e?}PHiNZG0p<{S)&_`GO$yko zJV)0!jb{@SHcpR#a7$s}Lmp|2+^OB4KYyx*il=*C_uCH(6#&gC2F$@rRxI!f4C=Cz zh`Wa(!JokO+e%R~0cT?v7&FYs}#?zw6b~CAkoE zo%x^;gZ#&&0(VE}$gnJPElVr8<4IVd9 z12_YX5;PhJ7mh?Nk$WGDj+xT0n(s$o=jBAA>di9@mJN%&-B4?AI@5ockFfUvP8eK(NmO+PRhyXV zRvhZ{RC14GhT|MP_OjK|WyKM69qky`o*~zPFHi3=i;KM<;JSs>XpLnfe7re#}EROmz#8 zwIssp(r%qv#LC3?le_>OfwjF1yno@3GfY{aJ{cJqsg~( zCgJI-XNSHZ5CdNIiJ~6qIqe&2>c%I?9em8yhCb%q#-Z2vvFosOq5~|^EzRCy zxJuz0Q26Y5Oi zuQ&Td8fLve;aFzBJ=e?z=sR_tpAke=zB!r%1fWR3zG{Dv{?e37FM*-`RSt8D^?xwF zUOMq&`ZM~QcYNYT$x$LF$_A3x$FEY(W^Q#$A&cSHEmlMMK*sN}d@`;0$fW2bNa*Qu zirFW!2XFjMY#G};{;b!sL0*+g8RIIe>Q#ZbJ1DI>skMzU_yt&{J6OH!h?4Ep2GbrQ+$^v8F;CI!p?xDAKgNG26L<7)FF^x6+L28=C$(2}!&C8yMoz+;qTsU)Q7@=$~iy+WfgfehAHw%yxE zC(j?G5-wAP6@AhI?j6_77eBDL3>!~k+jhepJWo8JMNi@LWA*E>T{7#SMrCRbxZKB&HMlC~dKt#Eo zeLb9{iIQE0(?gIa3&HcCbT@d&WlQjEW+ z;Fe_&S=y~z2l|u@jkB3G9fl5F9$cqqSkj&QXxRW69|qbGZ@_T3Q++z<_@&l9G74`P zx;Ap=*uyGCxt`Pn6e4%;xNZ9$sqeoVpMf^RpBgeSGHwPHQrw9(BaR8Yz?sqLtrCtF z;?DQ_k9bFqqe#4KZ~ta{UM>_tFjl3snf=5jHc#__2$rcCxPR2Loo{rs>Qg@}A;76r z0j2>em(QC>jwPPIRMQSn0-Bkc%)Grdip5Ggx-Vv{nLgx1TmnwZ!O2Aa4$CO?gki1K zmAX-HTf1Tk+kAHQ!1-s!N;E6Ws0it`^jo9j!@5M$?8dM1uz-NnTSJr_uQR$Kl^&NZ z6S7R+WLKzK>~5ShqFFZ79VCQVv}M3XbIN$##`v9ex&ute<%nedAk)UMaXi0%b&g_G z6<}<+GV%qK6S=mVDcDy-sDuXoGK7!WL5n~bza;{wO1GV#?4hhJe%A#t#(_MavH9eF z^V^i#n64WoTkCo2_x86GA(V?I1>H4|p7xw{mIgSb>uWfT*^jt8F0eF7SI?e^z9Qx$ zM!>K00BCN%mR~)?!bIJHIjyShK^Df3MeO22S{82*#rD!D&zMmUi!>DQI1qrE?&_E@ zX++_^{^nzBx2IcVe)JDQx1%8NPKKNa0@!r9S?BF*V%QsolPoj9YEu=v_v7?^eLbqU zT?;WkOb;d?gSl%RuaioJ;vf%-WI)2H@jBUAuM*1N19%=Y^|AY)C+3rTCtd(O-P!3r zODWh$=hoKo@Sl9Y6C#2a+~VmFo8P5HNy3dVT$*YU(jd;^Q}-iQBig1gK##ugy3G1_ z1+rWDEkG=v4d6F-$7Y4_=yuCfAf7>N`LDVey|DOZw|_6GZ31l_7``8er%W_))+o*v zDq1Lh@0loRZ}s9`;#SFMH;~p{NM)A&@xv%60A zd~|pEz(^OJDQK-ZVQ2-4*rc1xF7*g80kRzY<3pL^!~Ej&6ST7KdKyP;8AfX21wbf7 zuktnspUfsDl|Puo=r}*yRb{K0&WvM)4UQn)kJzPYVWCY!egUWZQopt(K}}7;BvtO% zA(vQ7Oeu> zwgmR{NCODs`s&ttL(C#j58@1R!wLkU81a0vu=$E7cm_;ZMwikqg8y`vNdVX#w3o?; z6%l*M+I9xe8+5yHXO(G^oOfoAb%)d`o|Aede5>bTPSY>1d6CAX?|8^+?R!{xSN4sP zhS!ljbn6!b2??MHaH_x#nX6y+GU4I;3jdQ;$rquFqjNsI*;5` zj(`&;_=ybE?sm`!2$Z)~u~!P?8_)lMaf8p;6DXfgjU3gU{q?SbK-jxDQ0!`GltCIN z=yI>*yxdnKkNYD3NzC?0wt7#aQIL6HFy~4@EWWPjqR=I?|x?yTufZXMd z<*6YUr1$C|Msm5Kg0F8sU1BpX`JVGN94|yvxlAL4tSvxt^b8C>6`x4RsUPyL$x%lV zDBq#dnwhmfRSgX@FA7@W)24sZ-ioxKuuwrSpbq;-1Tz^dSY{5uLyPUdGF`p?y{|wT zcwx@;_frQDK_cqN{L@^1tEdTNt^pOhz-U+oJuY}r7t|qp@uRyEmT#JKt|vIKLGubBDoJZ)dx(IOK0r3;0YcSN(oMf)G= z0`}3#q$xw6aj&*v*gOgOUf1 zrbbn=AZ7IdE%4@30@=lzf8MQ&;FK{OEy_p#jNWg_|MTgK6=mi=Er-kT_B;gi5Ja4F zC+z}A;RAxtO(Zka>^)&lu1iE5p<@g&k9Nbf9?p}xh8r$!MWtPF`s~&(I~oyO9&qL< zWft1XetrJOsKNi|YSLiq-%TDsqPmEX zC@IRF3P2eW-!Dql2)>0mW3IyW8VRzq{e|*$Bv!s4$vA+m83pH`ofZTJ+O!kReP~B> zjD#L>Mg@vY&w}$iwS|U~)er3ltr$+tp;7!1%oz0N{oMh-&~>%td!GY<=IwHBPcF1a zpsZC>FrsQd#@T^nnKV$xr)}3C#5VpsQ8lNs5^cP;&(wGv+DW|Ax!8pI11NVdUq6CL^nLr&bcSHT{`-hhU5%$Mr8kFigbbxXe7$Uz8W^9Y*H6PYG#f26^bU4Y zP>AcBqbgNJi_NR1$~oqv9l!5pv1}V=xfbs}iSKmjlzM0B)ESHxA#+uG$25g`ddt$f z+N}ZCSf}0uB5g|;14@JCYo!+h8LJlKKP3EnALaJ54Dy(3qB)}+X`ky}=gS&fv^~$cCH_UgO ztW5b?c1E*8=bD07S69Q{QP6bsrOQ+V&DKJ#N{p)b69tVKBNzp{4CGWhU)H{{$ZZru zKv2?zdTA?t>D@y5s-jBy9~p~W*+{S4NG>C`x5oholsf_9kd4yAxcMp0=XV@eIgmv7 zC_1zZ{|LRwAzVjH965gAv48if#`Kt5?nvaN{If;hm5WtrqbS!JnvSHcgJ+#A0Z?;m zu0xbwcmVd~kJ`FlDeV~~eF9R{cA1dilo4aL6#<^P9Tv}its_*sc<0RPDCcM*X#T02 z|C+j{K>aprL0AT3z&9)6QVvck&a~cDEH-?&K-<=$?eqX=b+Y?sr_!;)7(Wc&QZcf;46zK0w{#CbPvn19LcAwMZ0#!~%yV)dY7jSlLXc{9P06S}dEs(oYk zP%GeA+yCOy{Lb_M`!k9CPFvT5_5#<-#(+!DpgRFI@(sRa@(m~E!qP|AJIi<+2HiaF zIgmuHC-c>-98GU?D3~9T8YwEJUW>J{K|55f;&2fxk}hrS5lo9qzvH2R>AN2}hVt`r znr)Ev+?ZfEJKE~cS1Mr87}AKYL}Po?By)6%+6D%m=Qc`6Fh@PJdDSz+dnW~GpPMd+ z>0K{C5%6W5r*rNr`(cs@Y}v5GJ$q#n>6rYzatb11(r?ccU^|a|13hP`a#Ln|J6=bQ zq(W=F9`Of7c5Db7)Lyo}t9@I{D9?^!VUjK$^m+4evX7lPnmtBuF^R5f_3{!jg*@l* zEsNB4e5c)hQqsiBAA{tY2M&{2Lt6$>q~T`(5WOP=e z*qO(C`@md)HEB>@5w=kqg8uhYNw4(i2Gc*u1#wRIFZ85{YEKK9BIz*>`rabi@>Cz5 za%d9~DStbi;8uYB`x(zc!Sv>ja0W07>|G*aGP)b)^d;s<_5c3*U)Oc!pX)|Fq!mP5;lnxWaYf`1tsp>Nr03j*O0GbiQ)>9|Ncm4Rr9G9dXV7x%+P~ tSMqQ)+4cX1{O{p_{r}6a{NH;9Pkdz!XFu)5)C&UsRG(@+K`5Dr{1+&7wX3 z_vU+?SM~b5|A6n0Pq*9a^%R%udOXhaK91wKALk=zx1r7oMlMDQg|b3VSJRk6A>Yy` zFIkNLL{Yd}@t>t9bPu>wD9hH6|1F?gPvD?X)>8B|x9#;#==rj31!e8(ryHMAyS6Ws z&Q065aY57O&CBp-f4+3LP#6CDo)X}-Sp9$hSh9&i_wOI-R~D@P_dVs@@__$+zuJzn z=-)pA)-GK8?|aH3PRfFR|5*EyvgF_Qlx_cg#D5D#q5Kz7NYelEg7RMhp-}#-w3Pq) z1sddkjg|5rJfKkig9rb?0|J--g9nuV-~r;`KX~vTJRtSpKX~vTJU|%y2M_*(2c#VQ zg$Hp@d?G%aeLY__&$nD#%htUo`l$Y|Zy$r+JD$|I^~hN~V;bV?l#l$pjU2x?%+}FxKUF*{H{B>dfwW8YLN$=)}YcloI#a1&i48zyE z|EPev+ZhAM$I`y8Tw?h@^4i_%4e;-7aBH+KJBg^n#F#Hz`WCdtn|NjNUT0J*+cYP&V)v^!#Q;D8>?hs;@IrKE( z$d|{CnPz$S)7r_W?$#FlQ{9{|@5?Z$DC$b&R`D4Nty7)eaL4eb+51THBGGl?F&^X_ zN`S}cWLJ_-Q~t5`;X1X5>vB$&FC*8rPqar!|JqMp5X1Dhj%sam?|iM;`}l)RMKG&t zN2E^WJ)=~c@vmP0UMP@FAyXcTXqsz#rPiyflD6c9eMMcBF=BgS=4rq3{QG7XH=dao zP;3v~Z1c7FH90fzjKOu}olX_jBn3+; zbG*6mKiFmf0>iTnm6ecF4?6igC zohdQeTefU@mw&8j|KlS@d((}DwZph>&oJOO>gg$e-fn>V^vF*ptaDIc;B-G#ZKcxB zWM)I!#ERO%c!<19z`Tr2dEi7l|2zj16T5|n5w1VeZXp?7J$2blp}lrOdbq1D;?B++ zmG}2$q?lxx4OWXJX?l8k>Q#}23b1me-$>r;>3noj68}x5lfk$@EzR<$XBWo)*{8g} z{cx>>Dg_rXw8P(CEuzEV4t-tlbLN3HquuopxAo(+Cx?Et zNAFS%ni}nn^VmRs-ykURCm=O7lT>|ee!aiV#N=8n949(Y-e&jjEu_l^@P7W1=VUuK zGb!UgH#0F<#cw9zqjZ>w6c~fEp^{;LSdNSU!Ro=N_^??Hi1}oUD zG!a4ie>Tr~-^Hkvx+S z)}`f~%-r(Mfq{X?zZQ$puICC{0@(_6vxC^A(wU)GgF~;Rs}R68wb$k7ufKZzI&=lM zyr#CccJLay-Cwe-sH(p|Ww0aKL)?DURK!{Nar*S;nf_hqV{Wu)azV1+`S307o#j1^kH}Jqz4z1Man($hp3ge)Xnh$zGG4*O^7Rb`X|@gfS7(@H1%Jvg zB|#`pef{!f;8)Kk$)le$IWP13dGq+s47yHyzpQhSv8~bXc6qM-D?!1OV@>%r z{!GXXo5o!Ghlie>+yCIuwhiWm8~yO|{Y7p+I;#*GHZLx%h{Q^9D;y7PZfM7|ji@bL2zKWBv`BqXHG zJ+buue(^|anXmD9GoOS>W+3P0!{sBtKG=4?zBbtCkW>*RtRGz3n&{KVNh(>0beSSa zFroGI4TC(cl(csDi9C`NHvbm}5TIu?% zgK@cC*{CtHE-lL8TRP(v@siY2!=0*DBobN9lD&Gm@;DadA!^)yR2gYL3DfMET8&m0 z))~(<7v5KK()>?+#=~zMFHYBV-*7O0LuCX%zf0NVVS^-971i014>8JhmOj0#FD|c& zNR3cc5}sa|R-zTcR>9}fgA|fG`Y}*g|EeakL|<{=5Q!eunSmGaDn6dC6IHgh_>O;_ zK961h%wt}hR)w{Ng0mMxndYuaDx zJ=j@=bt2nM6`jhmd{Ug&elXf4#TouHnb@JtBxOwpa<%@XXB2d*(%M zc6N5os#)XIUA-1mKVK3pWmCU1CfY)zZII&+Pket~msm20fT(zL(lo$?X#A z+53fcG>P1M@@ra!6SXG=zR899^$ct4Ir?R7H?Rd-jV@T$io}dFlS4*%M?XobdN$g} z(LVU_VeP|*5AVIV`@3n*{O6?EnbQ{;S=&DBQVWyFE^ITcv&b^bJMunFPu96%L@!BXLj2y9f)fuX5u1?z6B;n1sH5{km2f0l|Y`NDuBwAi3)OJN>TB>v);L9RJx2 z%}1deGJh%Bm;1P>4BbqUTYaO-+p0Ahw~L z+ohDL)qmbsQ))7Y7e#gKQ}5q!K6s#8Y{ZYt%awL6=j z)=W%w=cMB9gn8+c_r9#I4(jRYX+R~=)I{vB!b)2_PiH**;m%GOr_Y(BJsZSt6hQJn zs=bELQJkA-Pqlw_^EHRItska)9_=E3_`5#G z%HS78^j>Lc>HZSWW0|O`Zf{rQ9MW<@b26kYnOGElJlt6u zQl~aQV;aHlKO^(2&J;mZYdSJ({(HLrTx(s%kgjUdRX;Pj{)sjmkf9d`Y8mZ8#b zx|f|)1>}mhrKKe)DOk)W97y*w$SJ+L#thS(LZo8_hzcETK&~EX(}%WZ zS(M1DVn^b)dL2IlbR^@|*Gx**9^;n#xG>ToZt!C(>N@Lj;fW(%O_r0BlPEEv9CAnZ zD$mahQ^ie4Vz?qXwb0#c?%wnizZKKufHpoj@?lpMK!|N$bJ0Qb`p1qR6el~P+hg_^ z2Bn58i6ajmfAUp8>z|z-k2rX|$o|INb*$Q`*X=J>sTq9nqx|ZjzFJ0b%3ym{+=&#c zgLy~yg>r6QpXfLB%eyzPUQk-vC8PV%qety&(T2f$47Ugys!n!HQ0J$qHapB@Th9#d ze0=1cAR7whr<0^wI)1nl`%+qlGN9jH6%m0#bZprD{nZ!=Q>jGXu|~!2%tuiP%YiQM zFbeY`1J_z~bahp+Tb*IzN2BdbX>BfYZ%4z@J-W>aNO@lCVL$biA9~}?FT-g&{QUe# z+W-t?P1T7AuLxnEZ<|H!8N91DD<(yq8G2my#$~XrLdNdp6>kKK4eA@U=nfL~9qv&P z-6j>-?&23JdYbEpoeEkgV{Is>hT14OBAtfoi4SiT zB4ts`Vyi@%t0xc!e<|iRDJ|G`mVs~g+(Jr#5DoM^bpbFZVDA4mxA@HtZ%lGdN@k+| z&}to+!n-uR=p)UAuChnou9e*N{MD;h(^|h=s-uLdW*_jYLiC8#?Uz?Z#>VcW6N_#K z`U_dGaB(?u$rja;dfFeQJ>lf%1Mkq70kO15n;Cca>}ilmJk@!vx24MgNJC&O4pYUI}%|H)TYQSorT(YjS&pbK?Y z9`!G;Xh6YdtcRf6==^!r>7L6fK*>Y zJYd8WRlW9Z;hXDn65)z%fi`s;k+9xBZ(Sz$dr;YE%mKxokP^lI(&3bo-JiGay*7Q* zt0f56d(8c-Q_d4MNz|lEnv|IW#6^{n4lgSTrNj_ly`|5wW|S(&SziG{ZfNYUCP7n> zDe26RUg_xPgM*znTq+N`JYikNwn4Y1g;jiSAh3A3z-6A?qJeqO?G$1A9j zm7$z6N8ToTgD?6Gvy=t~o?oS^I5$;Kt>kn_h|CumMLY7w4y1VXx7^qjIAuk;GjNz# zu~&a$ZuAP0)MHI95$NbPCF5VbT79FhELl7IqqB1^<%B7zb3T3GnU#;~RJjpOVE~!V z?z1vgJZs`CJP#zGKs*FAV&DF}%?qi4XE z;Ki%j+AsilXQ`Q;*dLS3{gE+GGJtt>cu(#nWyI|95heod3D*C};y$X=p1Z zEeWGy_9Y-{M3~#=k%FY27bQ1H3-m!?R>_-&x1Y^f&}T^EwaSr6=)OV z<2Q0+lnN1$ln6c*o1TV;S}pB`?cpH~iKp&7B_JSq;7r~M3Z-W?>OKq7`lvyo@)k?q z(N7bAzXd*ZgxKA>%vU_=LB%UH!Iz`1$g6CyELH3)?#|{=^7zS?GdbI+#csiZu=Dze z1&n_$+$xfEhMC+=>A>@42hBeqxqmhlxDYl~5#KXk54Jqf)H=u3>NkBXvh#+53m+Pe zt{ZZ8gsOD`;3chZ9`v?6V8KGbio}V1jRXGnhYweR5%H3H#HGYkuZcqcil)nYRa3LW zm6_uAxxl5BW0Re3WY-P(V_c|TqYt?$6k`L@ymj@9ii%`_`n-SLjg65Z3n5%%KHttoqpGr+pQ`u9 z-U_Oz%`4RRQ0M2!ZYvI!uL;@mRhn$w+)x~qtT>~}jmSu*@fIJKYa3!IGgqNRfR+Yy+W7m6g=eF1AHe!g_ct5p5 zBIQwTZrkUBE@7yT@_;3KUoZ7<5{@%xM&<@#dDxHkg>UT(Bn(h1o$|hJo{hO|er{SY zZh)vxgmmH3D-h-RMRQ)%X^WAb#?7c>d?kIwPLYZ3I-7AVca*%*&Jp%|}&Ow9=?!NB}s7UlF!ZS+2cAH9r^VfPd9V@84J986YYp|qsR%)r< zhkE3o&9|p#-{n|Q>0-qX0>cxm9%OO;#&UF=kc{kNal)1*vmL?5mvd}fJNCsXr)`-D zh445K0GVuXHo7|Vlb`mv;xq4VWL2N4uBizos>D@kD?TPBC^TXoMb7AuG{}qSwRv`q zzRBFG#Iv^$`I6#PpG~W@!ec8De}2KHR=#=aPB&y7quOLC_Du}@XI3LK4?BN(oUS`e zio9O*`rD)9Ar#7$;RHG_JZ^9DE5+- zb{E}|C6#DG9O$isCiVL=_sdL;^>UNT&G28~_X2uEQ4vMarKOaB)Mc^-cGXdYJS$Ip zJ5R&l*{!w_Dl`HMyrgMj^4ZhAh3N@k7yXoQ1S6|>IpFqzT;;sQ=mU=&9 zxV4vspv{G=ls8saLubh{qCnQ$aS=gV0Wiry#D$?FG3^C*p9xSFztK5p2#Nso?IfVjuT;9Xh?y?!GU?+e{p?Ikr~}meB0tD_?@)Va zFm-lnw8@-`jIYWnXyGFAB69w?R}1f_f$uMtJ?^`(#xM{Rkmc?I(Hnjlh)ReXp%86sdk^aL?Z5ES9J`Gt3&{tbeO>W~I4 z(>T_MDo(?hSmesr*EZXta?mnprQ){$QsVxQS*GNVTR~vk32O=@OhHR9a-!CXV}HK$ zfo4P_shwGD)&5r@B@}%1Jm}H=SrWA(W~6y*6tYfqypN8!#6)f9{r{e>E?-Z%v0PzAcfLqJRpb?$V@coSe$8}cDE zoOf&GQjvt!tl|?EcjsfF?MA50c{c+#(HHkA2-<)tlI7Dv4D3mek|Vl8y@i*BGT_5O z3$JJN>_h>+DY|I)V&BOhaa6^xW3BUZrZ<_~SOW@h{SBT#^(L8kMItf1|;-_OVn z#0ayzS^&l0$skFD(yxB~4WhN=HyX zAJ`*Dc6D$5)yiPUdklaQVtdzr!T|Z zv>{L;82G%`5;2fvy?)rv8}b!b1h$j9{PlNw6wpB^ipfSppd%Xt26e|=%s|SmFY~fJ za;OUr3?#o>ypo4QZEnJLq`y^d@p6vU&>zI!TKdnl^S8VBPao{btG5(0D7BqL1~JE7yi><(@BDEu2Wufo?%ruX?WNg!mU8g!^nL@D2}^u zVQV&e-_NflUZkBs$6}P-lWu&wu)l1&ElOW%vQ}cXehHX#1p!0-=&L66H^FWQ2P9IS zjPSzb$G_j+deKSu4OGDv>^b<^c?Op}&AHZa+)5!nxBbD3mHPItX{b#ir*xD2@#g)> zqXn&gKEZ1i#HcJ>ygYDjcAEXvT%G@%d-Iv$T0H~Q7nX|>0l<1O`ypnK%FlQD=PiiE z{P{lA?WrUycb~@@#f~%Dqy?)->yOKufpY}fVYSlT;;+#26g99 zRr!E68@?12k?!F?H=N{n@Wi6ElVzCWG$28isTAO@D+%;e9R0Y**HG-7Lz1sN@YL?) zJhJ@{ZL97mGO0Iif+z=&_riqg|K<8Jslv6FR&cW+DfQhpA%q^#x;(hjfU z_b+{FT69bg6|@aMjCdtgvH>#g&9nv|cl z5QM}MdV2u(rYN%fr`(~_F!b$=}*b&|3!6*}nnON{1S*O`GQV0bScQNIGWRjZN=>WUcpcy?DL5bjAxQmWCy$|T z5nlZeNyxrOiL#>v(ZV6`yq}cdhtQ?zYRykPqaPfn&Z}UCbFIx|YZ)mv^iuN#*#pjC z9(YBFz*mA3i)Lu~ffP<5RpvI$g0fo_04fadQ40tSgARw1vHQ^5$pX1z9HxVA7ZvlM zhhy_$1CL+tg-x=}58NxlyOpE2-1Jl{Jb?5jzgTY&|DZOn-rRjB*%`*$6lZx76PV1r zzAl&Xbn`mxP};2EVtP$D(ObYo_k0@#5cih_6SxT25{@t?3RoLJlIZ(0h*Cl-jBxcr zA`5Za@0l+v8rE6TyK!f%m}mMoL+%8T&Ojj}C6@^3_{1ASRszQw9tdO?|Guv{{Ce{; zi@6dsXj_Ovj;3>%;~5av+O%PQABZ#&b$-_8B!P%S1w|v&#KfTu6;EO>5uqMd@r7W~ zS%f9FqOAC9)+MSeD=qV%pCcp3w2dex7>bcX8$^Jd?l3{z2G?b)tA7JW2h)r}O|k&! zibF5grD9#l)K0KJ8Zk$p{p4_$4&Kq?m&qclGlN<@CqEjww)&2<9?izUXb@Ra1$}4@ zbdp_0#T_83C&@~`Q67Fxlzx-?K14bp*{EgPWo|D_mVH%M7oo#18#arGeM$ssF1KE{1)iw<=ke=_=+L-mYzC6N( z649iZv{$_7N6#%_V6FqR02$WKV-_DUyT7FSJdhB3F^e%0T1!aWLiKZbpw(att+C%gn z`b0-CmgT%kvMaZATseYVGq|=%Sa5C+V}kN2w}cbVm!=1oY_GupV3~C3#zd&lbalrB!*6v#xr5Fzp8C&Qs2G>!wO9RN1`?}J}qq0Xo z9w~X{f0^&}ky3z?cT|7>A5=jy6Elav=?X}|T0Bz#>7)W~ ze@YyluO~>KG$Jx@GrFa5QRudW51A2>Bxpzdlp1lyRD@7iBd{kHA^kASL9_^<0x)Un zr18{CtN8hPn+l{a*->IVNwosma8@nKSsSi0*5D0U#x}`!Z1U4Io0K^RLd}j$6<|sL z^+ZN*r+O3fRP6)K@V_uUv7A2mC|HSGKPd+db(*kSS2NDYk>i#?Y^hAe6AU=#DgAF*{oC|7eDt3Hj|)J~7yy z3I&;IFlo)HI`oO&IVDG(QTL$vln^QL6O%b;RfG6QiTMRWWNJjF;b>i;r23PqFhC6@ zqBIXQxw;??~9BFAa>%%`G6=Ftcfm8kd!J*OZ$wSfqQUtGq{b~+zDXAmJ@ zDOJ)Fb0t&+2{gbW7I{IDw=X@iIAqN8wDOYT$jkZ^SZ3qz-vSRAHm+8wKrVm z9+7Z6zj#F()R)%moTT?(F*0rkc8eg8m9(woYiLFUUvj|zGbXoAota#M&uWmKn_1;QvAr2I{2fZJVE@hI1bRTW6d#Cv#l*zGb3&bT zKLDNB=XMl(xx$;_JD*NN)hcDWX)` zV#;$dF$8gUf7;PrQ2` zRx!$rUsjtD&<^L}#Ozh~Xd(n4!EEZ>6cV4^Z?tS(xT0Y8ld&(P4yS5dWYqI*iF$xm zP6W?3Xw0Fc7Gs6qdzujqY$Q?fj%=qrG4KsXpOPU}s)IrQ zEC`d7l4sBUZ{2hl{=cQ6Q524fYLps)_D6*8*kF8m@%r>|(mW4gp*!@w_uMfEg8VVp zxwH)RI}A`zh0tQfzQXntAQ!P$ki$Jxs`#TZheFL12>E7+0O;==#jZ?10vfvVR^v&o@)+? zLHg29WHGSb^Ctm;quS3clhU=$owvgDTzRa)))k6I1+d-d4JY6Rw!4X^kCNdIQMO}? zqpuDP58J*;*g|X>@c<M=2d7D^I$dvWwi7S|RY+CLfbnS^BpMDdY_nUcmh+jI zw2{fo1ay$3b9R8Xu6v-%1#CJ5s_Ht{=umZG>6+kDA|kb?-%SigRTNq;QG&8uMw?-Z zwnhOFNvz+M$O8wN!M5BE!dD14eTdMd%cAz=zOq4I-CCX(L}94~gKfX=lpQ3n{SwR3 zY%+>PQDC05zlfA{c`|B3#Fjx^XeCsIg2H?d0^$U#BKihOrZ;REkN4~M!>tlZC@3z1 z8=-R?t_(S10n_LuMx7%FLsA)CpDz_r>|K@2QG0E(2*C}I!No?Lk;yhlpLZbkEJ8r^ zJI;~D+4Bu@J1bgh7%rRj6ioy`Axygxy9lXH8`xmX5!pG87D@)IDY!H}!>ebY;{+4A zd~UMNpUwLY>WnMYks?d3rCA%n=Wfxun6LnVak)U10*k zQGvJd_xw$uMY6;IKt}0AG$HN|*3L@hyXtYIWCfrwJNoH{w^QWyi1Zw1?xshpUQaMXdWQ+z1SE4tIWHnje|vU* z-R8}kwW@=ULvSSyi}+3UJBa!(1Nnt6DR`O+TWbp5$_SkBWlhZ&bH>-0SmKk3JYtLf ze^ABuK{9bSp`V9C;FW^LTS#-oVKtkcNbhzd-bs=|k!p*zX1d~D@cE7ywenxR0)L1m z8TTPkBu1R!rXq8-cPL$d0wszTD9Oky(%6WFlKoT!0JTCk_?FNeaZZBrX(M8yW)f6E z+UVGFqJa_}pHyy;b~pko{bxsspDZd`xE1R~i#t+x=*^O1V_Dbfgok2weMga#a{Ckd za=Wzuq&|8p_3fjAW;gwjzOP%4)ri7&JBZP6Rl*kcHW0>8qMZ=0-pg07BqEhDy$J$q z+e~Je1a!(mDuCOL2Sq&TLy|Sa5TINYU?(>b2Z#8GF7+-|XS!jx25~XM9&1wyUZHi} z9|PBRgw`%vC6pbo;6kn>pC0QeviN}s+7y}PMwe>}cVVl;u%_aIf+$cXJ@ilEf+Y6G zQp{SkuDiTV-bQE>5qc093aB_FJZ+&|)0+{u0GZyky<8Vz;JS&jBZG_%AegO&v0}qW z51AE$s2Og%|FIEelO{Gr8!9;tClP-AKi>|(G_l*khy1QH4kcp4$neY=<3q%k1Rcf* z{F2CX3e=fN5FZ zm4mZt!7Lh3DAFM32qb{srJo>;%E2B(MDDJXckSNHq#LpPM@q|)!^n#G?JZb<~s$Z-M`2;s@i&5eo= zJqK^SD^k8HUdA?9*1w9^i;Oa9fLe6tpG+Tytg8hvAVk^!m1F@Ck)p7>gvqqdOo7X= z6BQ2nV2oP-(2rL%6BEn=ERJ);B`&t-jwU89Q3)H0(2?2+8%1V7c0p?h#n?d`*|{ek zP0yK3>j0X;iY{I!+>|s@TxxWR-R-)%+o}Q2F`o5(?9!@AA{u}fp%$;`YC{YILDiz6 zs=ia@s1zZxO`xRc=3Ao@U~d*Zwu$-TEWbQj_D7gtBU0dkCD1Z$66~=YIa2zJZ@^p3IkGtGG!nX)78m3eck|tX*JwT zVg}fs1+FDLGr0N!%seJTWV!uZ%7aaj=&#Puz1k{RD&CoBy$llaCa zdvS{uAlEl?yQXo)?PLfgO`XZr9sXrJH;wX;3etK}>H7e|?j#V1dz588G!8SE2t9s( zOxLaF_zYJoVK$^rFh(utQDhF%B(q!05%zbe5a|T@c$f#PqGzCOO)ORfW|KNI;!M15 zD3V({#>XLI3^WcgSUPGf5VT_eZ<7CHuHVeV68$c;sz3Q zaJ`kk$`28i<2eW=O&r>=g*}WuaSPOQTlhfXks^#D#)R0>Q5P%0uo+dboYR%Cme>G? z8E)G&G2c+qfA3!QxYM^AE7@2oERE9_x~rjbp> zC7TKj2BwM@pO5=(rT43=*StP8|5Ad=!P?nU^kR9Tnp3UW;y(92)y-b<0>dX(8nxuY z`I2>geh3%;_U&%@`Cso~#>2g>I#BB$9v!Cbaaez8vgO>@`t;-QqhH!bPsdzDSHQOvahk5^E!Q6$zW&fyw5$T6Sq)23*r6A zoWeFTgO+Tb=%iu~Z^5>pYiRhnkU$J9=0fD4M|@~t;POvc<#)HXGaSfhC#Bok+Ilf{ zlN3{=KtrzmGT5smOIlvPUjFRaGgRXz=hAh9!GmuBk0AuSh{HkM}cPU2k|FAOC9R zIZPZ5Zd${wm{gvHw_5+`9JjLfMmjpWh8Z2rk!wn4CN}c$^4iPI%K^kpkM}za^D{*v z!W2>67r)F_*tF?6LcVe4E})~zxsZ^M%uXuC$!i4#&(->ClCLBIc?vVR!XIuRH4=u2 z%3>M$STa~u?mZ7$UI+TJX&y^;tfGqQGoEeIGzaq%)4O-?7Jr=)x$qSHZzCjr-2=LQ z2w0pJ5H>I{@QBCEZ22cd)!REex#2h0aO*`wzBn*&f<=6gZQNH(JTVQbTxtlj{4m~4VANcay!v$B!H=^ut$8o}B zD3y_qVLJI>44-3G*ayJ>c5~8&fq_A*3RzBlSA5dx0RMZ6I;PGKQTk$}EX>}S?=Vi^ z%dy2Rt-}e}*AdN)DKu;{LxkyFm-dpgFhD0e)FtZf+! z@9C#ctmrdQDrA6w6E;i8b*HDNV@R^~O_G{)(dRE;xUi!4jBf}3-F~Cv$uni9v;~i` z#hxpqrKP>RZ-LJZW|O>sLhwae#^R?iJKX~1D)gPs&zx$j2(d+@zqkKkip{l{v9aER zBfU-RTfO>X_9}SwnNLhi{1jznV&dEsyW=8eU*xPz?r-#G=K+a!W+u*H%;||0l0n{b>JeKPcyeygV&qW9HDXu)&EzTNViugKk%T z?1NEconVd6`}glb+8BD83U-ZgKr{%TQq@d*Kd%v3MD7QW-NG#^C}=6T7CkCAuh2Sj z3n|SPB>o1pF~(}KpJp5mAHDvy6|`V4g}1){Q3m}eE; zP5J))JA!(A;QRK%;^H<~;G=%y+(Q7|L4TGy7k>%4;lO7`ZTM*Rij|j_KbVXN)Lp2t zWI5+1&5TZBwzLLubDsNCM_-9(9|T6 z@bUz(qQr1367AFJQWT?S6&3W@!nl1d_VyRATv?6d2D`gA6uZq%okRoYgK`kNx2jW3 zFs07a#zqhFO02*ZF&3?*r`(+zbLnA#WxOLO z2I+~y&(D7#54r?5d`dYdXxlGXlQrRBK?~EOx4=G3{QS~IZ=OG=!*adfhA1^oe}E`` zJ>U2Kc8E#4u!snmdnkJKC1jpf#UHrh24b8Fr*N3|l3Pu@OCagR3_0M0v%mBZ#P)196 z`6Bq3&SI$8v%Hv%iRmnAdpia-*k~#9K=hu!VaYCSnGDvdczWbs<`f-0<63299%SY| zMNTH8md8Hh$5HmQJ$1^!e4RWq{cqw*k51tEM*e z!fK6H0a{+^x`U^%!$!2M`sAHEcM2iZIeeltpzFTAbOBopL3`V0Me$fh(4h+ClbyqX z5>H8G6&3sXZZmat3d+0ag4E%Ho4@yC1+gV z%PTxvJ(mM*>FVi4?sIW)xC~beQK@PcuM7KH=(-SM>oXumq583&#x-Ew=YoQQ{#UXp z|2AB=YYvs4w;{{LM>rN^JLd2-nXGM)AP}a;4{D^oCkKtCxJunTak)V&P zWM*dm_WQSZ2|67@?kVCxa0O2E@E$*YJom=DGin4A)3Z)BmD5N>b8~Y$x%oUqHx!>k zXk_HemxcRJ*LUMAS`mP&H&qP!&a80=y3VzE70@pZ?pM>J4mfv$Ggw7E8&p+QaVq3o z&uNQ;g(q%hN|w_aq08x$MY-yg*qZ85Z5#>dBp028b!NmM>XXKHF%URCw#zVz;7 zipKWsgJ|F438AvF@$qDyOX^t^k=`$0ME$h6*_`w*e2GebV|)51S6%`z@6I;gQhgF3 z@fK*8zzDq^>Y4I4)W8>q|`y zBM=I-gxk-nb@u=lf%2>oT(?fR{_{Pfg{ZrlfX^qd0NCJbh;ffE0}uedYU%0etM3zx zt9GN4it;wo??3-)#>L9Y3J7e$f(2%B^C$b7IdRf%IkGVw`3C0!B>?}I3Je!jg}))jBYTG%+;@LvKI<-?R?Go*twAzdQxQUEhu7& z-UDkH*`+pQSjJ&N;AUS4`(bq+#^?d?VVOD$3QieRf0duRIWsxj4oAs7i<10v`23;l zB)_SpaB`o|G_$p}g(qbxNWQTms~$$rf}#9smToum^5kr6ZK2p%&{hBqvGnD@)l}Mk zr$n5dnbReVSWnO#HCvQ(`+0Z zq8XEQ=pbnE)_*r!@A+bN5`8J=ZNRj-zj4Gc`2_Qe=huhn`ZZPp)6TzM=S}1Wu`? zpWjQ1!kD;!Ff-13X5wLHF{UV@3FQy&VI?>=QbY_BC=>`Hbi{ioTM0k*+lRI~upn$V zxr8lSw_(F_C`FO`a`Z_mez?2Jv#(jKC?A)GW3y`vc1~uj1Je8n6a&|=1YnL`1RT+8 z0gEK!g9AnTmE1d*qm$e+PPh9skK`N}8X}wQictrKO02(r{fcq|MyS1XiY%jG)WxJW z)KNfq=6;ic==+cr8AW7xP?&kPFcS+L1q^=$`0$mF53VLAu3WWhRf5vV9VUxO41FzT zUAb~)?(dVofa(SY2Gn(R13S#nJDpq0csn~gm2|aHhWfDhu#TqojPq080!qM%$=|Gz z2<(F+BHKX6uf)U%W%!|nVaky39DE46?hD{#^phwjWWvi>?jVvty7K=(5VKqUp}hQj z?I31hk1N{q7gj@KC$qez6j8XMP`s?2oFp7Wv7xv{4bO16Z<4Wsx!os)g@x%YiaoaN z-5b;K1xvan3QE@HUc!6hM)pkXbl2Dhv4-f{G(IQ9|r47F>8fPjGL?&JW{ zUX6|qKqe88mp93f!J3_iwMcvoI?5{jzkLd$!vmwRA^na|u`|GEdvSh_1vG8Jx1>%g#V%H2d@C&xPu*itSm9`xG^MeDBW%KJcCPM624JA%hhr`1&GP;tvbJ5)_IT zk?VBqKCR+c<$F$=TdPk%BmVn(V6iT{n z-n408wBE`Vf<}~62#eS`;9kfX+euRvRVeiA*3VVZ&ypjjPXz*-3@Vq;^gVfe!+>Q?%1 z79xpOBaA`KAzRyZ>Fed>_IXC%xOECnNA%#EjWedVcd+s(dFZ+gTRA�Hl_l_DkRY zP!Jnsd!p7K>xKb#6xayx{I_q1Xsxpno{{q?flm1G@#EnTB1v7%^#0+(aT_;n(!hcUeV4{zHTrmz z)6Shc!7EqdFMqG)#MUnc%fW`jvit5R)bY+_kR8U`Q)le$?7qQ!S_z7E0w2kva$0s* z)=vXX^+Si&VkRb<@fm@OZn_amMmm+pFJl^l=!OIq4!FxAx?BBkbN%UF@vk$KfBLk~ z4I?H8k1IkBxGZeiBKRfBF^s2BPzEaCN;S&0)6=v4`oxDFJwjJk_eyL9G?{JNwndrp ze9ZGYcp0kc4wENTDmAk^7~L}*HNh4K(#*neZfPqqw=fD%mCoRF>%i#f#gdY(1e5PS zaDXt-dzc48S;2wBH8JA*7y+RR&rIf)wKGRvMSJ~@&Xa*a$tR!zgA!JxD5;k?6dKl1 zj4_J9rcKP?V*g9g&Fdmf#}?AUX==I9`t>Q`!%_KNH&lI<;A+?5z4JZ{yviCu2>P~o zpl-)Wh^No+kcLC(c#fG96J$uof)QNwO$YeBh^Y+_ceTbLoDRo>B5q|)VN-2j{$adJ zC~ybx67h!GE4*B&4(R9l{W*ODpO=kWE@{eMg$ z5-04*p^>Pgp8YLh%_ClF8cXmH2R_JHHO_Mx#y+0a?Lw(86B^ZTkno?3yzJ2=^fDYFN z>X};!nsDcNdZ4ICsoyLYtj14qbXmCG52J-8t5#jk%gb9C6?un1w!*?f-Q(Y66%?v4 zsNbDqslqG#=T>a~-bwZzkm2eTj!=c`jkxSdRlw0P$=^7$0KYjM1sIAHA=KzJK>J|NB{|z1Wa*~)5fdpb2O*7 z5EgSn^q?P!L zOOfq}leRkQaR#TJTsvMe5g)md;ngR=c4QauY!^PP)Mjc6ya2eYqfefE#ds*sOyI6& z5VIoY8{&KKCGT5#8+DEmRUvxcLEs(2_`yN}7*Vw4(G|91@RY|zwALkzjK-oyEi9az zK?q%^8B0kCd3kw7|2gHFtCAV&o3LrnZ7Oj*L%2Rx@*tb5tE;G0S?NmS$U6jX_w|M2 zp(?uBHx*nGd(@gqM+Eo`{>R)J&MssC*$;-M7ZwgVTREIxEu2|+$4|w^Dm*-Zl~gp) z;g*9Zf5Im691_agB6o+Zf;(TqlL_24$*}))@W6rZ;CDD5c-CY~OuqGt#onh+YrM%h zarNrez_2hadekjte;gQ|fYZU3m= zehf*NczBlMY)M!+WN;}wI3fbXkXK|{ZRygbIN!<(*UM!LKy5M4zgFu{j+-JQ2=haw z*Xr)1qGaCMm86=h=1fF+ND3>mCtcwGz%j7o%uY2J$QCVHMC8Ok3I&J#LA)0{U8Oej zw3E64zc_^9M6ld^@7IzzRK_9$1TW0$+|?%`w`qBJ$ljP={uH)zAk7t=n-<}503j=B zqCWUJmnr2Bcv%Q#JPZWu8!n8i9-<8wlqW5mNN24ZhC-{UqeDPd!y|`PEvQ{B<2Mr$ zHe$8Fp*X>if)j=jdxUkvUn1-iih8mF0Ck^GgfS6d!6}f42Sx#1h~*Lu5oz@f8oyDI zn|)S(8bVYY{bdoP0Q%@3ywI_U-P)dde7*^28rrfbZHG{ZFfzEY%8#KYoG@7%o4@64 zXV(6QbRfuA%J|O9dUI2dyngIaTj5xvPPTds*gboWBxzC(eCByhK7ch zs$Onxn^2R_!>2|hJwT(`Z|D0#*;3*9h7Eo>oc3bV=KStxCICKd02#Se6PQ3h@E)|G z-{U9^W=ELE>C?rTQ)oc8c=Ui-P9~I^Q|Ai`6d)qr`^0hf>{+6FXao&i1+oHR+c(xd zMg_7H^@7ih>$WmC-GlnQv$y35H4^pB(Ew(B<69hlYHzZ4L715E- zojb>JFl_fywEy!rZrtdI-QM!6;o&;$dc`LZD2I5+X27&4E`ts=k)XMGsJEwRxn zy6TcHr>3qmHa33D7eYe!1FYu+Rq18qE)2MMksdcXk)S|9E6^qgc7CM^X4FvDlkp%b z(%8vYjNCucxJ_e8Pb-xl4YUHdIq%D*H$eKvzGvy^zjbt60JeDg^(!xcS8mn)fmPn%+X z6Sp)^RRMDB#u8NTRO8>1tiAvvCI)zdP1YW0xowi+Iy2$Qqvpqh(ExejmH7B2Sm^!x z_uI8>kd!pSbI8z&c!*L0TKyIybLFOTE`I(9Oi0_YD}^Xsd}@B73N9^c#l)6^BF22q8)>+^qv4l`jFMR`pa+IVK1K+msD4w9)-Ia8;v^WGu z)G^{ekJ*7O&drhuUHJQ`^%qtbp6q7B{PfzXt>#fFA@AqBwwF{pn1s-&#}}(7nCb_B^mKU@o$MQNICM z9=Nt^dwYBTT)%(i8Vyp+72)Yw$*&rU7V{lLo2aUElPoSg@`>2(Uf={poh#@24ZT$tBd}M2 zDl}95t&A-oYMz)Fu!f#$_;7>9l7y{ZE1_*Do*EJYCA>&L9ak!%nFwEJ&Ybc15>Fe| zXkI%17bzq~hK4RTFY#P~y{LfW&=sIk*?WMpick3|@P}&A`=r~qg(0qxa}KZZT%J$x zIV~hM;3`uiP<1RiIX4@gSpW9g_3MJ-;*97n@4Z;g56n!uW2IiTXme8Vq^tTlN1t@B(Sy(P$px~6p^_v_Wum+kS4{^w|`~{EET~cGQYI$5$ zps$cTJ{(=X{Vpm5o*0Qi_d+zVazI8FUVoh7A`EO>7GuT*JT$}x*NTMp>bEQ`DiVtk z?T4t(h3L9Hst9YH#@@Xw=rQT);`YZ{N;z@H?dm=!Yilxc7JVNec!4x=7)L#-^R$9l zo*{I|S;Q>&pV6!7P)Ugw@8QXAlM4UE@-8hrX!Fa^O;TQZ-@0`R)}ALlr`N1mgLlw* z*C~D*nm8U&2Hs@m)(hB0q)t6KL>Zvy{=B2C&tJS?ZS>@!K!*+`4HHCC)V%P4plv4` zu$v}|o9pC|y&er<5U6CDlYJ5c0D>XFd#%w75bjq$+tR56L6Eamgo--%2@_0M)Bbln zr%9Qcd@HbS-9m(!_w<+~)NbPS0Ka~Qy4^b1GK{YE4W^S1Udzu9;}GK^tmag>^=eBr zA%KE!sD8OsL=S|e;n0bU(yvAC3($eFH&4$> zEIXztw>~Le5>-**efaPp&df6)U}-B57xkg^3ReNpBIZ)wn9xP18qSa&zi)DZePL4^SQh2DcH+H&9; z+fiGsG2uhse(~nbN{uDT5YO?6cpl%PL^c1pcV9pjpSQO1gNjDq#Q(iI(p>n^BqIXO zH#SJ(x!vvrliSJNmO7Zf9B#>v6B7VP)_CRqM~7EnQA8%sT!&?rIp3u<91-=qhvyP> zNqXqURp78fpMKz+6S|)cgs#U*^O*KNJUx08j~yII-RX~kEfEj_ zuqd2o%Q*}*NI>iA>rel5C0B|k-eD93Kb8;i#x+f^m62g8D=Wh&X|eI1J!+>zamJ5K zl#33?N=mMPA63K7E-kHi9z#)90Gh`~KW@~7Fn%^CM|x&<7Q$=Dco~?U>d5a;%T!K} zs3W_KlGV>fghxh2ox?LLtbrq=-pnEy4#6m#`-nRVswM^u8W}Qw9SEW^qAuPO0|MkR zh`Z!>I}(wf5NcRsG^%6VhdT5gAN|A#{+au`KJ!58XiaoK9+SWUgdS@SI;paVfgu$> znc$9>dKydc53CnEOgy_YJ{{nj@2^*MaBzT1>@dlN8n+ruho3(wqAUkZYs*;Q*AT!L zy*G1s5GAE7L3!qB0p}b8czR|&Ke>*YdjFD5c3Kh919sVO-+dLH<9J* zXqUy>?P|a=KvIDy=}%0paIBuh1QQpRI8yuO4-VuVIq?xW%E7_S9Rl@0)YX(z2(Xz9 z-CH)tY)CLeB1-v6E!3lx_TG2X|V-pronXiubt&+? zl9D?yUrHb=Q)2ozwsyH=MJz${w) ziC;~{1da)qLHe<+5Ub-#Uua zpO+8K;SKZ#oXafzNsjJGs>-g@oJAKlAKu&Dm?r3m=Bl&wGX40Tu=vWxmgr(ktN>fM zl1P-8?#*k3%lJKIrz2@z=3O$0^5xIUz|{dB@xlE^sH&+Q6Rh=-o|%mCM=%b%QX}U_ zPdv!(^W}G`88S(q1i$BX_8L7suNc2|D}bxy1BQGpxJMP+*J9@yW8lHgmcwtX~j*aen2|xonA>>vd+@-SG+QF z6s0Xky0mMTQ5uQw(o|I$8LKb!4p+hO+)5^+1|D1D;pH_J$xdawiD1jXIk~aA80_|$ z!xD$4`i((pmPcSnn!b|~z|O~=Gi|Eo3!+9($XpdJS>OlVDJVYI1gBJoaN&+!0z~4U zP96VJXP)>#)Dm*r%{A+W8l7Kz)E?q_ScwUv1!C;?nXUJqx_r4QWwp8DLx4jyD)XfU ztLmNB1oaX8qMtu2UR*nT{p;q=shA)hIDTB+W2d5$Qg2GIKFcr9c(K_7lw{+DBD|(_ zU(+<|azO+c*V```ro~Zc1VXu=%N{zvNA|ZJ%6s^j2U{Tcb2{458Zw6no@tK zebH?#d!w1zEwI@9wqumv=H?z} zDst($CAT*xO}NlcQ=alW$9(Zt`2Ea}ZD zvzF_x^w(_HuH9^qQU%fpOf1`qvy42!DxpjGv!tV$iEooo0!-%M=4W2L3t9| z91oR+;UB07c!<5m>a5VRU&gqsgPy+r`{Lq5K-BAPEJ&}n9h)6!>V4qKOiRt;`?)&I zq`@a0c?a53>5Fenc6d5Xe7#VMoQcwX`=;DVZ_jT4rca=)md!#>+zR~S=jWZnfI29I z1Yk2M8Ku@JZr@>ME7x$KIcC~+aKqb3yZVXL$iX^Y?5DxaL0LMi{#P7=+zGfByM&}O zL&vGFAK)+mLuU!4TT4`8v*h*eOF)uRa+I#5l)Zujwrj^0(fl@bCcSZPyrIa?^XiJ}mwn-BV`1)Ve6As_Y zhzP2H-C{-`@6~YT49>X}75L6qoT0x-pTU6jM(-b%yjLGz>ocNv_kA zsyEc0Vi+RE9fTG4VfDfZg!4e>0qQX5m%*AfG9VSEQ~FS`bmj;tecn(+M~2n{ft=SV z%@R%)0mI>YWOvxV{ET%JRal&3-eThFT9QBL{oJlqu)D^jGnuQ)|!X)lP5mJ0NUM zo6zjq^Y_2n*V@_JS0Y$4Q#u41N*Xa;F=!Ms7%2$9?v3wXO~>#wjuN9&#J<6Pe`pGU z46kdYD=s!8JGx;saXt58Q`Ybf5@y}#BBGY5Y|?zokz+Z=HbL)!<@>yGc4I6Gh6yG~ zotV(K0h~*Jae|s!*P+=Y;G+P538xV3&f4b_xQ2`v(MAvgW*&;6-s%exK1I*J(nNHu zv=a#2yOP&d%}4-T9zLLeQO*9nUrz}-+L|n2VBzu8!8hd{PJ;Wu4^o1?nO33Sw_M?P z;@egTgTLnySwhLkp(G|8{P>m;w_veQU&aHxi1EDzAP58d``g|-Clz6zA%q3Tf~0SC z1gPLJ-DGOOlcR(Rn~@K)D{xt!lE<}*`Y^K(jhRoy7-HOq4PSmZ{0-Cws3a59Nzra$bgw8a1lA49?V4#1|rx@F-KB2K&S4Uq1Ou zQ@_7Sw@NC8TzCGy( z8A@?;5574RCIrp`4rhQWLIISF45EjHXREN6qB-i^_vb0fLCSs;m?k+}1_}Qpj!p+A zP|vUIs;~vb@hE8C+Qi|6<2sCW+ zXUiABPbW|^7cxf58MqdnJrF`KG;YuKnZC3uSI`YLZY`=Imu%o|y-I`iV6hC~E?vLK z;K*1|!S39#t0)7u`TXws=BR(U00prs0>muzUQk9EBlNh_Vh4eRkB!puR58l92gQPW zT}0M%E9DB@=6Q7;n9%%y<3QbhfWxxUA@%j^KEM@|ps;$GI4%*SM;8M>Sj;;Hcm7iY zwEC~)!p5ct*YnVtAdi^~2sotb;PBpxA6NKm3Sg93*l^nugkvN`bK*54UkM=%(ukZI zV%Bf0g0odWSr3{Xs6UoZzQ&wrTfbI~xoN56g@$Bz%Gi%@GgPxJL2Wu-xLw)^N@R1wrnDoLxnD}Hv)^hF$MiS?zZXe1x@Ow&8eo(D% zSP9@{!6u`h-y--AL%ZOe#A@NaJCq4VdZC9@gS7M7G8=D4){vGHyiSoWqF`QVp$K8;)4cZV8L zyEyIAaR{x8uYD~z+^H|jkv^ZT`W3larZ=TI_LD$kI)PI8$+YF<7lyBaXL=jD-!V<; zAplMd7segPGScUaq`t~`r7H3 z|9YGxkqyxJ1zq&!~#*mHCVZ;2}EOwHv0P<$aLp?y^fUKx;u z`gJrd<_R98xUYf6$<)Pp2Ir-3||NOqor(1wn9lXhQ6v^O* z4d9BudnNa-fjXgc18l$@mJ{(m+sf>%qv12RQlTl-)VsfJPQj}mH>n?vU?**+6bo#0 zoDgfjTz0LTyIP=Lqy}ZV>GY9&afS6yd!6?1xKZ(DZo45|#Iu&gNR8UjW@0btlT~y9 zAA;?S8|;_snxHNd&e+`;#OKVq!Q~Z;DU{vJ0k+-#SI5~YStPG-3sqSwdyr&1ObGks z^Frt~hBd@6aeo$Su6GhF_b83<(~F)#K|vqQ1$rtJIu}e>aJ7u2*s#9{IbHDflYrqz z=rj)gulpz9-J_rh9hfn?6l0IHb2|f4`{Xo5W~pPVN6=Mr6p#_y>t?$?eE3jsrDOaq z1Q7t%ZP_Bfc?&#?ZZuAITfKP5(RF%bm@qI$)IOO$5~fjZc1hqC#v19B&)?E&2ty0E z65Z>Ix-)tBG&UI)LKMl_J|vjBK>%CIicxjc5sNPtG4!f&JM%la?sEM*Rl2^1W}r94 zq}#76nNhi53^g;|yOKKFty;AzXQv!mOr$m^WBjh{;Sgn)z7k3A&oPB@o5#Dc zs{r8kZ%JCVXi+!8#11)59NTOs53UEFU=(BB))J6}ar8p6nPxR@ld-a1^Rik=UVd3h zlxlbKRBze@nNL$DPwoSet{Vu)&y$xH`)V)&Rx`cOz=OMrX?9q!H(<#T9_1I?i#gaq zdfkqQ@Mz4NipQL7ktjCB6nWq)f|l##nBspd4Irv7?Hrafc?^y)r)Q+|HILIp+3$D` zlI^hVs}#IVx<$wD8`msDWtiVK^+?W4kIKr*y(wzHVY&y&C+itB>EIf zB(Rtt0jY(}NP6|ECtZ(QazuD|0(W*txzg-l>gzb!>r=u<3AU-Sm07U~B2rD-!= zd*C$Oa{2P*2p{BfO%N;`6SWu1I@-GZGU1VnJH8-UIQ235yO7$?CLY?%om*5pfpZt{ za7}g{#FHGzr2SOjUO**Lg&9>u?Qz`Jy>H*qk*_l|dolf+4Fah+&4C(JBtAOXm8?&K zxF_84y&EHgwE{w^UtE$RZr_f>|MdFy-TKE}U6b)#P;wZzXVM)I$-3PEzmJ@ z1`hM9Pp9VOq3kt3`!W+qP|zm%Fy?xocL(TdH%$JjVpH`Gq@;K_q%9g>>HV*w!WEP1 zFT=xc(N%q`+Ugh-$*+JDbO0nBV~LR8pwW{;iuLFEf9zo>eL()98U+K zDb$*<`hVe!!R>GmA-ac^7AQ6MHCvUAvF&Z zGc@PT8zT_5O;CcmTtBmgUVP1z)$0@Aypg8QozDTc+TBG~(8AZ;X-BwJH8V4dNG7-U z6OKD4n@$)2TqmVsq^>2pEf^qHUUC~jLCsfhy}8ul!4BYgMy$UcW?j0D4`eG?DmN*% zg<6)=eon70INl$4FlV5rm)8lNt8i42I5BeDe8;VlgeZV7mnwXyrO9v^pLO)7!=XT( z7f@+6iDrq-Or7A?Oj|bMQn!|Tg;jQWpc_;o9Vi>L?JN+m$X?+>x)nqDyu(*dWfmu^&}rFamjI*QxodkmY2D41&Hf zF?Itzt&@|)MSE_RyI|*WTFz;%0vHl1sD-~H@sTIp>>O-u{*fXytozrDnEZ9 zv(tIBIK7wndWnm|lap3)h+goA2FZM*a|HTN@|W+cN`{mBDObwA_kX*$@052>YhEEp?0M+;w9$wB+JdlbE&oS>3ePHQoDzFs-VZ z97#2n02nHfz!`^f^xQ%$f0+a*@jV}32l~)8L5nW;(;7yrG6MpjT>agxeD*>5y#?_Q zqHDZusv~enGGYh*#65>!dr$P6vTVmYzQ{U@=dP`Ozqu;KzZ1*^K*zyU{jDWA_vky0 zL$@hqn#D19)v9he7?rJ0#pcheEi3|&M7h~F11v2Ptpa7~b%yBc0R3$pP^Wc=ZIe-_ zIBWFOsXAg(SX7Va{89#)pQrEkz!++LkaxE3I~wipGZV)$v1ED1d_i1tDPF~tuY13K zo<+)1V|9Eg?eh^+RPt5&r=MRXrYu=Xk>~>Lm(M8?)Nc?IznbdoSFcuaUG0~boDs-+ zgVII}9&%2GX!t+oPYQ9BWH9*RV3FZRn=mO=d|JeLtJ|_-iJe_E-eZ@N>egY7@tB5bJO3>4>^2vQxBA(!x*An^ROxjuA}#aoS3WG52gT|!#ryXO;a$JxgfE0# zzUZYIvC2#u2!1t1bu5EZmEFx51C$d{7oA=!ErO6 zxnRrg@1IvPqgUJg5MnFTe?jv5GsoN!Y5X7iy_}JEG5bxo6PY ziKE>YL8C&y&L>3jfy3D z2MEd;sPd|7MS>?!7=y#5nw)Z{8lDz%8U4^o(8}MSSAP1ZvjUa@=5aIQl8Efw;>X6` zaga9nU*BZZf19E^SS|xTfyM5oUjPof|5tq*2`^?pBtL=V_-|p9%kt8A+nwsmmmd~{ z-0=op^>^u--#3Tu@m{x5U%#J|_Z98hsLTZBF~STRR)#e;S)H`LZ8sLwij(`%yF{@{iOX|CDN^Q!|Vxz`0kW6WJ! zwYu4s5UI+#C3VYfD7?SuTNJzZhk{w&@7?jRL-p7uR| z74Uni%Y%r_8P;$~J4@qaQ?lX8RcwF0e2IVk+T&H8aaB!CB4d|te37B=Vqn>dITf9M zrq`1DR68BE9QrkT-n>@u_-^03C$)Z-6|#{5B|)L%#*G6OXiq%@6X_8}vc$;3;sjCk z8VyhBk*B$IL6tzd`9<_|s!N6iGd+5Qg%GYd9~6V>p%_Js`c`xX6i|47z;&o^-e76j z8AK%B+s{}iOK@j98W=b>&4h;b1V_q$i2HpEz`pTh<6gYz4rfv$`Oo{lKHsfwc{!R# z@$w7Uma8W;*8H)LGY`+b5=T6s#vEci@x8Q(wDOMOM8X8yE_?%cN%3#q=sY%+O@>po zZvFbihL(3gWTBo3BEac0M@0#N5vJ;v{y#$g!Xi{r-KLyxC(3BRXsO70hE?s5+sR%P zo(q<54ljhVz5L1~m<;vU z#^H*lTyNUnb|Xjn4Rt(3dpUsmgYQ(qPy+?n-A&bCMI8xD-7RNXDMNroK%(q|33_|R z_+65uDfy~B#pvV^v%4I`6cuG319)q6f;|;ntY3 z1?YiXMk79YyF|*wFb3z~uHd`Yzn)kSTj)XW$!Hu^_tg+eJwAp~#p;)T-?L-Nxw+$(FNnPuR%t98ANKtDk~!(A=>y0vCThMKrB$=a zV0L(wZr`!P7!S2X4+!a@)cX_l_1}eTX!zpi{e~Lo__*9`4%nxSp2(ipR0Mz-M|)qx z2E!~>OYf|jY%Uzf2K0B*5@AKoQA&ms71wY#$k#U!PYhrAui;RvbSZXhvR(r}dYm~^ zof8RnFo^+hx@5w^x$)G;HHo=WC@F1Ehq15NAmi7!)0Z!&(K04{>E8v5oNvmbmr*u$ z{~8YQWU0ovRl_-1#d>Q6vcd#H2T-_-IZ0D2be>RXAO7lcnjmkJCQK;&WxWhmOlgk} zz8d~-D94nuUqOxaxOj1mQ7~hg36_>$8*`;)WWoqzi#2onQ9W>6Z z7)}qpp~FFE8(UlT0SAA-tW!N)WF&uIp_%X|ikIr`N9$wN_h5&P9Zh6pWSq^y0ZObU zotie&q47Lx1rF9lB0@F>B-A)psSB^YG zRbyd^Dd*L>Agak0{O>k##9w_3JON{jpQrfkg=~2IZq6rCW+2UgVJh|6=vwwCJiFC> zq@to??2EY6)TLi58t_Dm_Vxp@S!o{eVOvw9&1+70<3*@zI*bgM^~eSwXsFm34oTQw zy&IQCYQ4o;rl6UhdZiGEr)F!xz!sWIkMrlBkf6>qS8y5E0n})m z`>qSd)$RLvxI`;?VM<)5w7XD_4ksojm!xyEbBF>R^2GX#asqu1EiL58=d7oQJP=By zut6u>prc+pFk=*P)X9`_x+liX@;-8^LV+ZR(As#q0LD(k88*(16sc> zuiArxz=Srd#QuMsI(NCGb9!;6gAG( z=|YX_EIq-g&UO`sTvw`RIW~Feu3cMF@H!{w0-fSfkEolSonTO3eOHoAG(JaKba|zW zfM;{)r=HKqRlFN)abq%ld!;ZZP|n_9WE4m3{e&Jw2OOrl*`C&a?D+A^OWkIT88&P` zH{xWS$y+=t{MAQg9^RlJzmTFhhd*0gg88d4G=tV#UV%<7*J^wAB|WCDSOK8o083ch zqJ<~>uj_Dd?$9X^?(svm8@N1v`BEcd=~lyu z%n9Q|DqLNefu=;XpQx-HIeY)|m0h&8vyIK0n62ub&fiKQo5LwOCfier8D~m?a|Gaa z;%iee$i3n3pHfzDwrSI-GWVbkJ^S^0Mz*+c`SQS4`CGH5+f5{)ZtAf8=g*%OAQM-;_g__%lp=TB>uuPB5&QK8 zm`QShrPj_0g?X*me0S)_9|g@#Bg?WA+XBsbnZJ7Z(im;n*lE)q#O--aVVe?D%&F

XDReRMQy?Q;~ zWo5O#VIC4|aYNLGnn{NLDKl>-az(4Or+=^|Wlv~+^e|6U+uu}I0V(Df&el9kne!UD zQ+~y^@Qv3O? zUAz8?O;YLKtZ%TwLLC8@QLxNFiC554$oL zxlNfkNy7a$E9Yb-?rpZyKF}(zwxYl=P`7?BLu=mW`{3Z-n^g>gDtC%bEOSRevlTq7 z8zCX-U-~yeze#jkYBAU0`nUHWoGXrQ%CkY1@G2|olU@Oo$~RPux@6(%=AhvgR$iW- z<nTH*BXf3@vY()xJxYV!gxr_O&>E;>2_BVIxKy;&e=CjxGEA`8MpfMLJo2$SN+N z52{E`d+{Q4e)NcW^X7?z79JY94n*(Fv@U)V9E zH)?M?7=zJF@3`0A(GC`AA01v1I|tH0*VFwkgSFmz*qypTK}97tB)A8$dsT5+*_fyW z2fNPNvYWZIV${x(WuY74%1^5(*}_?0|89{G5KgxH@vY^U&Qr`XKc7i&$3sV(|EOWc zZ@aRJ_0&<%w`LaY5JtOW@d-Rr&-_$}U|hY`?|(rGKn35j0^77{W9E3t*4ld8tiyyC zE%Omp%Jx6+6sAvZ+xD>W+SXb}yuA8r0a>Nhp!als7j1I}ccs%UjL5?lpiH7-u+w_l z@I$~InXr_yEBcoU z0EVbHR4Wf7oQ+)P=Z_v;o!_+R$e-d(`PzT6>?Q?IYbEOzMpS8Gc}-_S>!gI8&bS|s zMBn2p@B4=697?BMJ!|9Jw{OGp+{#V(@1OL&PoG}7&t2^!8oMuNf?gim0kq=6)+V(9 z-sgOL1{2G=9_CO?cWjEzli8EvCN*WnFin4Ucym`Y^Hd4F3A)BgfUbfm_vmBE1Cw)hP|N5vN z3MLi(M*j%Z`dMJ9pn_^g%b_S}?iC}Xx|+5ZAI`;(G#iKiS@7kzrp)xiVtds{Q zLZ*R`O;S`eg^IL}y6WG4>Z9kpe;ep-FHARXoMdipPJXf4waYZheVEA!N^JEN_MH7) zAM@^C?IPkPDKa|!0*x@J{CRH6X;;_f`wsPz7ngUsZEYZD=Nr1k*Bt(|yYwj@Z@xy0 z^Gfz7uC6EqbDTFY8x@AYtB}+?uxBg(}-#VgI#j*UB%Nc05DwV0&}C zWCC{`Pr)IZFVi6J*izfL4d;+saas>FAhL>s!3o&Vx+*JJ-}7r;WOaCYDwyw?I&+%K z(l7)6I%@9df!h3#-9*mi#X!oln;M+ys5-W5H_Brg(Rc0jub))5eC~dn!V!_HSNeNm zscO209@gu_KZgfF+X>rp?AM?2cnUx?AhbupgbkZEJz;o#UEcSJ7$SbIL>+J~Q}!b= z#S?`x0xB?a*I`UtORD6;h@HgN&A%kkhN}&NRlFMBFkL%OX=DEO&S-TtHMjp_*zo_4 zVRL;o+P^jKY8`8wz?9ur{!=)C(8e;nu5u+ev5%D0NUPC_a^uFi+_lX0s8fDLim9n~ z=0c6Ova+(t@*_NhVPBWO;>5EHgG90;*q7o@Hlp5D!6CJ!_jKkJvR29mVN<@3Hr9dH znHd)3#baPHX3W&o`{7omyv6_fU)uljACCF?D_|a_l*5^eF)_0`cI|p@S`U*Gp-_0L z9ptmALsb_pl(OC6u9k>fYdTAjnieORA>w(%7mv9=poU)BI$MuIF(;^7O(@_%rJ2_2 ztgQ9?U2+q&DUSB7?txe0n$NG}N*R;+glxEX=T5JhSsVzPnNx@dBh5~J7{05lfJypo zGTtKn1*hSZcBGL58^oz}s$>!E(%2tE_ zB$@fWC?9(7YSBuP8@B#9w?IoxtwX??ySEBuvO=9*ynOxq!s*+;%`z0>l@gVHMpeKR z4z8jJYcs>EC79@ zWq9KFaT6$mMxA98e+)m2ig-FpjHLQCOPiFF^P{yjCn_qQ-Sw z7P>RnP#Qk~;NbXdDHBo$gB z1z(N<|Vm9D93jQiFDoj6-2XEule@~qf3plwfHxvDtn$mnU) zE(&yD=Qtjb5#^*ta>-Y^oIu)mXTu`N8`>*hdA}7Px5awuGb*hQ#DaD(IzRmJn$}+lkrr^5ye*1;z86|UMucmR>d&FE zQFip)sT>obas!Y9E?4WB=`}SqIf4mEn%3F9dvZx9ep5MN-vanY82$$Ws(RaR)x}EM z?`um0V^8s9w#hF3@+Bqm@`tOMau?8}hCCp-oKr!BW6TLjGyD=L@FWIIJ+x{Kz>~|^ z2YNc+Gr}ULDr@y%(2et0EqmgrxzXE1btV9q4wF=cOYJK!P2KLi=PO8eSkBW%bBg-b zjwiK&L}uFkSW&7mwd}>UwiOqjvF-|;oNQ_{BAC~#*)ymg(7(S9T{KGx7e_yE7^LDFb5kKDu26=B zc>+v)4jJ>Y>4%iGv<28Pg3GmL}C9IY1qury|Z`_CmzWvDMmp{%-X3irdINetr z9iyz=R}9TLSIVxdNA+U)2gA8g5LFn&ruqE};Vd&MFp)qo!Mzy0tm_z_>oocda(-AtqD?k>w zfldb5GTOAM9XAQSau?_YiOdfKz&&48RWK!B42VqvyJF}ogq1YKrLgZ(wx1$Iq)fO@ zojMg4;6a4OFym6Tj+M!Yb%X#R^eqV$9xm|5B@((gA%jPp(n12qJsASi3fP`2tE<@2 za2UDadw@8@hXU3VvkPKSTgHvEu~UHi&|OOEFu7AWp;0f@-^$y9d}KMZK=HWRSjA`x2Nua}D7EiN2>}&SYQ8-nramIk z|C2fiB^i1*9j_H;VZzc`TA?M+;4Daus;>ieCki^(9lSH{Pk`{2bCoU^u9jg|SexZ;7So%r8OS$wPRj_kUI|=;lpwhI%IfaH}4~(he0@RHS1knEt({M&&{_k(>;0 zL@Xp+qr7Yj5ZmckcbkC)FBTbdbq_t+5r>8oCwzB*l+soz_HqQSJC=I5f_c=)fusPD#lSe zCgQ>U%*KM>r^{G2({Fw^ykhf9mTf7}o+W6b&fX)byw}4Y(m3}>7g9!(R=!;q%Jmd2 z`LvXjb%e(z)7-kN133iisnf>-lwR=kENQkS6Tab24EO)CGb}vZCZzCZCEHJz=!RTO zmo|YawN9eLY%m9O()Z-N-|^tdo`e4(w_d*2uiqvRwtwLCduhYu=XT|^XiL!7uDC=K z!dY5bs&Pz}P`7jU?moL>*q100_F2$rj55-rVuS_vPvb@U{`TK0P;1PyFE@w*k4y>45F)%Jl>6{(a~W!Y-kxl9?kUq z#`^40`BvJLM~R7vi`^Q4Nu3>*2#O*_e6j!(DVM67AM)YC%%?qj{@fI1oU^wdZ`Pw` zqdN%(?AIu+A*qZ)UTwh9KOlQW7t0n){zUQj!^e#2NFB_mykzEKJ~o|+;5=12AEmmw zLd7aLnLajz>cf;K$Ihz7@HGUjoY-4+Su8OT{(49JAG=?;(4Hw)e!6|6WvgGzo8Z1x zzikO;*%u=GAsLO{-hyq%k&#kdh!6ph(P+=FlT>~{l{dl}3pnBOL=>E{J7ovJw($F+ zE)WD_wm3}o3%b@(@U&>~u0ZG(1_*)z2e3GslX>sTfT(G8kL|t$Np_SUe zP`VK@=wrkEC&e`4Hv`X%%*@Av7K2A2wT_VdaF&D|@?wtwHZ-*4IesH^!r&M@WJn7L ztr@Rg?FWiNzvoQjeFd=_!>=*7dq=VU0l(EJ^|OH3IzU2Kcs5FlHf28j&8ahI5^Tze zv}~Z>p>(}RHpLV>-GBF_56vmaEpbd?cB7bjT3af4}^H9xmUW4 zJpV-6L>Q)Uf{$|H-t$R>zfNZ8-{$6j|JBmhpD?r%y1}nsQ*BQYn}#3|q>~ytqGtgO z+=RW~H}Rn%Rn%1!oU;#_tB~|f*efu1jxIsWdAV@ISgWT`pE@JQ!mY!`#qhRK3o#+x zA=gBweH`}H2cEW9au;0MftXK!Ref?5E=BjeH-ZJ@rQ$e{J1jNYeJW!zC*t=oLfNbP z5YCGT{@#|(h?`YOL(t5-OG_VthTO9GU0j@mr}3E$yo@K;zbhQ~m=kVnNc($6%K}G!msp#;B7? zg)!UdbLWybd*#gvk38n;x{!AJ8}}>Cbo ziNZ03FO@_*uy*mrFM~!`ZpW?hg6D`<0E(AHvI!ueWWi1vcA-+6Hf@@?1Z1Z!5-7<+ z;berHhDW&_bk#O|Vj&LmvH93E#SOL)(?JHo`}p`n6&1fn{q*|V>Mpz4;@>1a{Dguq zw_~&!U4oRgHC3trA-bPAIv#f^vghnIYcBfOuuuWb=?D$E`iqk`c7ZAK+_sU5IFvA) zV_-qHn&Umo9tlgbd30XsvuDr1drX>I>&Sy#DgaAEO)vM5ZRg{d7HQSa;@B$px7ilCH3NA_IE zAdvRpFw@gzMM$EZpdydz)j@C-87;P!hygq`$(Y*{^Y5|6Lmigb)2&+LZgG_2pFLBb z?46^>;@dbj3J}D+l524+;m^5$J$8POP&+be?WMR7#7*clIO)gF-m>O>cM*-J((Amu z{uDstUe~o^gTM(Hr4B;ug*1$U<2JY>gdr)LF822Jz}d464F?fi(wm1kL*EhGEoue~ zhlL_uI67}18@RZx3|5bxRkNez5o8gtiUXh|gNF~FuQg`EpIKnl!_#$!)qlnw-Eu@` z@F|WJr-R>A%fgolh%Dk$9qAKP0XS6Eh8sfum&$CM!msNpCI8YkFc?VP9~V`RpuWL7 zu#`d=Bctex%?|kT;-wile@ZjN(S#Q-R<5Y_j)<6yrIl%RgcibViaFFQn?adbS*pw&ks5Yo?jow!z#m~07_)?pGO*}`2@~SDMZ%bfRFpIM zw0(fI$q&d~HdC6p=0he-SP|j67KS^d2<0iwN;p1ohFHJsM9dP>2)4x@@HDUQXn)Z<82MT{vbH@*oHg6(+UNNQ?oC`My^R?u$@^vxwUehml7xED+&3aSr~A;lVFD{7Z)lS;O8Y0V&(sQIH%VGF4>q(T|i->kM%@5)@!u;3`@w|Y_5Div+10nLp)WtsqK}SQ>I8UBub*n zwQ(6VefL=OrlSIW@&FD&fpw{#I&-A&&d*49)iU$91KtMpC zK}EqW@Eox!HaaN+7arV^>C`<1oF(jxB{0-UF%r52G2ui1|H$6tCZjOiU)o zI;(Zr?aUcW>XIV+zJ;WUqQ1F&@@Lt7hYz=PzyKnxh;MsH(12s)XHg#Y7cRG(PGW`h z9)m2|hG&)%7;W`Ok5s=bBI92w9Ii& zLDxSx*Xd#Pjf%(qG)hC&`FVXZ8^x+pk;5VGxGIde`MN7;&ac!d&Af_rjHIKJU9r}9 zo$APOXCuY?yBY%}V$%fsUrw#Ir{>}CO2o=s*$0rBFvu8kzkVwKUYL1PD<>{l6$_T~ zV=LaFAd73*5C;k#$9WU3h7jz9gUN=>9{UyA5Q|tc)evycg`Gq2UxmJo=CQ)eGwVYH z^tk*~M;@M7v0~xrMO7h+qsaOYP`q~S+Y76)!q1T>K=M&WjdVC8Bcn%dqaRdSv8$BWbQ_e- zcyrTn7Z+j3BBWlD3hjM$>|h|_A{I%Ctl!F)&v^ZM0l3a7;aVhojfA6*u6_ElB})Vm zp0cjT&~^Q?!wEE*u=mtTH8M+K7A;X%KVGLSqhS2cDmnLmDKDTf(Ph9fgUF0$9-L^& z;ZI;FY@Joa=SJR?Dcepo)$t);>8I887hEC2+hkwAb}a$$L9C}wqB7FOq9yaw6CrIm zPu&}`a~f5ff01K2`b9C$4N3N8q%jtDZE25x=hNGQ1$C*M3ttW)af!C}xfVvey^Zj! zHO>uh&*lMxbXPc2Y6J97iCF@dWP5NFO*cbHwbCDkpDHTG|Cp2~X56t3`lTBGU@Ft1 z;^(=sx>sxM{(o%k)WT@*-o51rV@%0DbS9O1?bAG`xY}4-Pw3paa~mhPaxe@=+|7QJ z#beNALDoMi%L(^#R-+BS!*8wS=qpGB%oo;Vd-87^)cwCUXmlobNQ{)2XI0A-0Fnv6 z3!3erBUian$O%vc5?C+Abm6lF1M{>-%5rP#sZf1Rxw|KtH-fx`GN;`{_V8NLe^7{7 z{9)v!LM%^q*fFt5aCDjJpi$g5kl_5=)|3jtY?0OsA%&qH%&%A<*HH46d+u}Pil8Gh zfuR~qG#8@)@v|v$j(XiPje; z*m0g9YMxrs-;woJB^6ypj2I#K(2EweLs!^E@;N7bB!>Wc-}RH{!y=HnpXjgbR(+pX zjhw3oeU{lGUk4~aq6nm)p6W75K_Q-2I|H7Vl5Eezz-?ZaF11cw2eT7chf3(^*;_vj zVv5JQJ%H@$H^Rq|+Qv+OTsl5?yppGe_Tkt!h@Fj?ZFh7ku+0NY#iq+rxK&7e{QZTJ z^bzE$yl*Wz@*Tkaghor)a~+p*tBGhu4Bz4C*q@F(k>ax9q?h+FVc zgr@mB(X|W^z8CLmH_&0J3jE0>Xyvsw00J#Qn@+ECx1dH5XkhE~SLod^Hl2N7{y*Jb zH)aEJ!U?^`WieYcq6>qjPPin#lBQsT4%veh0C7}S5((EeN#u!!z5&Z9d_TiLYO3{7 zUC(q8x|C10dJ zZsT6b%sW2tip(0i^u&*}nf>V$$!#TUV3HA@5~S;D&jevfheN=&%TZLVOp01aW~-}r z6e|iS*&lZtFLr{k$KkyIFN$?z?35`nMN2z^_it!(wS+4F7ng{8b+`~Rm zekXpmZ0&K=@0ryWH0*Y0=p5?ukV+vq!}YzCl9hcyS?Qc9;rW-9Dpr zD@C_NmI*ui2yI61A05Qv)1v7sjku8NL`Toa zuk#HGasl-cT5jX{QmIt!LQN1Kko@f7l{B1=7{fkEOGEe5mI1E3)$l(gs3#jYEgsh#qSz7vgL$~6;IgsXj*y~!ytMBMmm3cg7Lu5^kyY2e_W?NH*#__P-910 zhEG{DBoby*3wVU(7lr3R63YuI9i-_Co*X^49Ai`=#ZhWzsNYX8HO!jmAHdemEAJdp zp-c<291d|MtHobX$qZ)ZfCzl|+6CtnDQ+MjbqgturK^df@dvu#(w(FLzXsdc%M(e# zT9X*SeWaI8`qm=_q@b7y~BAStvCG4}_fBZQ7zjq*&@o$0OO%eyKS1iYx zVN-P=`v;6qF*153i=?Hc2hW^&Nk-BdC6U;KZNv6E zf-yK-Sd+pdjv%V`lYDS~DrgwZm~c=%lA`7Tgk_9Vmshg;$8_Z+X#uW~!FCLc;-m>p zO=thde1?6*qXdM*88d(b1n-=Eyo*wvube3?0TO|`CARZlm;9-m>OqTaw^J4A=}t;w@~zeqcj zA47e6oKy3C#M>9MHn9XxG-PZ`|F0=Efz(?X>f0N8d=2lT5AMQ=?l z9pz7v>LMF9x~1^0z@v8L&3{!2T$tl0PaeYX9&Vmt{!X!Lhhdp-ajYvF8HK&t)%3No z4)$hEJ&mYJgshe;Lt->$Ho@6j&7erYL;{4q*i6^hkzyazZzUp%XVeZt#AjeaKV@jF zQUVn9G@yPf*F|_E%Jevj*J2CuK^%yG>vWdc756A;+(U(9kh@nX4hVHum73{yI*Ez~ zkEv5M{e^G{`N2Y_O$YbGbO{LrBvhWSl#$VmGeJ6>RH2+XWZEkai( zgW~`xWng?Y1(<5ml}k>_@lst}g+Jb-Hf>Y7KBb1AvkM^?Qg zY70+d0}}$qahARx@w#a(#)uR^Ju+wb`1-cS_D)FE9-BU*Dm9{wShQpbr6^Lp--06z zcRP+VZKKw+Jn$N`3w5@)1+Fn*+F9-D0(_PP*rV$>C?z#jmG{(IsrteF`$lA+t08*2 zZW!;IV3J)J9_j+}BUH18G)wQ%hvD6Ny!t+K8xv;R-hnSiNKt(qqN)XM|0n$}(rIwL zH3u|b+5n3RQGt!^HU(`H*JH;XQ6$sG|F3bJ9mP2ahUpTdycD1ZPeNqFa(};1@=J6v zR8q8tg)`bI1;xwc=kyBoS04sH+ZBPiv}G3lTLOmo}S$)cJ6 zaCfL4RkiRy-?TYp=Kvx1^C3^dfqA+CgGYgnZG51J}{8I4loiIt` zelpqHj+MSBaOpY|0KdSQ+cLzy9~D(Z5W`3P{YKAbxE=2yR`bKZrHRoHXYfgI{dlq` zhm9YDBBIJO@6%^S4{Tqbi4s#R5BGw`9O3xv&(wBqhmq;AjsNO8&UttU8-9XNKd)rD zUL684^qD{9Eap2c>E64|Naw4oE*dsoJf6FcI(=*Uuovha$VPsL93m~6?xQ}v`+*R_ zQWo0!qvx0OhlwPOabrkvUkUD0`bVQP&Utzsr!B2E2&&pIa5nx}iY;EXxH?=wFEy8u4eUiEAJz)e% zgB`ZDls;@Ao3&ES13@AgbBxGMI{o3}`}Zxlu?8m8N-l#Oe$4qezw{pGOJH}^Wg>`D zw4VEF_8eK5I7j@A6qe&Qt$$8kVa)J8%yG~UH%85rd|d%3<*THD7D+kl1b$c{h>1AP zP3LtTrk!kb#1vudh$ZKpV2j(;Gz>B6L}{hUV&aPaoR$vE2(M?1#BY@K>2lK4+fN7fFOk#*9@Ja%q3snUN07}!s zFV=6l5u`~-Y@7!{kfq|+sG^8J_J?B()nh&J8^<`yX!D&rcDOwlu4~PHKX{M+g(XkV zbs@Cu{_;}RUwzzmZeb!py`&o1L8|bmuxcFIy-H@Xf&w$LbsFaecjOzchg=+;X2Km* z`&g34yR^ogh%%ihqOK_%adqLcR(ct$$@P8PI zSidtw90iY0ED>%n%?FtaC&Ayw&S7Z!l#OZq=XiUIFF>j*S$%vO5dH+(g*kUOo10JK zY=}oey{lkpY1zi<7oK9WRrYRwB3jjdx|*s>6ktXe5ENUr5DOg2Y3%qaI`BDQ<@Va8 z&{onB=idjtR$iKEtCf)$M0uvBKlci&E_C>k|ET2iYTX~4O`is*+b3CG04_bIV#l!# zowoBJZPWobH06Bd4^u*fGWRH%GFMke=QahE5D~G0>RG^Kf5Ia&EaS@l!jd#cR~8;E);BvE4n6^fM%65PW3>F>!GmL894%WJfhLLK(O>krcaq6-w7} zHzNSh#JQ)#5i&L20#pMJ{)?3|L2qLq=tzBtAOBVovOy8_Ex#t!OL^6Yr`O#n8nD*6 z;5ZA8Qx1_+7a`s&N}R^V`X7MGXUEDcR__3ZmWj;cGQDibi6o-sr9F;)^mc4||7-t# zD)mqXU5oUcEszg?bFc^EfdSu>KLa3?7L`v8kJRf5;XVid1nF-M>z@H+gpoBWgTr~x zW7!y48ukyPrGb7A9La6)_+AZ79niC90x0^huillyqXCeI)H2K_}s65TW>|UBT zPuUd?`e<-}vA#-a_!t8cC7XJ{8ut0v;71|G=BG6lkHMD=6bCL+-u>>Rm!1lzr&39@ zWkCT|PREOWL`G`iLp0EfQXVHr&x_pg$vS(Jv9Yu8$-v!5z(eeh6I*?O37m^JGp~d> zy^^eV+O2XYZx&df3%ONnyAuJJ)ZbFVez{|i2%OTJt*(WHxDwq2)MUI+zB{#{Fw&*z zYAJzyen5241W{pva;VDyxu?H4FMsVG5An~aoepI@eg%g{{MW6w4a}to5q>owtTdy+ zh%>K}-mPm&dzXYl`bmI@{cs0ipP3h}3b7+naIa~=mmx|PS~F?c$Cpt|H+IzL%_Je&U)r#OR; zxohb>p@cC`8TUOlKvPb@W}WaMszs$1|K+B5#MO5?Zn$-n_U%>{9wyW33m?7*lk*{1& zb>s*LDjoo83yI(@(n_urN|)TRYwjG;Wz>7KXt% zS=u>8?FOaIH|8!*BqfjY#R89@?(ZdrHA(DZ5|+z7l-;*+n&I(1;@hyE;UqJZ4@?I^ zVzjwWte-gdqd1mey3MSqAI4zxMjZwWxYX##1&revZYRqkZ)}eTK>}5*N?&#Wt>(e| z(3Jt`93txbl=JUmlEtvJuZ#?&hZP>FjvUw|id!4kDT;~*I3uXm#u|(|ExfbwodvVo zN5?_^)EO#;zscWHWB%NK+ute|7Cz0VPub4?LRBfxspP9Ck z&@)i*Y*6YvJ~>*4GK|TygoYJ7A!to+3|U5XPgRs`$ zoxO!96A%FBKhSwu#<4fMsy=;HO2w-_U(z6WVHoBHFoCk4EKq0 z?so+(#KE!~+!IkTBWC{g^M%;T*sVto4WI5mY^Cs67F+63yA{oNjbW4E#&;jHKtNdn zN35;}*d{5lyyUF@B*7zs=W-Zekfo-=jatM6itVod#bXn_L* zZ*hjjLlvilDbMfa!@xZ^HE%87ven2)*jvRzVGv+14a@w7n5GYj9feH+fKhZ30RR^1 zY>&=61b)O85r9)07xpr8*|3@%JAc`TP9~iM-b_;$C!HXie@UM1N76O_M1^*3UzX4K zOK2P2g@t8CBzjZH)B&hYEXV^I$x`}gEndBN@!k#;L1a+Qv9G-9DHPe02@7*dt`L?5 zg`T1y4&Vyz+FFMsrp}=-aBia^*%>VA3rq>-l)81O;nQ<-M|`eq701IFZ8ci8PyhbU zA*#2|wm{v3*nO<-03Nvs>^u_)kAG%j!c*aU1a(1)zF$Cqxq|kHha84bh*h7w_y5s< z-(J222lKkD>TE!(5915_?P0zkHc{+wkmoUl^C=e(h!tF`GH6R7*_PaI9lFg-*(Yi2 z>9mQJO1nIBZRroyDj}!3GOumE6)?+1mUu7LU(kXIXq;h;*XB)|CP)O|af!cX7{b@e z;8)-t5e2FD#ce8i%ai_*STTp2zY&3(1;AH1^M$b^M=l(fvkFxfuh3fM5b`2OoHV@g$wXZ4dtVqYUfPt_``y0Vq$Um)_x#f(02e{dDMYh*@T6kT|_+hnw< z6Z>;EJo8>=z|N+f%0cB^j= ztA(^6t$Neu&F`T_xdpw2`YC+0#ms_1aU6^pfvihCcvK4d#<+S`ew`A66ssf~!?KYie@ z^h#FR{PLeaRE5>^Zn>4wO-J8L$a?wm5xG%y+3*;SirAJXAQB~mKc*{TZ;Pi+n$%OU z(#b?{6%PtuxsOjyV|LNXW328Y^JSC*{AJIoqWVhV4)TZ#tnAugJ-w1H6uZ4nG$FV> z^(7@&-Mg>t$8}&d-;aa(L8&RhWD_Xnj)~g^9KZpHPAV-cOJI^GXyD536PSmJ)gaq3 zUu#4d1(Qt`RK@qC>fiL-^S=_h-!7a9h)spO3a=#bMKKdED38F6;<9sz^vu0?+AY2= zW_rZgBA$43$pi%j1|qS67YA41%!?YeaYHtUgs|@rjCr;&#o5Gw6JDdQGfwVhL2i)7 zTC#A2mV~_QTz;=MEj1PAi|K%Log{**$$cUwI&=GWUf#-Y$I7(#^kVIY_6>c|DLf+T z#Y@j4w+g4}@dm>U*vUpIX7kRFA#w)h12Nmx&tjx1Xz8T2Hj>Y!rN-P0oYfjP-kU}@ zQY%%G`SPVR6qL`pvD(CtB&z7De%8ltfn$JR&u33x=Gi57Fad=1F3bdIzAzIOr#c?g ziLtY}lIz*$AiXE-!Ld7rZb#bDl9L)oDzHfxK80cj*<;N|xR-Vk>(7w`qdM4zixsZP z!Uq1wr*nqZss1ZQ-3DvW&C=}!tAk~m2~ht8VNp1tZe3}pNk{~u*L6rRq_JK}hihE$ zU^NaZfS`f{tYpCG4imFO_{ZLlpC86tIL$S+Eyr41JSrF}$LFB-6X05lY6XfJ5jFAU zD78Ot{dAYVwh*Vb8gM_s>na_~-|f-twWm(yThw=hfBHEeGfFt}aH!k@&9QG*ScGP8 zIw8Ber;=R6@ZByl>I0QLHl5W8ZEc%qBwHJ-={xFDWUNYKq@niPv~v0I!Un4}uM*|t zU(fTRrcV!lzq7>Q^Z&K?<_|fh;otwQu}zG%>?uZ6wn?J2q7bcQitFHe{6<&JIR0nt)y8iD$U->Fg(eYc z9<|EVk$wuVgh&=IXY~*KqHZpw_cmdmlq+wfrTG${n30fXFIv1`d)=$nF7NV!Xs0ka zVtEfXf+-BB0pq(Y16-1BF9uzog1dQO6@MQ|JmT@fWt0hwYLox;qieosHBiq|_l0SF z`u3eh3^Bue^wYe&`=k)19PvQEMs~H~LeCFD!4a7YDbtH&wQlatUh134>5RzP6a7u5 zPL+x@P5y}DjB`P=N6 zba`K>xCQ`*!Ap;^d8bo7O}TZ;FV6y;$qa~dvX!4JL8)x}_J=tnYD}9}&|2#QMz2Dr zAdMepnZuS}1wj;=cf%*2=)Lq99NQ)93brEYW}ng62%S}Ukt>yqRN9QdyAf>OC`fU; zDU5U)WvQs~Ks-zW(7;=L`}9F-|7kSwppCz&4lId5t{pT-kB%gOwd732_X~0ctQrk5 z+Xi}0*RDd$1IKZ6cKFj)621&47tQnR)%5BDLDWss^F@$f2TOG?;P9)642nC=wL?_Z zUPtG$N6k0q1Mp_;mn=zFNH#}%d{*t(>N3$X>DnhyR8Jj9A=Wie*WaTfFHhBO3Bl~( zfn&ywEumDQ()bQ`T-Wf0G*mG6dhV?qXDP6}=5ti-h5<4i0`3ABQ1_LDekmzjabv_gwt%FHeSzW&t~FI#)ZEN0NVCL3S1~61I~QR1{EL>3=7did9G(nxl}%(HDWI@m;_qS(mQ)L<)~HGNxMJ z1;DNcc}!Pu-&A`4==Mo_9Fgd&Cv-}D(8ah*>jiL;hRVtA9HK0EX0GF=Qen`AEw;n~ z3rsSwr1)w9AdB-q5u~`{)vc3fFQZKs0;|5a9r^EP9w*1@WVXEw`T&!X1JUr zvgju-ubk*}fzn+YciXItj92V{=Y*iIfBiwnQK`Oqu=duCzu=m(t2XKhMEUvEw#KfPMUZiy}ks_lQy_b** zlo4GY{IDm$QE+`-*RHVJ=2ys73wSF%Q5>j>_cQ6z_=`UZ^?iKj&Q8W*Eliv!BNos{ z=5HB8@j_)fl*~l-P+;S(k>__ADz@Kzjew?`ZP7#eAuv$5b`BbN zi)yAL$%2LkOR%8Y?QLrM3pCuG)9@2Ha29WQH!V%&bU%Tc zu!6Jub2`8D>)(IG3PpN8`nbre9S>hX8Tb~V#q@OA?a$W}=VX7a{`4uUMz4N;#r8|c zzy1TdFYo!B=7uS2#)WRHVh5&wdWZu^Q%GJw!SzZ}`C*8Q&s{9-mLii;0x?ZJ`|GP> z7+=3>)PT$y6-QaB?6oWYh#_5a;Y{Z?6dp#xFLR`WdQg*bd9=LhkWzaO1mhX&rPmpo zNSLpprVsNh4vJ*Ewr#7)MzaKQoQA`-3}JI@By_mzYJf@zbb-aiYji#7jg-E9qq0OO zlNFf{uvm0;qv9HtAyCKTC;{|AZKq?^7aRefKf`o!+}cL0oMe_;M5PV z>s*JIF_+zA5z=*r>nqTVm@vj6xqfc*8scT2@Sa9r3jTRz$2K@Lwd>!4iHOGk^sbTg zVLmq70 zg7P0)a`(5(;6oJB zG|*rkq+@?38jk_xp6+wy$>@X3SG^l*zvL#E7Uby}Do6A^i---$I zPtH*XdAg8)WLn_fy*I_^#adfVN*w3#ibY6Wk8@>D*SL-EvVpkP0lu+OrOuUSNJ@nk z6x8VH>KYY`QbMSPJ5(*Fj0!Kx>T0+1uWtNgKDU?35&`}@cfON_=h#3yLOy()5mwT_ zY|dyA8-bhAPPCsA)E#Ws3viAiw^MMT?$#`*`Qya&qp}Q#9AECXV&a@R`$|`SNqq|b z_u-4z{@uF=#QYxaD-!xg2l8o!N@Q!A)+V2OOPRWM@EEa>5|s@qlGc3p892U6Yltt0 zi%k4F&tr!dnH#Snr0k}bI19*BAF+@8BRwyQiCTqDqN3;+btD+C7%g{OkY+e9iLiI1 zPGdARA8s#>5FjD7w+xw~5aSxeXbg{4Ubi=TT_R&JTI2Tz;_Ydi3F}*;sgA1AOt(8k zE}G*46qy$~W4$(}_xRLY1*Ri36f`!ZW@e)Q-u22}jjro}c(nBO7nGdAV!fx5`bWO zUUtb!GMze%yW`f8CX9P5l1ad%AJO_%5nw-1_NsxXTJ6zka})|-P_ZY*IurIlhIb>b z$f)=cV~?KbjIv+4w3?2a$M^2-+U847Wjg-cx?v-4S6Z-0aSf*8&d0S|tv4&Z$D_Le zmDcsJA#`*ibgW}}Uh^p4Q{l7LAL?=ij{egt>*9bUg_vH3hh zLmzWlt%T(`+(5^gnwp{aD(<@p?Iex}&xWm2$FXzVDpr)!IRV3TCx>ZzEw0Gr&y%agNWt^g++kJ-5Sqewz8ToYUV@l73?_pk^yJGH;YT>CD z&}RILrbDJNj4`#$3keJ@=;`fQ?-hNS`k+-wt~SR8=cAU=T14j=fjjn_UTmzsJ<=x4 z+>8HTh*ebEKF!w`x8g>=XQLYS1*_%g*%?Oou`M0-6;Z1y0YKY6&Vt}cbV~$Z@ikH7 zT}g!klOx#9_rFSec_O;KG(C4bOc1$WsVI75a=On*^K5_h}F52Jb78ds7yIcgd2u$wa=&DLl zadZeH=X>wLjUMbif0528iarUFbLn&Gk?BnCq8vv9Wr9U8K*E>E66 zKe+9Ag;4kL~uI%VZKLIDc8{t7tgjoIW0 z;si=|DauMj#&Y=HgIS*p28x+0x5LfjxP3soZ5dIx91j$?5+{btbasxvRbq_xZtXvi z2(10C(*!p&IF(=}y3~Ucu;g72bkFX>0Jg`EEfHyJx|7L8w$`?cGpy;^o?1ZUd&JS$ z5d#XC#82igYy{`rdDqVKVvjH#SAR_2iEgv;_F8D8h8B4HEB5p}ewq5i4#bO(p1Vi@ z9(Ug)2N>|`*9sl4n%6rY`41?*{N;}sDso|a_eLhnka@vey|FA zcJ`Jcwgq2neM?lH8t^n{uT*fTrPX~jmhR~IB;`_i7f|<)e?`tXVy>_No7xRgW&=2QRlrgq7*j4s@3{ZMSq4 z!$7)!`+XmxI0)mU_i?3)MoH;YM&lSLzbDVGZ1#}X+O>Gd2_q?mR4-16dWzdGG9NM- z2hp!fm&5D(6P@W|^>sTO)9<-o?qQcJ3kRAiULJDn=+P?I0?(*!E8*mvlOJFF@Mq-< zt1w`rmZXT&Lf?4us2-3Bp3~BmTnNf1UGK#i9yh$l?Et0rNg$v>=IVrBSr^WwaR8MM zrGh$~UEe;P9D|jP8CE{k2tga?;=p|na_3XZ$xfVWWAog-kh}!5&i~iJL^`rUcL4ecDpV7QO3l+i^kB5>BTIl(#MXK{l`cq{w*toKHrBF#DDhky3B|#`KI(v!ECe7El=V<4p z^~~L@T^fVV24D9^eqTScF0Dt*I=OGso-K;!$u-l%&Ha%yzKbJVQ6feyCA-xe%m1T% zCt=cZ=LJ;6Cs)XwO=Mu|dF4y|ehM+K+NsN)U(c6%5EBfYX0MBfp*-rae0j`{qbvvo ze5Zt48{OPu!VB@;&S7R1;7cO@y`o(Zh`X^A(H^WBQrV+tH zxCz2C%&dkryKa-*cF#+1Kc+q$g_i z*Z!t26gdwtQTt1#SQ092T@*y6^&*9+Cm-#ppkOCo0hF#NT$T0!Hm~r6x%q0dPNosk zWxMsu`;85pUZ68?-aN)HUCLLDj>Vx#tIP8ePB>$D4F%E#k?j>Avi? zYYYg~PWJlz{-x9rof;2fAep;wz6H7|TBJckc~6^L^vA@eHFX+>H+7hHwBqRnizQFg z*|k>T<@6Y+)ahc%E_BkkJs0DFyFYX%Gt+v}a^wgMJil1iUD~^MuS1*7Zw{VfW9F>L zgrkPctZUG#9qgwn>b%bSt@0T?n0{ytK)rLH1Lw(w1s#wwe)P@CSFf&n(<{5l?5t?O z%>Cp@eXdQniGPR@*sI}AMc2S^{y1*l>T`!FH|`A&3mfD)vUpfO)sv%DjjF4w)!uL5 zc&-Wh>JF4y^X{)P3|768?0S_Bw4*1UF~)EA%G@H-#IxX5ky*EymstDLG=fyl>dbK} z-jDHv9TtbqVwY1AO&y~tApEeDiHnwl?-c=-E#pdHzkswQhdySlNtYd0Q zN_w}IMn@UOP1pw^n4MaXSt7dbV|! zz??tA=G*%K`L*K-8%DwvefM=H3`BjRy-o7(DZWf=@SstDmXi7kdgMpXOC3z_$3e}N zvo`gd3Q8P3-&OxPJPgYzS(TLoz|rI$*3s?0je5H6V!!9YE0x8%46Z<&nx4ya? zP8XFUOY{4tl-~04Dc~&`c754-oek=Dtx3HNCql&2LlyZHFUVJ|mef9n201f$O5>OE zQ%<&CpXmT}TYv5LO1gr&J$t7~PV<-t(UfA z#Whe1I}6o#R9oRJQQV9CCb)>zZn})<9c~|Tj(Dt^bv$RLLUtS`f|2Sx0T<#21{Fu_ zT%w8a7V;U-)D&j<`mRKHmO9Sx_XCfG1#4Klf)X#>bW80PVvH9_Q=Tm1NRKtx_|f$I zMO<=V`Pa~Svma)q;J=K9r>{c7op`^8ZO+LoM2ODW_RV<)UFyB%-$sXe+}{2~R@&vu z#38R~^imC&$G8f8x9Uin!p{A)4zJfIB+6Mgrg6xaF~KOHoYFnd#P@^Y&xoRjzZrit zU@Z6BK<;9c60(2){@5vvH^w0REt9yAn-*}Q(~f^`-u%n^^UJOCw<~|hCW1cevaH8B zv;Ct@D&&mjC3__1)$LT!Ie)FN!_Pne0VOb~AOh8AmG@drr|;;KI@9YoSEn~-Ty0*|Zo(=7 zEY~RLz-+Qgq?5CU;iSs#^PvjF-Jf}Uae83V%G?p@U#aU_4;6!VR;ceu62?g&pN{n) zYU>byEAm`1UGg~DbK~%(A?KLyx!%R)&U&FM*lloYL`=H48mC}Y;QQj2y#^mkJH~-D9P7BF77*z3}G;3maq? zZ7YJ$tE)2u-M2sxpNJZ*_%euxYMpzS)ZMY_Rk{03gFl1jhTdy;P1LQbf7_FosNJqj z8~G`-r-?O^sMuIa+KU%k@`&_}Eo@LRSx5b{cImcb#JZxUInT!CxcpVnA&lmXiqjo- z{&C}PlY=iDU0i~cU$gt4qeVJ(Yj4H}a2#C@?m4T-&fgt9U$_(n`wz)V(X57A>bu-i zhbC<~*}Hdd2WkVe{IOOK7md-TDe@Jb_k^6*rOTIVh$S?if1)2`(4pJJOEzgE>^W(f zXKoyzCzc!3NL8mvdhcGL<}=7*95bV87&da&C8;bYX3qk-$mNc)E6_B_f2mRPb%Kx% z`^cEB9ue?xp$^SG<=1xBsRiNX8`V-BUpjVey-DD=BW51on^!WQitcCZ5YcCMYF5GZ zwmFkr?`O@$(JNp5M7oe;VoJ}>OK#=Ngd>*yPY|y5>(OJd`$DoA>!BfHAGHgOcCRkl zmhq=79bd2Tn8n&6C=x2_bsBj|Zs$t1FdzpDlbPo_AZBHJFF^3uv?dg7s3)(jqCzG6 zERZ6SfxQ?>f9MZ-C_2oHx)Bib^dVilPug^|fIx!0;`AkR#dwt(3ez2mK8wYZSk@kH zE?>xMl5xZQU12uMAuoO#)SbHknvPpzo#~1p!8~uXrz^2J6^8kxgZCGWq2!gmXFhO< z>iZ316a*|VwRIcZ-Tl-oyR{y_WRyv`S%|`R!LFfQ2BJ!|?gD{qIc5S=B~+hSaOF~u zQRzX~4!0Mia;1~qjj9G}?d0_&e^PB;7=QJsg36+gSSwx~(@g+mwD-VpL zrbH?^v(|og7qGyKpB_L7{iBi59f4q=JIdYJ9XPRO^ z9KV+E8!^z{qEA;br8asaK?2=qxl-%go9<+x;yTE74Fr~)iny5Duk!GeOb_h}r%^Q^ zmtfOlds*x8_o6L5q2NpHcA|j_@1WnO3u|9ah*>i}8QnjpcVB?nH=wPv!eCc~1+M7^ zyFH}7cQDmBo>sB>#ItOr;sX(zHjUp@ggVvn>I3O1DO-dp=iD*83(iEBf+<%k|7VKzBf3L9bQX)TaZHvk1SV@KlEBrYwx z`yGsm)X5Vr>?5bCCMGWzdevI5jV2K+moq2iJC{4{E z4*VSs(qbNQ&^J`1f~k(wI?Bv@koAeQuT6gl`=d@V{311O7HG#yKCjesd=5^~dfa-i z{S*Iq=e+k2;q6)?*c|<<2vyx67khz`N}QM*N>XQaThZJ7-A2;9d{sGjK!^LK;~>7y z+-WBitteBBeEO%{aGUsh(R<$0GoF)y{KL#4#)br<6mYELayb_w7fQH=SqKO;=ow>s zOt|^NhK?OOekLpo{21C3_(s$`K3@KC;}J1rtbwVOCI0zgg-^%>bVhG*apa0SJ?e@> z>Rvygm=%6&E$|LnbTj)i*T;8=>Au6WJF7H7ZH6zm$QX(RR;d-JIX=y;LA?NMxANKL zA+FK&bX6Y|qh4-*+rMw$d-xh3&RQP*EpbDYv?x6ei&3TvnneHkySGI}k&bV%AJsgq zLGLu!1kQ1JZ=Hj{Z%A?w(6kS-Lm#G!&?A0*KeF3}=3AB>S`Eqg(VKOlp>~TFZGcm( zX1o+}D~9K;2$$1avSf*X%Zh43eMLkQ=s&!@j3_-{{qkmL(7=ZQLw*x^Jpj&K7e$fa z_}^Ir6f`S2d_5h4bxM>Y~t)aB9_lT~m$qZ|9^}+ERXZ%(th~Kj_`ak-!d#J<_Nf z{s}$JI=W(|qVQV;64M$w{?f5y&Iq}O_HTx%>$|+M4)6CBX3!J=N@UH5b?&8Ci6xf2 zsQF9AP`ps-Mi+AMny$Mreh%Hok~4tm3`+=JqB&;FYb1F*dQ9uwLoh!_kP8->oWfCi_MbNNh=psi~*AfDg^0!~3?vBbM zJ;=$cqN0=vMcBd4E@D(DMV2}A$34nh=O|!KVWrOm1<5NSBk-<}Fgc8a`S{s0yLhqR0)T${Z$0xw{P`qz#wglU3AoKhyMN7B=?zo|qLZR1dlv}|=SpX@adw@0{bpFb z<|^f(;!6c|Q%=dVH-|3!4@w7VRY^`RF2($MsppWVNo38462(p`h{4gMhyOim*qqZ! z1@kH1AA4xWGY(+~##FodQEaUOH<4X6UR5l)q;zBpkgyv`%uJ8Q=u;*=WmQFum!PWz z&r{s@0PtV{avGE^rvF~$If5ze!`$xEo?u#DMQ%D~UPxCWEP%1h3lBmsA$mAK&BAQl z0>Z!d@M?tuz1mmjwQEHIWF6{gvm7(-P@<{1Q+c^E`N3x`%JNC8pN$LJJRL9>1q%a6 zXmdJ*7F7~t2VN>I9|1Jq_f`jE#8dVV8`cVBEBmuM>h) zXG}WU;h0i;ff?bQe_yz;z~S~+FRhZ~hA%7ip>G@sn`35Tk{x~94%kW?lF7;{kNJy3 zXO!4r{DrF+cDr-=b=sjF^-8cBx7g#sI!4(X#uNk^W?p`u_4Mfhk{L^ts|M5294ndo zBCKE*trrs(_B*}?;4Y?0Pw=wnajff?RS25Tyt5MfW#j*pq`Q3DDE@OZBxs8ul ze#^xm(A9$5_w9xk5s)YYj@v%5OKTd^ieVch$hru3CUOrbr{O8JiQ9dBcj;DX@+f0d zD7PuEhBfKGXC+uiPTsnGp*@G&3{tZoVM?ZcnfJA4>rI5W&_6Af5`Q@CDS>YLir-zP z8I_OZn_fZ1Xri#-{C|`Qv$*B(RWViYX_kL;nt>757`;F9+lHZ5($-ws0ivQr*5OI8 ze&%w~(AQ~gch%u#m|Ix`!fDJ8DAAC`$0$bpq-!j2w2npct> zMiloM>_nhd30Vh(xIM{TQKu`0xNLtMzDnKYrJU(KTU+b95`jI+(~IN7=Yz-NV~Y`R zIZd`3cS=)T{Uw~8H?`x#fHF$@Im3wx`F~PZ+uhWSH-PlG-D)WN4c6t+S>AuuiRk@C8V`Xs2DkJtMR{V3#X&(IWb!tPH2$Sx z)AGypY9r(z_>xoSh(@wW?-N_rc!W4>syc&%L@u;z5vp!a`4v{?LY>d-# z%!^#_-Z9mcRC*%7?XB2UQ;t|J(`%=WcBnbcIkhy7hAZAqP2HMIJ#fW?W4{29M{5oq zH*Pk0-Kd`AaV-I7BDw=)3^({h0_L1DL4* z)?>_7sXy|q=E@rI2P>GDF_^&|x<$Fe`zpcL2ci8+PtXLhSRXV=6{VHQU;TOHQ|VM{ z)9YCy6@^Z1+O?ZOw@bKz_rdC~8iznqT*~fmLD|~^KJ(&b%jOvFe$#pBF`()PxVAx+ z5d;a&u&onLZBsIbor~mm@kafXh{tb1g?kz#oWbxZ!xc(q5M@d^S4DMwz~F3{-q5CP z+dxJTo%i-;+#2nv_wdPOWB_uCil^!?5b8XD%`2)fMK4|`jZ20Z%VAZ82|BU%G1={X z09$2+Pc!iP){KXBXR1ZqsdY|H5p)n)63w6U>>fqwGY3O_iTvo`sdJ}KAI6!?z>TP~#h`wd;ncOw zM}cQghrY2K7PK{^5Nx-MNC%f*h60Bitj-Uf;^)K~%K#aqS-GGn48%D?d^)?j3d?Lt z1vi2aLap(WQ<%{e82jS1Q9WGndn!FhMjedne+R};joBmDRSS(4YDL!S<;dK$WecZZ3`{vc9s4|?K&omE+gCt zOvU4gIf&`ZtJ!Y#PZTYxMic+;c!X>uw&DV)r#RTM9Xk%fbjDW9Q(%APP%A;qa!&Fo z&`T-)*AmyFqM#5NM~1~5B_FrsyVtL8roG9Clzi{*-Qy{-I1}{u>re`8WCk)2N$q4mC6M?YCz3^X zhvw@1eYlE2m3F9#j3#UvKI!Pf*5eOjEboh7Eh$I3Aci1$G1P01wXdL%%k}IT@-6`? zu`mODXi!H~s$0s-roE}up*dc^X8)4M8_%X1hxf#|TG*$mj~dlEL{t zzbp*oxj&$VwC1f;8b?S!9g7=HxCsL)a!YCaP<8d)s9TFdR|G+d$yc;%4ikgSFf^2q zU74NgaCl!RjaySSmS(1%DYfp%xmiIJ^Px2RPgcc<3aj+f?!dqafYZmwI=1&GYqscv z91qG@^X{M7ein}^82+L?!lvK?^yr5STG~Hm)l?)Ez^@|u>6m-o-4{ylwD^p}P(F+5 zYyg*5JU%@@?5GuwPMWadLlAJxu2j`{02Z-K|B#74h zS&D56{PeQ4bP94`2w06=0Vub-!o!^t>!46}lRhFL^)6rb$+z^I-g*{iG+c8(fB)e4 z&g4$jA3q)w1_!3oy=ToXeeqTqL$Pf>zlE>m(@9a^6xb+I5UCM1F&eoW*8q*u+!`1{ z==38%X^Dps0=0{&=trcDpNGy`w0C2}li&>x2lM#Es<0a@Mg|XMykivJ{sFgNO1r-t zp+;pd9{TY)X9kLgj+}@&?sVwrJ@bUC<@rCr|CEt}yY=uuC`Gh)JUq4V5C(Vx_iHWE znH{r)Fi|{;b$Mh>;o44F+w8sr`cE2dGVk9@FK#zOvR5xi0tjjDm03GlRv-eAR?%`&!2Z4I&^4O@a48* zdr0o}_-<7KLd)=QY`9;APs0fa4+pqRU^~P7KJc;?31$ommtwsJ7W6(64RP-Vl5yj>Ki?zJ0r3I5X9D z2KGIgOxGqnp3-c*9!B6Pg!Wd=xij8NB7ToLOH zI~yCno0JD2;cs~Mlr@$*Zna%3^f@@mlPFq7K~pb{Kdd{1&XJ2ty4cOLwXHu0#wH$k>w0q&Tq$#NDzuZ zu9%t7;xX_j{qa6&IXUsyUTu;V@&V3(iEP(n1SnH2EQS!raT@kj=WTZC(6soqy_@UW zk{9QKckMDnTHy#@aRwEYJcV#mGqV_CT5+eS+bfB%mMqObqRl-69#zg&Z|^*+(WPft zw_^ZQrAlf(n}2ODga6(R!C(S>_NMFf^}V-Y?rMybY1o2Ek2rT)S3@r#CFCqhy>DRns>Z_Jg+%zHa+zZPSC4 zNWN{BF>HC+WoPJeY83IrWZ8BkgN7X9oblHDbk`w51%^g;Mh0Pfe+DI*?q{S(CutM% z&d+07qEB8*f71|A7Df1h?r$NoE<>qloUfoGR6Ei90Kr8n7z1{bclI&H{rvZ?h>JFC%TB_D{_4(%meMoAIpKu^;bDCI zsW}*yNOraq@c8wdF#y8*X^bdc2YeQRO^^5tc3{{RtDS?Cu59PdJ@w85w#U;{JW5?X zd;DVlN_-tw{qJgQgmz`qu8yN1BdnzJFWmgD@u(1SoJ3GL!rg()qZGkHH0_T5cTau) zdp318NgLF8I_9-P*6jhcWfX>{w6h|EHC#Y|1?c&JG{QIlY*#H@-*Z2eMdvQPn=ePQ ztV91R?V4Zv=<*v=r&lecqPm=?sM5fl?`oy-06vAXd}HFpi?%!tLhK4wly>9B#HQ;L@8om-`<9kS9OEH6 z66ozKT}Qs=Ol_YOHMeE6fc@Nqd9CaoM&N@~)m|K?^v~#)t1;~P-xGOqlELPa{QIf8 z&!-rsI%v>eqA|3KJil60fgP{9hf`gesov~_HGA`;1$CDc;s z;zZea8fub8Rm2lMrs727$-3IsPd182@KLU@2`&IIn9$5?5*Kw;l5h7*z(%QD4v2K_ZnEbjtzAbghq{q zkfvkeQ_mo$QJ>`_5v-5AR}PvK4phzOyqM2-NM;n#EIh>1nU?KB=xzExFGnNm9k zSZ{HIYEmwRZx-$B6k!_Z~jDy@n4%m=T;~+|LgEFyQQS*{pf<- zipcsDDpP&lRYJsyAU#{IdMT^3#sl$Iz?9NdhGZS&oSPFP-)k}whyAfhqA}Je002Nr zk~|$8rFq|o_fKo3(8M3-blX$bTuuof9tBh^PVTaWRLK@QIG7q45pX`3wBeBQ(qke$ zMw-hgAa;J@DDs&dAfzr$$3I$VQ?j=S_(}}pf4SqUD*+4JWI(}}2H{Iw1WY9v(k`;fJW3K-2;i02Z^9M@-HGeD=e>buimJ3`U}(r)Ky;ZJfS5hfhmGi<9x*t z%@GVt#`AQg=W<(r9hilpKN+nG1*7JW600_`l~VHuEgM9NC>#(S%>!K;yPsqHfiQW3 z5aS>5r-;B<5&_LiQ_sUgX@H@D2Y%49F=)UMo(}8E9iv~AhhQM?zO?C%#V6crA*k~* z9Sl?ea1lVQ(R#=5w7AW|EY+hw78@Et1vF+Mr33_InM4=_FC8FPwLHAZWPJ(CvNu!R zQ*n2IcT-B;SEZ=MDyqDC|F~tVOsS^mxGN+iBrnAqaEh;GK!_?0LnV}Qj-X~+% z=`n`Nym=7Sc?q;ly^5$qUQ*m>`ER2>qf)a&B-hloyEM59m`P@Y4nuzWsXmd5G&G07 zAjKwc>rW%OG1BPbH2fE>N}Ym?p*c8g5Wf(QGs$=@B0!=11RgQCrEE1u*b zGVk-`e?IllzrLf|g;wVkkeQLznDtH_s6wu5*YRN5P1{LqEpdEk7xU{go1P7E7RlV+ zs0ib236K2(iY(h{GzIf!@))yzC;yMT(AcHZbQ5ggHHZZjF+Jk==K$Yj7)X_d2kJ|Y zac>6&Klsw;Qy}DmC)MO}OEuW+c+eaVLuZI zwgYBj&ggmpKxf<0*i;I(L|%02-!Sj+>E8nXeKZ!};sR93E|igxv8<1pNM}=&u#8|Y zMmsh5Q2gROI%u8cL~!T(Pv&S!r6wufP~D^;*-{aqHhujYDQR<=3eOUqCf91I8vl7% zsD@gx0aeG0nU$jj@GZ6qCrtBUjK*1t8s zUc86=31Cp#0k^So5&}4vetx5I0XhPrY>K$;ZG9MMt1NppZZg}vnG4XV)1=vx_;bCp zUfrZi2XC@tm#dql}?xpiMoNp)AqS>tKJybN6r1{`YSRY(#UuDOP-sb$u?A5oKj% z@Biz83G*f_^C>ne-M(t`+(qz(8dxXR}i2vR%#? zV44~Rt(Z?CQN#yAlO#f9U50+ZpI8-nvJIQs$7G?R-6NU~v}T_vmd{T{cU1f4b(~6o zB;DTV>nlbhyfXNO{lPfI2o-v)tg8;i#Hhy3J@+^Ab$+i5_yaw%YJt2Fegbopl6p2d z7V%a-x_|uqyLf@kk?qi7&*(V3wT*vKO*Lyu1b?9P6FSM^!mEmsTJs||L(F-%(ED-^ z1Lk_ius3k%|6xXy|1~31>DdUp1$B7#?cE;w)WoNOpmnpY&t)txA2+cnH#lgM?4kXQ zo)c**L4fekB!?FN8aqR)e`704%<}$Hb*dzykf>lZBOVWQk6cS=+z7w-@glU7Z1JQ? z#^B^d+-T1+G&~M^bdP9q=<>HznW(5Oyxo=mFTM<|wkZ2FzcvKNo?g2Td~G*t)=8>* z>7c&nRPtG8I9XPO_4W0oyvMHuxy`O-zld0IHQV>it$i#od0HU<$5WX3-%}vPm8Q~- zUak}@r019Xgutv# zaKB!}JegtI8hF4i?1Yscp0PHC2;A;~p0C|WyJ(l}h}Mz@L^sx_(2Cxlq2{q zt=q0|D?_y`}YOlTmHd} zDL=40lsoCw-jf~i^ePy6>}7Ut#+(`=i%L7viK}~2^v}! z(&F&UER>mbBi#|Zvjk#CHGY@~uB*>5^C+nN* z*A*?}>){=&vye$U^ZP%WOJUJ$VL^lFsDFL&{q+uF=!tOwh*y&lUVY;CtFL@j$o%pBo+mJetRyE5=X!SlF*VSR}Z(`KxOP}?vH*H)!@RmDCyC>6;-1HGgEmdy1 zw6Gls`G&(kT_)-~nV0Nrk!Bl-EWw8dj%r8c}hle!38ccZ5m zpS14b%-JdQTKA6%bDY|DSZhgM29aeUonj-)K5p(X!k6;hBofWrNdiHAVIgD4w+1V4 znE6h3G_#RLd~<;799uySZQb>EkUXYF3_a*koj!+wC<_i%lAPslDBQX3f!SDNxC&2y zA0W9G{M@}fwwK0IQ(}?JrB8vdZ&KnaO#3z9WYY%lF=$$r$0t~Ui#2z3L>V|Xx%b%B z^OM*$%pD4m9r5)Ogs1Lw>iL5b-U5@jlv}d3WAAR_bTSDYZ z$PfdFOm2}l6v8XWFRz)b;9@=BtvE<5C!+^`7f^-Mw5j7)qYMuKG zyuIp4i8o&9t-i8kba^G3r#) z&S-3Uj4J8v6g|3NBJHt)(uZU1!`4lj@A7b_I#0;Yd)R^_mcC@>x=h^dCv5OArU~$q zGr5;RXKsNe+d*z%d}x8+YVJ=Fwow4Q=9?4(7vBG-_bI|D-)ej5Zdlu~&uA4?@_JDb5)&*Ri2C--+NTIltTn`H7<3QN}zk_!(+ zs7%IwDf4PP0TgI8Z(d*261H_1nRL47eHV$=Z_F~$6gxa{b-Q2s$N?S(5O{?&pZMp^ zAAEx0*}{!6DdMJ1Wm0!V&sr;NyXT>IF>!JJH0t$2S0?Atqg!+B!{v#=pWAPg_;$f3+jx5iWk#y=Po&zYKv1+5)0$W=JVaqhKbkE7$=B*_*lSLM6 zct9*4HFGgWL-d_9cJ|h14$&)u!0kB1w{AGT$#@Ruiu}5frvxlP(i%Z{kWFonY1*d( zp8X{8tA?bXN{TtP!6Zctf%)V5U(MT6#lN|^$>+}ufI4~mL!RqtZiD^hp%?RhGxdMfI{ahXlm?KecY3s(Iwb8a4Kead$#++(4y zTIPk0%Ne?-7%ep;R5(P*-dh)%n>E&6qqA`K{Pjq(u!8&UwI-=*67r~*n?JTep_P*OMM=AOqPPtROifGn#v$90>@1lt zuE?^#j3M8Medgf59P^#B^ppz>YVS>4S9UZccwJY1VpwM_FT3S>a({7o5=rqR2Bx06 z^3jHvE5x~g6BvEs#CAORsF5OuQt8}EiEqtcgNlA_3E=s+(tuV<&HtPK4jR<_K*ay> z`Kz^$_}=ujYgh9#ZTd&ICd1eK1H%b2hRv_|@02Ou(GdRebJK=y{@ITYX?aFJ9#_kQ z__4cM9>kAx^8G>lFe@!j;)fM(c@RJRNy~%y;eJ~l#E(FtXekWy>Hk}w_Tv-2FRtYO>Z<=(hac { + + const editor = useRef(); + const cm = useRef(); + + useEffect(() => { + const syntax = syntaxConfig[lang] ?? syntaxConfig.default; + + const myCompletions = context => { + let before = context.matchBefore(/\w+/); + if (!context.explicit && !before) { + return null; + } + + return { + from: before ? before.from : context.pos, + options: syntax.hint, + validFor: /^\w*$/, + }; + }; + + const myHighlightStyle = HighlightStyle.define([ + {tag: tags.keyword, color: '#fc6eee'}, + {tag: tags.function, color: '#ff0'}, + ]); + + cm.current = new EditorView({ + extensions: [ + basicSetup, + autocompletion({override: [myCompletions]}), + syntaxHighlighting(myHighlightStyle), + EditorView.updateListener.of(e => { + onChange && onChange(e.state.doc.toString()); + }), + EditorView.theme( + { + '&': { + color: '#000', + }, + '&.cm-focused': { + outline: '0', + }, + '.cm-activeLine': { + 'background-color': 'transparent', + }, + } + ), + cmplaceholder(placeholder ?? '请输入查询语句'), + ], + parent: editor.current, + }); + + // onChange && EditorView.updateListener.of(e => onChange(e.state.doc.toString())); + + return () => { + cm.current.destroy(); + }; + }, [lang, onChange, placeholder]); + + useEffect(() => { + if (value !== null && cm.current.state.doc && value !== cm.current.state.doc.toString()) { + cm.current.dispatch({ + changes: {from: 0, to: cm.current.state.doc.length, insert: value}, + }); + } + }, [value]); + + return ( +

+ ); +}; + +export default CodeEditor; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/cypher.js b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/cypher.js new file mode 100644 index 000000000..ee217b2ea --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/cypher.js @@ -0,0 +1,113 @@ +const hint = [ + // constant/type/class/function + // Clauses + {label: 'CALL', type: 'method'}, + {label: 'CREATE', type: 'method'}, + {label: 'DELETE', type: 'method'}, + {label: 'DETACH', type: 'method'}, + {label: 'FOREACH', type: 'method'}, + {label: 'LOAD', type: 'method'}, + {label: 'MATCH', type: 'method'}, + {label: 'MERGE', type: 'method'}, + {label: 'OPTIONAL MATCH', type: 'method'}, + {label: 'REMOVE', type: 'method'}, + {label: 'RETURN', type: 'method'}, + {label: 'SET', type: 'method'}, + {label: 'START', type: 'method'}, + {label: 'UNION', type: 'method'}, + {label: 'UNWIND', type: 'method'}, + {label: 'WITH', type: 'method'}, + + // Subclauses + {label: 'LIMIT', type: 'constant'}, + {label: 'ORDER BY', type: 'constant'}, + {label: 'SKIP', type: 'constant'}, + {label: 'WHERE', type: 'constant'}, + {label: 'YIELD', type: 'constant'}, + + // Modifiers + {label: 'ASC', type: 'keyword'}, + {label: 'ASCENDING', type: 'keyword'}, + {label: 'ASSERT', type: 'keyword'}, + {label: 'BY', type: 'keyword'}, + {label: 'CSV', type: 'keyword'}, + {label: 'DESC', type: 'keyword'}, + {label: 'DESCENDING', type: 'keyword'}, + {label: 'ON', type: 'keyword'}, + + // Expressions + {label: 'ALL', type: 'keyword'}, + {label: 'CASE', type: 'keyword'}, + {label: 'COUNT', type: 'keyword'}, + {label: 'ELSE', type: 'keyword'}, + {label: 'END', type: 'keyword'}, + {label: 'EXISTS', type: 'keyword'}, + {label: 'THEN', type: 'keyword'}, + {label: 'WHEN', type: 'keyword'}, + + // Operators + {label: 'AND', type: 'keyword'}, + {label: 'AS', type: 'keyword'}, + {label: 'CONTAINS', type: 'keyword'}, + {label: 'DISTINCT', type: 'keyword'}, + {label: 'ENDS', type: 'keyword'}, + {label: 'IN', type: 'keyword'}, + {label: 'IS', type: 'keyword'}, + {label: 'NOT', type: 'keyword'}, + {label: 'OR', type: 'keyword'}, + {label: 'STARTS', type: 'keyword'}, + {label: 'XOR', type: 'keyword'}, + + // Schema + {label: 'CONSTRAINT', type: 'keyword'}, + {label: 'CREATE', type: 'keyword'}, + {label: 'DROP', type: 'keyword'}, + {label: 'EXISTS', type: 'keyword'}, + {label: 'INDEX', type: 'keyword'}, + {label: 'NODE', type: 'keyword'}, + {label: 'KEY', type: 'keyword'}, + {label: 'UNIQUE', type: 'keyword'}, + + // Hints + {label: 'INDEX', type: 'keyword'}, + {label: 'JOIN', type: 'keyword'}, + {label: 'SCAN', type: 'keyword'}, + {label: 'USING', type: 'keyword'}, + + // Literals + {label: 'false', type: 'keyword'}, + {label: 'null', type: 'keyword'}, + {label: 'true', type: 'keyword'}, + + // Reserved for future use + {label: 'ADD', type: 'keyword'}, + {label: 'DO', type: 'keyword'}, + {label: 'FOR', type: 'keyword'}, + {label: 'MANDATORY', type: 'keyword'}, + {label: 'OF', type: 'keyword'}, + {label: 'REQUIRE', type: 'keyword'}, + {label: 'SCALAR', type: 'keyword'}, +]; + +const highlight = [ + {tag: 'CALL', color: '#fc6'}, + {tag: 'CREATE', color: '#fc6'}, + {tag: 'DELETE', color: '#fc6'}, + {tag: 'DETACH', color: '#fc6'}, + {tag: 'FOREACH', color: '#fc6'}, + {tag: 'LOAD', color: '#fc6'}, + {tag: 'MATCH', color: '#fc6'}, + {tag: 'MERGE', color: '#fc6'}, + {tag: 'OPTIONAL MATCH', color: '#fc6'}, + {tag: 'REMOVE', color: '#fc6'}, + {tag: 'RETURN', color: '#fc6'}, + {tag: 'SET', color: '#fc6'}, + {tag: 'START', color: '#fc6'}, + {tag: 'UNION', color: '#fc6'}, + {tag: 'UNWIND', color: '#fc6'}, + {tag: 'WITH', color: '#fc6'}, + // {tag: '', color: '#fc6'}, + // {tag: tags.comment, color: "#f5d", fontStyle: "italic"} +]; + +export {highlight, hint}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/gremlin.js b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/gremlin.js new file mode 100644 index 000000000..485a1afcc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/gremlin.js @@ -0,0 +1,158 @@ +// const hint = [ +// 'g', +// 'graph', +// 'out', 'int', 'both', 'outE', 'inE', 'bothE', 'outV', 'inV', 'bothV', 'otherV', +// 'hasNext', 'next', 'tryNext', 'toList', 'toSet', 'toBulkSet', 'fill', 'iterate', +// 'addV', 'addE', 'aggregate', 'and', 'as', +// 'barrier', 'branch', 'by', +// 'call', 'cap', 'choose', 'coalesce', 'coin', 'connectedComponent', 'constant', 'count', 'cyclicPath', +// 'dedup', 'drop', +// 'E', 'element', 'elementMap', 'emit', 'explain', +// 'fail', 'filter', 'flatMap', 'fold', 'from', +// 'group', 'groupCount', +// 'has', 'hasLabel', 'hasId', 'hasKey', 'hasValue', 'hasNot', +// 'id', 'identity', 'index', 'inject', 'io', 'is', +// 'key', +// 'label', 'limit', 'local', 'loops', +// 'map', 'match', 'math', 'max', 'mean', 'mergeE', 'mergeV', 'min', +// 'none', 'not', +// 'option', 'optional', 'or', 'order', +// 'pageRank', 'path', 'peerPressure', 'profile', 'project', 'program', 'properties', 'property', +// 'propertiesMap', +// 'range', 'read', 'repeat', +// 'sack', 'sample', 'select', 'shortestPath', 'sideEffect', 'simplePath', 'skip', 'subgraph', 'sum', +// 'tail', 'timeLimit', 'to', 'tree', +// 'unfold', 'union', 'until', +// 'V', 'value', 'valueMap', 'values', +// 'where', 'with', 'write', +// ]; + +// const highlight = []; + +// export {hint, highlight}; + + +const hint = [ + {label: 'g', type: 'constant'}, + {label: 'graph', type: 'constant'}, + {label: 'out', type: 'function'}, + {label: 'int', type: 'function'}, + {label: 'both', type: 'function'}, + {label: 'outE', type: 'function'}, + {label: 'inE', type: 'function'}, + {label: 'bothE', type: 'function'}, + {label: 'outV', type: 'function'}, + {label: 'inV', type: 'function'}, + {label: 'bothV', type: 'function'}, + {label: 'otherV', type: 'function'}, + {label: 'hasNext', type: 'function'}, + {label: 'next', type: 'function'}, + {label: 'tryNext', type: 'function'}, + {label: 'toList', type: 'function'}, + {label: 'toSet', type: 'function'}, + {label: 'toBulkSet', type: 'function'}, + {label: 'fill', type: 'function'}, + {label: 'iterate', type: 'function'}, + {label: 'addV', type: 'function'}, + {label: 'addE', type: 'function'}, + {label: 'aggregate', type: 'function'}, + {label: 'and', type: 'function'}, + {label: 'as', type: 'function'}, + {label: 'barrier', type: 'function'}, + {label: 'branch', type: 'function'}, + {label: 'by', type: 'function'}, + {label: 'call', type: 'function'}, + {label: 'cap', type: 'function'}, + {label: 'choose', type: 'function'}, + {label: 'coalesce', type: 'function'}, + {label: 'coin', type: 'function'}, + {label: 'connectedComponent', type: 'function'}, + {label: 'constant', type: 'function'}, + {label: 'count', type: 'function'}, + {label: 'cyclicPath', type: 'function'}, + {label: 'dedup', type: 'function'}, + {label: 'drop', type: 'function'}, + {label: 'E', type: 'function'}, + {label: 'element', type: 'function'}, + {label: 'elementMap', type: 'function'}, + {label: 'emit', type: 'function'}, + {label: 'explain', type: 'function'}, + {label: 'fail', type: 'function'}, + {label: 'filter', type: 'function'}, + {label: 'flatMap', type: 'function'}, + {label: 'fold', type: 'function'}, + {label: 'from', type: 'function'}, + {label: 'group', type: 'function'}, + {label: 'groupCount', type: 'function'}, + {label: 'has', type: 'function'}, + {label: 'hasLabel', type: 'function'}, + {label: 'hasId', type: 'function'}, + {label: 'hasKey', type: 'function'}, + {label: 'hasValue', type: 'function'}, + {label: 'hasNot', type: 'function'}, + {label: 'id', type: 'function'}, + {label: 'identity', type: 'function'}, + {label: 'index', type: 'function'}, + {label: 'inject', type: 'function'}, + {label: 'io', type: 'function'}, + {label: 'is', type: 'function'}, + {label: 'key', type: 'function'}, + {label: 'label', type: 'function'}, + {label: 'limit', type: 'function'}, + {label: 'local', type: 'function'}, + {label: 'loops', type: 'function'}, + {label: 'map', type: 'function'}, + {label: 'match', type: 'function'}, + {label: 'math', type: 'function'}, + {label: 'max', type: 'function'}, + {label: 'mean', type: 'function'}, + {label: 'mergeE', type: 'function'}, + {label: 'mergeV', type: 'function'}, + {label: 'min', type: 'function'}, + {label: 'none', type: 'function'}, + {label: 'not', type: 'function'}, + {label: 'option', type: 'function'}, + {label: 'optional', type: 'function'}, + {label: 'or', type: 'function'}, + {label: 'order', type: 'function'}, + {label: 'pageRank', type: 'function'}, + {label: 'path', type: 'function'}, + {label: 'peerPressure', type: 'function'}, + {label: 'profile', type: 'function'}, + {label: 'project', type: 'function'}, + {label: 'program', type: 'function'}, + {label: 'properties', type: 'function'}, + {label: 'property', type: 'function'}, + {label: 'propertiesMap', type: 'function'}, + {label: 'range', type: 'function'}, + {label: 'read', type: 'function'}, + {label: 'repeat', type: 'function'}, + {label: 'sack', type: 'function'}, + {label: 'sample', type: 'function'}, + {label: 'select', type: 'function'}, + {label: 'shortestPath', type: 'function'}, + {label: 'sideEffect', type: 'function'}, + {label: 'simplePath', type: 'function'}, + {label: 'skip', type: 'function'}, + {label: 'subgraph', type: 'function'}, + {label: 'sum', type: 'function'}, + {label: 'tail', type: 'function'}, + {label: 'timeLimit', type: 'function'}, + {label: 'to', type: 'function'}, + {label: 'tree', type: 'function'}, + {label: 'unfold', type: 'function'}, + {label: 'union', type: 'function'}, + {label: 'until', type: 'function'}, + {label: 'V', type: 'function'}, + {label: 'value', type: 'function'}, + {label: 'valueMap', type: 'function'}, + {label: 'values', type: 'function'}, + {label: 'where', type: 'function'}, + {label: 'with', type: 'function'}, + {label: 'write', type: 'function'}, +]; + +const highlight = []; + +export {hint, highlight}; + diff --git a/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/index.js b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/index.js new file mode 100644 index 000000000..d67b64a7b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/CodeEditor/syntax/index.js @@ -0,0 +1,4 @@ +import * as gremlin from './gremlin'; +import * as cypher from './cypher'; + +export default {gremlin, cypher, default: {hint: [], highlight: []}}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.js b/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.js new file mode 100644 index 000000000..692e65fce --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.js @@ -0,0 +1,63 @@ + +import {useCallback, useEffect, useState} from 'react'; +import {ChromePicker} from 'react-color'; +import styles from './index.module.scss'; + +const InputColorSelect = ({value, onChange, disable}) => { + const [visible, setVisible] = useState(false); + const [color, setColor] = useState('#5c73e6'); + + const showPicker = useCallback(() => { + if (disable) { + return; + } + + setVisible(true); + }, [disable]); + + const hidePicker = useCallback(() => { + if (disable) { + return; + } + + setVisible(false); + }, [disable]); + + const handleClick = useCallback(color => { + if (disable) { + return; + } + + setColor(color.hex); + + onChange?.(color.hex); + }, [onChange, disable]); + + useEffect(() => { + if (value) { + setColor(value); + } + }, [value]); + + return ( +
+ {disable ?
: null} +
+
+
+ {visible ? ( +
+
+ +
+ ) : null} +
+ ); +}; + +export {InputColorSelect}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.module.scss new file mode 100644 index 000000000..357a20ef3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ColorSelect/index.module.scss @@ -0,0 +1,47 @@ +.wrap { + line-height: 0; + position: relative; +} + +.disable { + // border-top: 1px solid #FF0000; + width: 60px; + // transform: rotate(27deg); + position: absolute; + z-index: 2; + height: 32px; + top: 0; + // top: 17px; + // left: -2px; + // display: inline-block; + background: linear-gradient(28deg, transparent 49%, deeppink 49%, deeppink 50.5%, transparent 50.5%); +} + +.color { + width: 46px; + height: 18px; + border-radius: 2px; +} + +.swatch { + padding: 6px; + background: #fff; + border-radius: 2px; + // box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); + border: 1px solid #d9d9d9; + display: inline-block; + cursor: pointer; +} + +.popover { + position: absolute; + z-index: 2; +} + +.cover { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0, +} diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/EditLayer.js b/hugegraph-hubble/hubble-fe-new/src/components/ERView/EditLayer.js new file mode 100644 index 000000000..5b9ed1d39 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/EditLayer.js @@ -0,0 +1,71 @@ +import {Form, Modal, Select} from 'antd'; +import vertexData from './data/vertex.json'; +import edgeData from './data/edge.json'; +import {useCallback} from 'react'; + +const EditVertexLayer = ({open, onCancle, onChange}) => { + const [form] = Form.useForm(); + + const setVertex = useCallback((_, item) => { + form.setFieldValue('vertex', item.info); + }, [form]); + + const onFinish = useCallback(() => { + console.log(form.getFieldsValue()); + onChange(form.getFieldValue('vertex')); + onCancle(); + }, [form, onChange, onCancle]); + + return ( + +
+ + ({label: item.name, value: item.name, info: item}))} + onChange={setEdge} + /> + + + +
+ ); +}; + +export {EditVertexLayer, EditEdgeLayer}; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/config.js b/hugegraph-hubble/hubble-fe-new/src/components/ERView/config.js new file mode 100644 index 000000000..e929a2a1d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/config.js @@ -0,0 +1,289 @@ +const LINE_HEIGHT = 24; +const NODE_WIDTH = 150; + +const erRectConfig = { + inherit: 'rect', + markup: [ + { + tagName: 'rect', + selector: 'body', + }, + { + tagName: 'text', + selector: 'label', + }, + // { + // tagName: 'g', + // attrs: { + // class: 'btn add', + // }, + // children: [ + // { + // tagName: 'circle', + // attrs: { + // class: 'add', + // }, + // }, + // { + // tagName: 'text', + // attrs: { + // class: 'add', + // }, + // }, + // ], + // }, + ], + tools: [ + { + name: 'button', + args: { + x: 10, + y: 10, + markup: [ + // { + // tagName: 'circle', + // attrs: { + // stroke: '#fff', + // fill: 'transparent', + // cursor: 'pointer', + // 'stroke-width': 1, + // r: 8, + // }, + // }, + { + tagName: 'text', + textContent: '∅', + attrs: { + fontSize: 16, + fontWeight: 800, + x: -4, + y: 6, + fill: '#fff', + fontFamily: 'Times New Roman', + cursor: 'pointer', + }, + }, + ], + }, + }, + { + name: 'button-remove', + args: { + x: '100%', + y: 0, + offset: {x: 0, y: 0}, + }, + }, + ], + attrs: { + rect: { + strokeWidth: 1, + stroke: '#5F95FF', + fill: '#5F95FF', + }, + label: { + fontWeight: 'bold', + fill: '#ffffff', + fontSize: 12, + }, + '.btn.add': { + 'refDx': -16, + 'refY': 12, + 'event': 'node:add', + }, + '.btn.del': { + 'refDx': -44, + 'refY': 16, + 'event': 'node:delete', + }, + '.btn > circle': { + 'r': 8, + 'fill': 'transparent', + 'stroke': '#fff', + 'strokeWidth': 1, + }, + '.btn.add > text': { + 'fontSize': 16, + 'fontWeight': 800, + 'fill': '#fff', + 'x': -75, + 'y': -12, + 'fontFamily': 'Times New Roman', + 'text': '+', + }, + '.btn.del > text': { + 'fontSize': 28, + 'fontWeight': 500, + 'fill': '#fff', + 'x': -4.5, + 'y': 6, + 'fontFamily': 'Times New Roman', + 'text': '-', + }, + }, + ports: { + groups: { + list: { + markup: [ + { + tagName: 'rect', + selector: 'portBody', + }, + { + tagName: 'text', + selector: 'portNameLabel', + }, + { + tagName: 'text', + selector: 'portTypeLabel', + }, + ], + attrs: { + portBody: { + width: NODE_WIDTH, + height: LINE_HEIGHT, + strokeWidth: 1, + stroke: '#5F95FF', + fill: '#EFF4FF', + magnet: true, + }, + portNameLabel: { + ref: 'portBody', + refX: 6, + refY: 6, + fontSize: 10, + }, + portTypeLabel: { + ref: 'portBody', + refX: 95, + refY: 6, + fontSize: 10, + }, + }, + position: 'erPortPosition', + }, + title: { + markup: [ + { + tagName: 'rect', + selector: 'portBody', + }, + { + tagName: 'text', + selector: 'portNameLabel', + }, + { + tagName: 'text', + selector: 'portTypeLabel', + }, + ], + attrs: { + portBody: { + width: NODE_WIDTH, + height: LINE_HEIGHT, + strokeWidth: 1, + stroke: '#5F95FF', + fill: '#FFFF00', + magnet: true, + }, + portNameLabel: { + ref: 'portBody', + refX: 6, + refY: 6, + fontSize: 10, + }, + portTypeLabel: { + ref: 'portBody', + refX: 95, + refY: 6, + fontSize: 10, + }, + }, + position: 'erPortPosition', + }, + }, + }, +}; + +const erRectHeadConfig = { + inherit: 'rect', + markup: [ + { + tagName: 'rect', + selector: 'body', + }, + { + tagName: 'text', + selector: 'label', + }, + ], + attrs: { + rect: { + strokeWidth: 1, + stroke: '#5F95FF', + fill: '#5F95FF', + }, + label: { + fontWeight: 'bold', + fill: '#ffffff', + fontSize: 12, + }, + }, + ports: { + groups: { + list: { + markup: [ + { + tagName: 'rect', + selector: 'portBody', + }, + { + tagName: 'text', + selector: 'portNameLabel', + }, + { + tagName: 'text', + selector: 'portTypeLabel', + }, + ], + attrs: { + portBody: { + width: NODE_WIDTH, + height: LINE_HEIGHT, + strokeWidth: 1, + stroke: '#5F95FF', + fill: '#EFF4FF', + magnet: true, + }, + portNameLabel: { + ref: 'portBody', + refX: 6, + refY: 6, + fontSize: 10, + }, + portTypeLabel: { + ref: 'portBody', + refX: 95, + refY: 6, + fontSize: 10, + }, + }, + position: 'erPortPosition', + }, + }, + }, +}; + +const erPortPosition = portsPositionArgs => { + return portsPositionArgs.map((a, index) => { + return { + position: { + x: 0, + y: (index + 1) * LINE_HEIGHT, + }, + angle: 0, + }; + }); +}; + +export {erRectConfig, erRectHeadConfig, erPortPosition}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/edge.json b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/edge.json new file mode 100644 index 000000000..e18787291 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/edge.json @@ -0,0 +1,232 @@ +[ + { + "name": "父子", + "source_label": "男人", + "target_label": "男人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "父女", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "母子", + "source_label": "女人", + "target_label": "男人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "母女", + "source_label": "女人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "妻", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "妾", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "相恋", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "朋友", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "姐妹", + "source_label": "女人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "丫环", + "source_label": "男人", + "target_label": "女人", + "link_multi_times": false, + "properties": [], + "sort_keys": [], + "property_indexes": [], + "open_label_index": true, + "style": { + "color": "#5C73E6", + "with_arrow": true, + "line_type": "SOLID", + "thickness": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + } +] diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/group.json b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/group.json new file mode 100644 index 000000000..91cbce270 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/group.json @@ -0,0 +1,95 @@ +{ + "markup": [ + { + "tagName": "rect", + "selector": "portBody" + }, + { + "tagName": "text", + "selector": "portNameLabel" + }, + { + "tagName": "text", + "selector": "portTypeLabel" + }, + { + "tagName": "g", + "attrs": { + "class": "btn add" + }, + "children": [ + { + "tagName": "circle", + "attrs": { + "class": "add" + } + }, + { + "tagName": "text", + "attrs": { + "class": "add" + } + } + ] + } + ], + "attrs": { + "portBody": { + "width": 150, + "height": 24, + "strokeWidth": 1, + "stroke": "#5F95FF", + "fill": "#EFF4FF", + "magnet": true + }, + "portNameLabel": { + "refX": 6, + "refY": 6, + "fontSize": 10, + "text": "ID" + }, + "portTypeLabel": { + "refX": 95, + "refY": 6, + "fontSize": 10, + "text": "" + }, + "rect": { + "fill": "#FAFAFA" + }, + ".btn.add": { + "refDx": -16, + "refY": 16, + "event": "node:add" + }, + ".btn.del": { + "refDx": -44, + "refY": 16, + "event": "node:delete" + }, + ".btn > circle": { + "r": 10, + "fill": "transparent", + "stroke": "#fff", + "strokeWidth": 1 + }, + ".btn.add > text": { + "fontSize": 20, + "fontWeight": 800, + "fill": "#fff", + "x": -5.5, + "y": 7, + "fontFamily": "Times New Roman", + "text": "+" + }, + ".btn.del > text": { + "fontSize": 28, + "fontWeight": 500, + "fill": "#fff", + "x": -4.5, + "y": 6, + "fontFamily": "Times New Roman", + "text": "-" + } + } +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/property.json b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/property.json new file mode 100644 index 000000000..02c9b987f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/property.json @@ -0,0 +1,32 @@ +[ + { + "name": "姓名", + "data_type": "TEXT", + "cardinality": "SINGLE", + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "性别", + "data_type": "TEXT", + "cardinality": "SINGLE", + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "年龄", + "data_type": "INT", + "cardinality": "SINGLE", + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "特点", + "data_type": "TEXT", + "cardinality": "SINGLE", + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "亲疏", + "data_type": "TEXT", + "cardinality": "SINGLE", + "create_time": "1970-01-01 08:00:00" + } +] \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/test.json b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/test.json new file mode 100644 index 000000000..4e18a159b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/test.json @@ -0,0 +1,295 @@ +[ + { + "id": "1", + "shape": "er-rect", + "label": "男人", + "width": 150, + "height": 24, + "position": { + "x": 24, + "y": 150 + }, + "ports": [ + { + "id": "1", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "ID" + }, + "portTypeLabel": { + "text": "" + }, + "rect": { + "fill": "#FAFAFA" + } + } + }, + { + "id": "1-1", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "ID" + }, + "portTypeLabel": { + "text": "" + } + } + }, + { + "id": "1-2", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Property" + }, + "portTypeLabel": { + "text": "特点" + } + } + }, + { + "id": "1-3", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Property" + }, + "portTypeLabel": { + "text": "亲疏" + } + } + }, + { + "id": "1-4", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Property" + }, + "portTypeLabel": { + "text": "性别" + } + } + }, + { + "id": "1-5", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Property" + }, + "portTypeLabel": { + "text": "年龄" + } + } + }, + { + "id": "1-6", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Value" + }, + "portTypeLabel": { + "text": "aa->bb" + } + } + }, + { + "id": "1-7", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Value" + }, + "portTypeLabel": { + "text": "aa1->bb1" + } + }, + "tools": [{ + "name": "node-editor" + }] + }, + { + "id": "1-8", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Value" + }, + "portTypeLabel": { + "text": "aa2->bb2" + } + } + } + ] + }, + { + "id": "2", + "shape": "er-head-rect", + "label": "head", + "width": 150, + "height": 24, + "position": { + "x": 250, + "y": 210 + }, + "ports": [ + { + "id": "2-1", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Col-1" + }, + "portTypeLabel": { + "text": "STRING" + } + } + }, + { + "id": "2-2", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Col-2" + }, + "portTypeLabel": { + "text": "STRING" + } + } + }, + { + "id": "2-3", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Col-3" + }, + "portTypeLabel": { + "text": "STRING" + } + } + }, + { + "id": "2-4", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Col-4" + }, + "portTypeLabel": { + "text": "STRING" + } + } + }, + { + "id": "2-5", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Col-5" + }, + "portTypeLabel": { + "text": "STRING" + } + } + } + ] + }, + { + "id": "3", + "shape": "er-rect", + "label": "父子", + "width": 150, + "height": 24, + "position": { + "x": 480, + "y": 350 + }, + "ports": [ + { + "id": "3-1", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "起点ID" + } + } + }, + { + "id": "3-2", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "终点ID" + } + } + }, + { + "id": "3-3", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Property" + }, + "portTypeLabel": { + "text": "年龄" + } + } + }, + { + "id": "3-4", + "group": "list", + "attrs": { + "portNameLabel": { + "text": "Value" + }, + "portTypeLabel": { + "text": "ede1->nn1" + } + } + } + ] + }, + { + "id": "4", + "shape": "edge", + "source": { + "cell": "1", + "port": "1-1" + }, + "target": { + "cell": "2", + "port": "2-3" + }, + "attrs": { + "line": { + "stroke": "#A2B1C3", + "strokeWidth": 2 + } + }, + "zIndex": 0 + }, + { + "id": "5", + "shape": "edge", + "source": { + "cell": "3", + "port": "3-1" + }, + "target": { + "cell": "2", + "port": "2-4" + }, + "attrs": { + "line": { + "stroke": "#A2B1C3", + "strokeWidth": 2 + } + }, + "zIndex": 0 + } +] \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/vertex.json b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/vertex.json new file mode 100644 index 000000000..cf9d0cb9d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/data/vertex.json @@ -0,0 +1,123 @@ +[ + { + "name": "男人", + "id_strategy": "PRIMARY_KEY", + "properties": [ + { + "name": "特点", + "nullable": false + }, + { + "name": "亲疏", + "nullable": false + }, + { + "name": "性别", + "nullable": false + }, + { + "name": "姓名", + "nullable": false + }, + { + "name": "年龄", + "nullable": false + } + ], + "primary_keys": [ + "姓名" + ], + "property_indexes": [], + "open_label_index": true, + "style": { + "icon": "", + "color": "#5C73E6", + "size": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "女人", + "id_strategy": "PRIMARY_KEY", + "properties": [ + { + "name": "特点", + "nullable": false + }, + { + "name": "亲疏", + "nullable": false + }, + { + "name": "性别", + "nullable": false + }, + { + "name": "姓名", + "nullable": false + }, + { + "name": "年龄", + "nullable": false + } + ], + "primary_keys": [ + "姓名" + ], + "property_indexes": [], + "open_label_index": true, + "style": { + "icon": "", + "color": "#5C73E6", + "size": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + }, + { + "name": "机构", + "id_strategy": "PRIMARY_KEY", + "properties": [ + { + "name": "特点", + "nullable": false + }, + { + "name": "亲疏", + "nullable": false + }, + { + "name": "姓名", + "nullable": false + } + ], + "primary_keys": [ + "姓名" + ], + "property_indexes": [], + "open_label_index": true, + "style": { + "icon": "", + "color": "#5C73E6", + "size": "NORMAL", + "display_fields": [ + "~id" + ], + "join_symbols": [ + "-" + ] + }, + "create_time": "1970-01-01 08:00:00" + } +] diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.js b/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.js new file mode 100644 index 000000000..4b715ee2c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.js @@ -0,0 +1,341 @@ +import {Graph, Cell, Shape, Color} from '@antv/x6'; +import {ReactShape} from '@antv/x6-react-shape'; +import {Menu, Toolbar, Dropdown} from '@antv/x6-react-components'; +import {memo, useCallback, useEffect, useRef, useState} from 'react'; +import { + ZoomInOutlined, + ZoomOutOutlined, + RedoOutlined, + UndoOutlined, + DeleteOutlined, +} from '@ant-design/icons'; +import style from './index.module.scss'; +import testData from './data/test.json'; +import vertexData from './data/vertex.json'; +import edgeData from './data/edge.json'; +import propertyData from './data/property.json'; +import {erRectConfig, erRectHeadConfig, erPortPosition} from './config'; +import '@antv/x6-react-components/es/menu/style/index.css'; +import '@antv/x6-react-components/es/toolbar/style/index.css'; +import {EditVertexLayer, EditEdgeLayer} from './EditLayer'; +import {setCell} from './utils'; + +Graph.registerPortLayout('erPortPosition', erPortPosition); +Graph.registerNode('er-rect', erRectConfig, true); +Graph.registerNode('er-head-rect', erRectHeadConfig, true); + +const ERShapce = memo( + ({node, text}) => { + const color = Color.randomHex(); + + return ( +
+ {text} +
+ ); + }, + (prev, next) => { + return Boolean(next.node?.hasChanged('data')); + } +); + +const ERView = () => { + const container = useRef(null); + const graph = useRef(null); + const [vertexVisible, setVertexVisible] = useState(false); + const [edgeVisible, setEdgeVisible] = useState(false); + const [data, setData] = useState([]); + + useEffect(() => { + graph.current = new Graph({ + container: container.current, + grid: true, + history: true, + // selecting: true, + connecting: { + allowMulti: 'withPort', + allowBlank: false, + allowLoop: false, + allowNode: false, + allowEdge: false, + snap: true, + router: { + name: 'er', + args: { + offset: 25, + direction: 'H', + }, + }, + createEdge() { + return new Shape.Edge({ + // tools: [ + // { + // name: 'button-remove', + // args: { + // distance: -40, + // }, + // }, + // ], + attrs: { + line: { + stroke: '#A2B1C3', + strokeWidth: 2, + }, + }, + }); + }, + }, + }); + + const cells = []; + testData.forEach(item => { + if (item.shape === 'edge') { + cells.push(graph.current.createEdge(item)); + } + else { + cells.push(graph.current.createNode(item)); + } + }); + graph.current.resetCells(cells); + graph.current.zoomToFit({padding: 10, maxScale: 1}); + + graph.current.on('node:add', ({e, node}) => { + e.stopPropagation(); + console.log('add', node); + // const member = createNode( + // 'Employee', + // 'New Employee', + // Math.random() < 0.5 ? male : female, + // ); + // graph.freeze(); + // graph.addCell([member, createEdge(node, member)]) + // layout(); + }); + + graph.current.on('node:delete', ({e, node}) => { + e.stopPropagation(); + console.log('delete', node); + // graph.freeze(); + // graph.removeCell(node); + // layout(); + }); + + graph.current.on('edge:mouseenter', ({cell}) => { + cell.addTools([ + { + name: 'target-arrowhead', + args: { + attrs: { + fill: 'red', + }, + }, + }, + { + name: 'button-remove', + args: { + distance: 0.7, + }, + }, + { + name: 'button', + args: { + distance: 0.5, + onClick: ({cell}) => { + console.log(cell); + }, + markup: [ + { + tagName: 'circle', + selector: 'button', + attrs: { + r: 10, + stroke: '#A2B1C3', + strokeWidth: 1, + fill: 'white', + cursor: 'pointer', + }, + }, + { + tagName: 'g', + attrs: { + transform: 'translate(-8, -9)', + cursor: 'pointer', + }, + children: [ + { + tagName: 'svg', + attrs: { + width: 16, + height: 16, + viewBox: '0 0 1024 1024', + }, + children: [ + { + tagName: 'path', + attrs: { + // eslint-disable-next-line max-len + d: 'M257.7 752c2 0 4-0.2 6-0.5L431.9 722c2-0.4 3.9-1.3 5.3-2.8l423.9-423.9c3.9-3.9 3.9-10.2 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2c-1.9 11.1 1.5 21.9 9.4 29.8 6.6 6.4 14.9 9.9 23.8 9.9z m67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z', + fill: '#A2B1C3', + }, + }, + ], + }, + ], + }, + // { + // tagName: 'text', + // textContent: , + // selector: 'icon', + // attrs: { + // fill: '#fe854f', + // fontSize: 10, + // textAnchor: 'middle', + // pointerEvents: 'none', + // y: '0.3em', + // }, + // }, + ], + }, + }, + ]); + }); + + graph.current.on('edge:mouseleave', ({cell}) => { + cell.removeTools(); + }); + }, []); + + const [vertexList, setVertexList] = useState([]); + const [edgeList, setEdgeList] = useState([]); + + const addVertex = useCallback(vertex => { + graph.current.addNode(graph.current.createNode(setCell(vertex))); + }, []); + + const addEdge = useCallback(edge => { + graph.current.addNode(graph.current.createNode(setCell(edge, 'edge'))); + }, []); + + const addValueMap = () => { + + }; + + const showVertex = useCallback(() => { + setVertexVisible(true); + }, []); + + const hideVertex = useCallback(() => { + setVertexVisible(false); + }, []); + + const showEdge = useCallback(() => { + setEdgeVisible(true); + }, []); + + const hideEdge = useCallback(() => { + setEdgeVisible(false); + }, []); + + const handleZoomIn = useCallback(() => { + graph.current?.zoom(0.5); + }, []); + + const handleZoomOut = useCallback(() => { + graph.current?.zoom(-0.5); + }, []); + + const handleUndo = useCallback(() => { + graph.current?.history.undo(); + }, []); + + const handleRedo = useCallback(() => { + graph.current?.history.redo(); + }, []); + + const Item = Toolbar.Item; + const Group = Toolbar.Group; + const vertexMenu = ( + + 新增顶点 + + 顶点1 + 顶点2 + + ); + + const edgeMenu = ( + + 新增边 + + 边1 + 边2 + + ); + + return ( +
+ console.log(graph.current.toJSON())}>Save}> + + } + onClick={handleZoomIn} + /> + } + onClick={handleZoomOut} + /> + + + } + onClick={handleUndo} + /> + } + onClick={handleRedo} + /> + + + } disabled tooltip="Delete (Delete)" /> + + + + + + + + + +
+ + +
+ ); +}; + +export default ERView; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.module.scss new file mode 100644 index 000000000..1f1c58245 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/index.module.scss @@ -0,0 +1,13 @@ +.content { + flex: 1; + height: 540px; + margin-left: 8px; + margin-right: 8px; + box-shadow: 0 0 10px 1px #e9e9e9; +} + +.main { + text-align: center; + margin-top: 20px; + border: 1px solid #e9e9e9; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ERView/utils.js b/hugegraph-hubble/hubble-fe-new/src/components/ERView/utils.js new file mode 100644 index 000000000..af4a750b1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ERView/utils.js @@ -0,0 +1,99 @@ +const setPropertyRow = item => { + return {...item, attr: {...item.attr, rect: {fill: '#FAFAFA'}}}; +}; + +const setValueRow = item => { + return {...item, attr: {...item.attr, rect: {fill: '#ACACAC'}}}; +}; + +const setCell = (cell, type) => { + const idList = []; + + if (type === 'edge') { + idList.push( + { + id: `${cell.name}-source`, + group: 'list', + attrs: { + portNameLabel: { + text: '起点ID', + }, + portTypeLabel: { + text: '', + }, + rect: { + fill: '#FAFAFA', + }, + }, + } + ); + + idList.push( + { + id: `${cell.name}-target`, + group: 'list', + attrs: { + portNameLabel: { + text: '终点ID', + }, + portTypeLabel: { + text: '', + }, + rect: { + fill: '#FAFAFA', + }, + }, + } + ); + } + else { + idList.push( + { + id: `${cell.name}-ID`, + group: 'list', + attrs: { + portNameLabel: { + text: 'ID', + }, + portTypeLabel: { + text: '', + }, + rect: { + fill: '#FAFAFA', + }, + }, + } + ); + } + + const propertyList = cell.properties.map(item => ({ + id: `${cell.name}-${item.name}`, + group: 'list', + attrs: { + portNameLabel: { + text: 'Property', + }, + portTypeLabel: { + text: item.name, + }, + }, + })); + + return { + id: cell.name, + shape: 'er-rect', + label: cell.name, + width: 150, + height: 24, + position: { + x: 4, + y: 150, + }, + ports: [ + ...idList, + ...propertyList, + ], + }; +}; + +export {setPropertyRow, setValueRow, setCell}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.js b/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.js new file mode 100644 index 000000000..240ed7ec3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.js @@ -0,0 +1,52 @@ +/** + * @file 折叠组件 + * @author + */ + +import React, {useState, useCallback} from 'react'; +import Highlighter from 'react-highlight-words'; + +import {UpOutlined, DownOutlined} from '@ant-design/icons'; +import c from './index.module.scss'; + +const ExecutionContent = ({content, highlightText}) => { + + const [isExpand, switchExpand] = useState(false); + + const onToggleCollapse = useCallback(() => { + switchExpand(prev => !prev); + }, []); + + const icon = isExpand ? : ; + const contentElement = isExpand ? ( + <> + + + ) : ( + <> + + + ); + + return ( +
+ {icon} + {contentElement} +
+ ); +}; + +export default ExecutionContent; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.module.scss new file mode 100644 index 000000000..3dd2ae678 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ExecutionContent/index.module.scss @@ -0,0 +1,4 @@ +.highlight { + color: #1890ff; + background-color: #fff; +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/GraphinView/index.js b/hugegraph-hubble/hubble-fe-new/src/components/GraphinView/index.js new file mode 100644 index 000000000..4bad3c87d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/GraphinView/index.js @@ -0,0 +1,49 @@ +import {useCallback} from 'react'; +import Graphin, {Behaviors} from '@antv/graphin'; + +const GraphView = ({data, width, height, layout, style, onClick, config, behaviors}) => { + // const [graphData, setGraphData] = useState([]); + + const {DragCanvas, ZoomCanvas, DragNode, ClickSelect, Hoverable} = Behaviors; + const graphinLayout = { + type: 'graphin-force', + animation: false, + ...layout, + // type: 'preset', + }; + + const handleClickSelect = useCallback(evt => { + const {item} = evt; + const {id, type} = item._cfg; + const model = item.getModel(); + + typeof onClick === 'function' && onClick(id, type, model.data, model, item, evt); + }, [onClick]); + + return ( +
+ + + + + + + + {/* */} + +
+ ); +}; + +export default GraphView; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.js b/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.js new file mode 100644 index 000000000..284d2c42d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.js @@ -0,0 +1,88 @@ +import React, {useEffect, useMemo, useState} from 'react'; +import * as AntIcon from '@ant-design/icons'; +import {Popover, Input} from 'antd'; +import classnames from 'classnames'; + +import {iconsMap} from '../../utils/constants'; + +import c from './index.module.scss'; + +const DEFAULT_ICON = 'UserOutlined'; + +const IconSelect = props => { + const { + value, + onChange, + disabled, + } = props; + + const [icon, setIcon] = useState(); + + useEffect( + () => { + value && setIcon(value); + }, + [value] + ); + + const handleClickIconCallbacks = useMemo( + () => { + const icons = Object.keys(iconsMap); + const callbacks = {}; + for (const item of icons) { + callbacks[item] = () => { + setIcon(item); + onChange(item); + }; + } + return callbacks; + }, + [onChange] + ); + + const renderIcons = () => { + const icons = Object.keys(iconsMap); + return icons.map(item => { + const Icon = AntIcon[item]; + const iconClassName = classnames( + c.icon, + {[c.iconSelected]: item === icon} + ); + return ( +
+ +
+ ); + }); + }; + + if (disabled) { + return ( + + ); + } + + const CurrentIcon = AntIcon[icon || DEFAULT_ICON]; + return ( + {renderIcons()}
} + > + } + /> + + ); +}; + +export default IconSelect; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.module.scss new file mode 100644 index 000000000..cb13296da --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/IconSelect/index.module.scss @@ -0,0 +1,29 @@ +.iconsWrapper { + width: 252px; + display: flex; + flex-wrap: wrap; + margin-right: -14px; + margin-bottom: -14px; + + .icon { + width: 28px; + height: 28px; + margin: 0 14px 14px 0; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + transition: all .3s; + border: 1px solid #999999; + + &:hover { + transform: scale(1.2); + } + } + + .iconSelected { + border: 1px solid #999999; + box-shadow: 0 0 5px 0 #999999; + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/components/ListButton/index.js b/hugegraph-hubble/hubble-fe-new/src/components/ListButton/index.js new file mode 100644 index 000000000..5e686a8bd --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/ListButton/index.js @@ -0,0 +1,21 @@ +import {useCallback} from 'react'; +import {Button} from 'antd'; + +const GraphspaceButton = ({data, current, onClick, children}) => { + const handleClick = useCallback(() => { + onClick(data); + }, [onClick, data]); + + return ( + + ); +}; + +export default GraphspaceButton; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js b/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js new file mode 100644 index 000000000..4a39e86f9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js @@ -0,0 +1,123 @@ +import {useState, useCallback, useEffect} from 'react'; +import {Select, List, Avatar} from 'antd'; +import * as api from '../../api'; +import {debounce} from 'lodash'; + +const UserAvatar = ({name, type, ...props}) => { + + return ( + + ); +}; + +const SelectUser = props => { + const [userList, setUserList] = useState([]); + + const handleAdmins = useCallback(val => { + if (val === '') { + setUserList([]); + return; + } + + api.auth.getUUapList({username: val}).then(res => { + if (res.status === 200) { + setUserList(res.data); + } + else { + setUserList([]); + } + }); + }, []); + + // const handleChange = useCallback(list => { + // console.log(list); + // props?.onChange(list.map(item => { + // console.log(item); + // const arr = item.split('##'); + + // return {name: arr[0], nickname: arr[1]}; + // })); + // }, [props]); + + return ( + + ); +}; + +const SelectStaffUser = props => { + const [userList, setUserList] = useState([]); + + const handleAdmins = useCallback(debounce(val => { + // _.debounce(fetchUserList.bind(val, val), 30); + if (val === '') { + setUserList([]); + return; + } + + api.auth.getUUapList({username: val}).then(res => { + if (res.status === 200) { + setUserList(res.data); + } + else { + setUserList([]); + } + }); + }, 200), []); + + return ( + + ); +}; + +export {UserAvatar, SelectStaffUser}; +export default SelectUser; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js new file mode 100644 index 000000000..df16d1319 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js @@ -0,0 +1,106 @@ +import React, {useState} from 'react'; +import {Layout, Menu} from 'antd'; +import { + HomeOutlined, + DatabaseOutlined, + AlertOutlined, + FundViewOutlined, + MenuUnfoldOutlined, + MenuFoldOutlined, +} from '@ant-design/icons'; +import {Link, useLocation} from 'react-router-dom'; +import * as user from '../../utils/user'; + +const items = () => { + const userInfo = user.getUser(); + const MY = {label: 个人中心, key: 'my'}; + const ACCOUNT = {label: 账号管理, key: 'account'}; + const RESOURCE = {label: 资源管理, key: 'resource'}; + const ROLE = {label: 角色管理, key: 'role'}; + + let systemList = [MY]; + if (userInfo.is_superadmin) { + systemList = [MY, ACCOUNT, RESOURCE, ROLE]; + } + else if (userInfo.resSpaces && userInfo.resSpaces.length > 0) { + systemList = [MY, RESOURCE, ROLE]; + } + + const menu = [ + { + label: 导航, + key: 'navigation', + icon: , + }, + { + label: '数据管理', + key: 'manage', + icon: , + children: [ + {label: 图管理, key: 'graphspace'}, + {label: 数据源管理, key: 'source'}, // TODO X fix import + {label: 数据导入, key: 'task'}, + ], + }, + { + label: '业务分析', + key: 'analysis', + icon: , + children: [ + {label: 图语言分析, key: 'gremlin'}, + {label: 图算法, key: 'algorithms'}, + {label: 任务管理, key: 'asyncTasks'}, + ], + }, + { + label: '系统管理', + key: 'system', + icon: , + children: [...systemList], + }, + ]; + + // if (userInfo.is_superadmin) { + // menu.push({ + // label: '系统管理', + // key: 'system', + // icon: , + // children: [ + // {label: 超管管理, key: 'super'}, + // {label: 账号管理, key: 'account'}, + // {label: 资源管理, key: 'resource'}, + // {label: 角色管理, key: 'role'}, + // ], + // }); + // } + + return menu; +}; + +const Sidebar = () => { + const [collapsed, setCollapsed] = useState(false); + const href = useLocation(); + const menuKey = href.pathname.split('/')[1] || 'navigation'; + + return ( + setCollapsed(value)} + theme='light' + trigger={ + collapsed ? : + } + > +
+ + ); +}; + +export default Sidebar; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.module.scss new file mode 100644 index 000000000..37156a323 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.module.scss @@ -0,0 +1,3 @@ +.trigger { + text-align: right; +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.js b/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.js new file mode 100644 index 000000000..a384c7817 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.js @@ -0,0 +1,27 @@ +/** + * @file 图分析组件 slide组件 + * @author + */ + +import React from 'react'; +import {Slider} from 'antd'; +import c from './index.module.scss'; + +const SliderComponent = props => { + const {min, max, step, value, onChange} = props; + + return ( +
+ + {value || 0} +
+ ); +}; + +export default SliderComponent; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.module.scss new file mode 100644 index 000000000..db24ababc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/SlideComponent/index.module.scss @@ -0,0 +1,22 @@ +.layoutSlider { + display: flex; + align-items: center; + + :global(.ant-slider-horizontal) { + width: 90%; + } + + :global(.ant-slider-handle) { + border: solid 2px #1990ff; + }; + + :global(.ant-slider-track) { + background-color: #1990ff; + + &:hover { + border: solid 2px #1990ff; + } + } +} + + diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js new file mode 100644 index 000000000..340b9f9a9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js @@ -0,0 +1,49 @@ +import {useCallback} from 'react'; +import style from './index.module.scss'; + +const StatusField = ({status}) => { + const lower = status ? status.toLowerCase() : 'undefined'; + const config = { + new: '新建', + running: '执行中', + success: '完成', + cancelling: '停止', + cancelled: '停止', + failed: '失败', + undefined: '未知', + }; + + return ( + + {config[lower] ? config[lower] : status} + + ); +}; + +const StatusA = ({onClick, disable, children}) => { + + return ( +
+ {children} + + ); +}; + +const StatusText = ({onClick, data, disable, children}) => { + const handleClick = useCallback(() => { + onClick(data); + }, [onClick, data]); + + return ( + disable ? ( + {children} + ) : ( + {children} + ) + ); +}; + +export {StatusField, StatusA, StatusText}; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Status/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.module.scss new file mode 100644 index 000000000..aca124787 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.module.scss @@ -0,0 +1,26 @@ +.state { + border-radius: 10px; + padding: 2px 10px; + color: #2f54eb; + background-color: #d6e4ff; + font-size: 10px; + + &.new, &.cancelling, &.cancelled { + color: #ad6800; + background-color: #fff1b8; + } + + &.failed { + color: #cf1322; + background-color: #ffccc7; + } + + &.success { + color: #3f6600; + background-color: #d9f7be; + } +} + +.disable, a.disable:hover { + color: #8c8c8c; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.js b/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.js new file mode 100644 index 000000000..6278e9fdb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.js @@ -0,0 +1,11 @@ +import style from './index.module.scss'; + +const TableHeader = ({children}) => { + return ( +
+ {children} +
+ ); +}; + +export default TableHeader; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.module.scss new file mode 100644 index 000000000..2711d1487 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/TableHeader/index.module.scss @@ -0,0 +1,3 @@ +.header { + margin: 6px 0 16px; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js new file mode 100644 index 000000000..68d9ae884 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js @@ -0,0 +1,53 @@ +import {Layout, Space, Avatar, Dropdown, Menu, message, Modal} from 'antd'; +import {UserOutlined} from '@ant-design/icons'; +import style from './index.module.scss'; +import Logo from '../../assets/logo.png'; +import {useNavigate, useLocation} from 'react-router-dom'; +import * as api from '../../api/index'; +import * as user from '../../utils/user'; + +const Topbar = () => { + const userInfo = user.getUser(); + const navigate = useNavigate(); + const location = useLocation(); + + if (!userInfo || !userInfo.id) { + sessionStorage.setItem('redirect', `${location.pathname}${location.search}`); + window.location.href = '/login'; + } + + const logout = () => { + + api.auth.logout().then(res => { + if (res.status === 200) { + sessionStorage.removeItem('redirect'); + user.clearUser(); + message.success('退出成功'); + navigate('/login'); + } + }); + }; + + const confirm = () => { + Modal.confirm({ + title: '确定退出吗?', + okText: '确定', + cancelText: '取消', + onOk: logout, + }); + }; + + return ( + +
+ 退出登录}]} />}> + + } /> + {userInfo?.user_nickname ?? ''} + + +
+ ); +}; + +export default Topbar; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss new file mode 100644 index 000000000..f7baa8914 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss @@ -0,0 +1,27 @@ +div.nav { + background-color: #121212; + :global(.one-ui-pro-nav-profile) { + span, svg { + color: #fff; + } + + &:hover { + span, svg { + color: #0066ff; + } + } + } +} + +.logo { + float: left; + width: 120px; + height: 31px; +} + +.right { + display: flex; + float: right; + color: #fff; + cursor: pointer; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomEdge.js b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomEdge.js new file mode 100644 index 000000000..795adff59 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomEdge.js @@ -0,0 +1,50 @@ +/** + * @file 自定义边 + * @author + */ + +import G6 from '@antv/g6'; +import {useEffect} from 'react'; + +const options = { + afterDraw(cfg, group) { + const shape = group.get('children')[0]; + const startPoint = shape.getPoint(0); + const circle = group.addShape('circle', { + attrs: { + x: startPoint.x, + y: startPoint.y, + fill: cfg.style.stroke, + r: 3, + }, + name: 'circle-shape', + }); + circle.animate( + ratio => { + const tmpPoint = shape.getPoint(ratio); + return { + x: tmpPoint.x, + y: tmpPoint.y, + }; + }, + { + repeat: true, // Whether executes the animation repeatly + duration: 3000, // the duration for executing once + } + ); + }, + update: undefined, +}; + +const useCustomEdge = () => { + useEffect( + () => { + G6.registerEdge('runningLine', options, 'line'); + G6.registerEdge('runningQuadratic', options, 'quadratic'); + G6.registerEdge('runningLoop', options, 'loop'); + }, + [] + ); +}; + +export default useCustomEdge; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomGrid.js b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomGrid.js new file mode 100644 index 000000000..1b596f70e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomGrid.js @@ -0,0 +1,285 @@ +/** + * @file 自定义网格布局 + * @author + */ + +import _ from 'lodash'; +import G6 from '@antv/g6'; +import {useEffect} from 'react'; + +const options = { + small(val) { + const self = this; + let res; + const rows = self.rows; + const cols = self.cols; + if (val == null) { + res = Math.min(rows, cols); + } + else { + const min = Math.min(rows, cols); + if (min === self.rows) { + self.rows = val; + } + else { + self.cols = val; + } + } + return res; + }, + + large(val) { + const self = this; + let res; + const rows = self.rows; + const cols = self.cols; + if (val == null) { + res = Math.max(rows, cols); + } + else { + const max = Math.max(rows, cols); + if (max === self.rows) { + self.rows = val; + } + else { + self.cols = val; + } + } + return res; + }, + + used(row, col) { + const self = this; + return self.cellUsed[`c-${row}-${col}`] || false; + }, + + use(row, col) { + const self = this; + self.cellUsed[`c-${row}-${col}`] = true; + }, + + // 依次排完一行后,再往下排 ,固定列数 + moveToNextCell() { + const self = this; + + const cols = self.cols || 5; + self.col++; + if (self.col >= cols) { + self.col = 0; + self.row++; + } + + }, + + // 依次排完一列后,再往右排,固定行数 + moveToNextRow() { + const self = this; + const rows = self.rows || 5; + self.row++; + if (self.row >= rows) { + self.row = 0; + self.col++; + } + }, + + getPos(node) { + const self = this; + const begin = [0, 0]; + const cellWidth = self.cellWidth; + const cellHeight = self.cellHeight; + let x; + let y; + + const rcPos = self.id2manPos[node.id]; + if (rcPos) { + x = rcPos.col * cellWidth + cellWidth / 2 + begin[0]; + y = rcPos.row * cellHeight + cellHeight / 2 + begin[1]; + } + else { + + while (self.used(self.row, self.col)) { + if (self.cols > self.rows) { + self.moveToNextCell(); + } + else { + self.moveToNextRow(); + } + } + + x = self.col * cellWidth + cellWidth / 2 + begin[0]; + y = self.row * cellHeight + cellHeight / 2 + begin[1]; + self.use(self.row, self.col); + if (self.cols > self.rows) { + self.moveToNextCell(); + } + else { + self.moveToNextRow(); + } + } + node.x = x; + node.y = y; + }, + + /** + * 执行布局 + */ + execute() { + const self = this; + + const nodes = self.nodes; + const n = nodes.length; + const center = self.center; + const preventOverlap = true; + if (n === 0) { + return; + } + if (n === 1) { + nodes[0].x = center[0]; + nodes[0].y = center[1]; + return; + } + + const edges = self.edges; + const layoutNodes = []; + nodes.forEach(node => { + layoutNodes.push(node); + }); + const nodeIdxMap = {}; + layoutNodes.forEach((node, i) => { + nodeIdxMap[node.id] = i; + }); + // .......其他排序 + // 排序 + layoutNodes.sort((n1, n2) => n2 - n1); + + if (!self.width && typeof window !== 'undefined') { + self.width = window.innerWidth; + } + if (!self.height && typeof window !== 'undefined') { + self.height = window.innerHeight; + } + + const oRows = self.rows; + const oCols = self.cols != null ? self.cols : self.columns; + self.cells = n; + + // if rows or columns were set in self, use those values + if (oRows != null && oCols != null) { + self.rows = oRows; + self.cols = oCols; + } + else if (oRows != null && oCols == null) { + self.rows = oRows; + self.cols = Math.ceil(self.cells / self.rows); + } + else if (oRows == null && oCols != null) { + self.cols = oCols; + self.rows = Math.ceil(self.cells / self.cols); + } + else { + self.splits = Math.sqrt((self.cells * self.height) / self.width); + self.rows = Math.round(self.splits); + self.cols = Math.round((self.width / self.height) * self.splits); + } + + self.cellWidth = self.width / self.cols; + self.cellHeight = self.height / self.rows; + + if (self.condense) { + self.cellWidth = 0; + self.cellHeight = 0; + } + + if (preventOverlap) { + layoutNodes.forEach(node => { + if (!node.x || !node.y) { + node.x = 0; + node.y = 0; + } + + let nodew; + let nodeh; + if (_.isArray(node.size)) { + nodew = node.size[0]; + nodeh = node.size[1]; + } + else if (_.isNumber(node.size)) { + nodew = node.size; + nodeh = node.size; + } + if (nodew === undefined || nodeh === undefined) { + if (_.isArray(self.nodeSize)) { + nodew = self.nodeSize[0]; + nodeh = self.nodeSize[1]; + } + else if (_.isNumber(self.nodeSize)) { + nodew = self.nodeSize; + nodeh = self.nodeSize; + } + else { + nodew = 30; + nodeh = 30; + } + } + + const p = 30; + + const w = nodew + p; + const h = nodeh + p; + + self.cellWidth = Math.max(self.cellWidth, w); + self.cellHeight = Math.max(self.cellHeight, h); + }); + } + + self.cellUsed = {}; // e.g. 'c-0-2' => true + + self.row = 0; + self.col = 0; + + self.id2manPos = {}; + for (let i = 0; i < layoutNodes.length; i++) { + const node = layoutNodes[i]; + let rcPos; + if (self.position) { + rcPos = self.position(node); + } + + if (rcPos && (rcPos.row !== undefined || rcPos.col !== undefined)) { + const pos = { + row: rcPos.row, + col: rcPos.col, + }; + + if (pos.col === undefined) { + pos.col = 0; + while (self.used(pos.row, pos.col)) { + pos.col++; + } + } + else if (pos.row === undefined) { + pos.row = 0; + + while (self.used(pos.row, pos.col)) { + pos.row++; + } + } + + self.id2manPos[node.id] = pos; + self.use(pos.row, pos.col); + } + self.getPos(node); + } + }, +}; + +const useCustomGrid = () => { + useEffect( + () => { + G6.registerLayout('customGrid', options); + }, + [] + ); +}; + +export default useCustomGrid; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomNode.js b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomNode.js new file mode 100644 index 000000000..71c057f95 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/customHook/useCustomNode.js @@ -0,0 +1,159 @@ +/** + * @file 自定义节点 + * @author + */ + +import icons from '../utils/graph'; +import G6 from '@antv/g6'; +import {useEffect} from 'react'; + +const getBadgePosition = (size, type) => { + let badgeX = 0; + let badgeY = 0; + if (type === 'circle') { + const r = size / 2; + badgeX = r * Math.cos((Math.PI * 7) / 4); + badgeY = -r * Math.sin((Math.PI * 7) / 4); + } + else if (type === 'diamond') { + const r = size / 2; + badgeX = r / 2; + badgeY = r / 2; + } + else if (type === 'triangle') { + const r = size; + badgeX = r * Math.cos((Math.PI) / 6); + badgeY = r - 5; + } + else if (type === 'star') { + const r = size / 2; + badgeX = r; + badgeY = 1.39 * r; + } + else if (type === 'ellipse') { + badgeX = size[0] / 4; + badgeY = size[1] / 3; + } + return { + x: badgeX, + y: badgeY, + }; +}; + +const drawBadge = (group, size, type) => { + const [width, height] = [10, 10]; + const {x: badgeX, y: badgeY} = getBadgePosition(size, type); + if (width === height) { + const shape = { + attrs: { + r: 5, + fill: 'grey', + x: badgeX, + y: badgeY, + }, + name: 'badges-circle', + id: 'badges-circle', + }; + group.addShape('circle', shape); + } + group.addShape('text', { + attrs: { + x: badgeX, + y: badgeY, + fontFamily: 'graphin', + text: icons.pushpin, + textAlign: 'center', + textBaseline: 'middle', + fontSize: 8, + color: '#fff', + fill: '#fff', + }, + capture: false, + name: 'badges-text', + id: 'badges-text', + }); +}; + +const removeBadge = group => { + const a = group.findById('badges-circle'); + group.removeChild(a); + const b = group.findById('badges-text'); + group.removeChild(b); +}; + +const options = { + setState(name, value, item) { + if (!name) { + return; + } + const group = item.getContainer(); + const groupChildren = group?.get('children'); + if (groupChildren) { + const shape = group?.get('children')[0]; + const model = item.getModel(); + const {stateStyles = {}, size, type} = model; + const currentStateStyle = stateStyles[name] || ''; + const status = item._cfg?.states || []; + if (value) { + Object.entries(currentStateStyle).forEach( + item => { + shape.attr(item[0], item[1]); + } + ); + // 固定节点增加样式 + if (name === 'customFixed') { + // 如果有icon就不添加 + const badgeGroup = group.findById('badges-circle'); + if (badgeGroup == null) { + drawBadge(group, size, type); + } + } + } + else { + if (name === 'customFixed') { + removeBadge(group); + } + Object.entries(currentStateStyle).forEach( + item => { + const [key] = item; + shape.attr(key, model.style[key]); + } + ); + // 如果有其他状态 设置过去; + if (status.length > 0) { + status.forEach(key => { + const currentStateStyle = stateStyles[key] || {}; + Object.entries(currentStateStyle).forEach( + item => { + shape.attr(item[0], item[1]); + } + ); + if (name === 'customFixed') { + // 如果有icon就不添加 + const badgeGroup = group.findById('badges-circle'); + if (badgeGroup == null) { + drawBadge(group, size, type); + } + } + } + ); + } + } + } + }, +}; + +const useCustomNode = () => { + useEffect( + () => { + G6.registerNode('circle', options, 'circle'); + G6.registerNode('diamond', options, 'diamond'); + G6.registerNode('triangle', options, 'triangle'); + G6.registerNode('star', options, 'star'); + G6.registerNode('ellipse', options, 'ellipse'); + }, + [] + ); +}; + +export default useCustomNode; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/customHook/useDownloadJson.js b/hugegraph-hubble/hubble-fe-new/src/customHook/useDownloadJson.js new file mode 100644 index 000000000..48a14e787 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/customHook/useDownloadJson.js @@ -0,0 +1,24 @@ +/** + * @file 下载Json数据 + * @author + */ + +const useDownloadJson = () => { + + const downloadJsonHandler = (fileName, data) => { + const formatedFileName = fileName.split('.').join(''); + let element = document.createElement('a'); + const processedData = JSON.stringify(data); + element.setAttribute('href', + `data:application/json;charset=utf-8,\ufeff${encodeURIComponent(processedData)}`); + element.setAttribute('download', formatedFileName); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); + }; + + return {downloadJsonHandler}; +}; + +export default useDownloadJson; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/index.css b/hugegraph-hubble/hubble-fe-new/src/index.css new file mode 100644 index 000000000..f60b11d80 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/index.css @@ -0,0 +1,18 @@ +body { + margin: 0; + font-family: + PingFangSC-Regular, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + 'Roboto', + 'Oxygen', + 'Ubuntu', + 'Cantarell', + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/index.js b/hugegraph-hubble/hubble-fe-new/src/index.js new file mode 100644 index 000000000..fe912af55 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/index.js @@ -0,0 +1,24 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import {BrowserRouter} from 'react-router-dom'; +import {ConfigProvider} from 'antd'; +import 'moment/locale/zh-cn'; +import locale from 'antd/lib/locale/zh_CN'; +import './index.css'; +import App from './App'; +import reportWebVitals from './reportWebVitals'; + +const root = ReactDOM.createRoot(document.getElementById('root')); + +root.render( + + + + + +); + +// If you want to start measuring performance in your app, pass a function +// to log results (for example: reportWebVitals(console.log)) +// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals +reportWebVitals(); diff --git a/hugegraph-hubble/hubble-fe-new/src/layout.ant.js b/hugegraph-hubble/hubble-fe-new/src/layout.ant.js new file mode 100644 index 000000000..9f961f16f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/layout.ant.js @@ -0,0 +1,23 @@ +import {Layout} from 'antd'; +import Sidebar from './components/Sidebar/index.ant'; +import Topbar from './components/Topbar/index.ant'; +import {Outlet} from 'react-router-dom'; +import 'antd/dist/antd.css'; + +const LayoutAnt = () => { + return ( + + + + + + + + + + + + ); +}; + +export default LayoutAnt; diff --git a/hugegraph-hubble/hubble-fe-new/src/logo.svg b/hugegraph-hubble/hubble-fe-new/src/logo.svg new file mode 100644 index 000000000..9dfc1c058 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/Context/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/Context/index.js new file mode 100644 index 000000000..f8247a47b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/Context/index.js @@ -0,0 +1,19 @@ +/** + * @file 图分析部分Context + * @author gouzixing@ + */ + + +import React from 'react'; + +const defaultContext = { + graphSpace: null, + graph: null, + graphLoadTime: null, + graphStatus: null, + isVermeer: false, +}; + +const GraphAnalysisContext = React.createContext(defaultContext); + +export default GraphAnalysisContext; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/GraphAnalysis/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/GraphAnalysis/index.js new file mode 100644 index 000000000..7e4e2d65b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/GraphAnalysis/index.js @@ -0,0 +1,131 @@ +import React, {useState, useCallback, useEffect} from 'react'; +import {PageHeader, message} from 'antd'; +import AnalysisHome from '../analysis/Home'; +import AlgorithmHome from '../algorithm/Home'; +import AsyncTaskHome from '../asyncTasks/Home'; +import GraphAnalysisContext from '../Context'; +import TopBar from '../component/TopBar'; +import {GRAPH_ANALYSIS_MODULE} from '../../utils/constants'; +import _ from 'lodash'; +import * as api from '../../api'; + +const {GREMLIN, ALGORITHMS, ASYNCTASKS} = GRAPH_ANALYSIS_MODULE; + +const pageHeaderName = { + [GREMLIN]: '图语言分析', + [ALGORITHMS]: '图算法', + [ASYNCTASKS]: '任务管理', +}; + +const GraphAnalysisHome = props => { + const {moduleName} = props; + + const [currentOlapMode, setCurrentOlapMode] = useState(false); + const [isOlapModeLoading, setOlapModeLoading] = useState(false); + const [context, setContext] = useState( + { + graphSpace: null, + graph: null, + graphLoadTime: null, + graphStatus: null, + isVermeer: false, + } + ); + + const renderModule = () => { + switch (moduleName) { + case GREMLIN: + return ; + case ALGORITHMS: + return ; + case ASYNCTASKS: + return ; + default: + break; + } + }; + + const onOlapModeChange = useCallback( + async open => { + const {graphSpace, graph} = context; + setOlapModeLoading(true); + const response = await api.analysis.switchOlapMode(graphSpace, graph, open ? 0 : 1); + if (response.status === 200) { + setCurrentOlapMode(open); + } + setOlapModeLoading(false); + }, + [context] + ); + + const getCurrentOlapMode = useCallback( + async (graphSpace, graph) => { + setOlapModeLoading(true); + const response = await api.analysis.getOlapMode(graphSpace, graph); + const {status, data} = response; + if (status === 200) { + const {status: currentOlapStatus} = data; + setCurrentOlapMode(currentOlapStatus === '0'); + } + setOlapModeLoading(false); + }, + [] + ); + + const onGraphInfoChange = useCallback( + (graphSpace, graph) => { + const {name: currentGraph, last_load_time, status} = graph; + if (graphSpace && !_.isEmpty(graph)) { + getCurrentOlapMode(graphSpace, currentGraph); + } + setContext(context => ({ + ...context, + graphSpace, + graph: currentGraph, + graphLoadTime: last_load_time, + graphStatus: status, + })); + }, + [getCurrentOlapMode] + ); + + useEffect( + () => { + (async () => { + const response = await api.auth.getVermeer(); + const {status, data, message: errMsg} = response || {}; + const {enable} = data || {}; + if (status === 200) { + setContext(context => ( + { + ...context, + isVermeer: enable || false, + } + )); + } + else { + !errMsg && message.error('获取vermeer状态失败'); + } + })(); + }, + [] + ); + + return ( + + + + + {renderModule()} + + ); +}; + +export default GraphAnalysisHome; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js new file mode 100644 index 000000000..1a4a89d62 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js @@ -0,0 +1,36 @@ +/** + * @file 图算法 搜索 + * @author + */ + +import React, {useMemo} from 'react'; +import {Input} from 'antd'; +import _ from 'lodash'; +import c from './index.module.scss'; + +const AlgorithmSearch = props => { + + const {onSearch} = props; + + const deboucedOnChange = useMemo( + () => { + return _.debounce(e => { + const {value} = e.target; + onSearch(value); + }, 200); + }, + [onSearch] + ); + + return ( +
+ +
+ ); +}; + +export default AlgorithmSearch; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.module.scss new file mode 100644 index 000000000..e4949ebe5 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.module.scss @@ -0,0 +1,9 @@ +.algorithmSearch{ + :global(.ant-input-affix-wrapper){ + width: 250px; + height: 40px; + border: 1px solid #E7E8E9; + margin: -1px 0 0 -1px; + padding: 4px 10px; + } +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphMenuBar/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphMenuBar/index.js new file mode 100644 index 000000000..4d7035272 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphMenuBar/index.js @@ -0,0 +1,170 @@ +/** + * @file GraphMenuBar(图算法) + * @author + */ + +import React, {useCallback} from 'react'; +import MenuBar from '../../../component/MenuBar'; +import ImportData from '../../../component/ImportData'; +import ExportData from '../../../component/ExportData'; +import StyleConfig from '../../../component/styleConfig/Home'; +import FilterHome from '../../../component/filter/Home'; +import LayoutConfig from '../../../component/LayoutConfig'; +import SettingConfig from '../../../component/SettingConfig'; +import NewConfig from '../../../component/NewConfig'; +import Statistics from '../../../component/Statistics'; +import RenderModeSwitcher from '../../../component/GraphRenderModeSwitcher'; +import {PANEL_TYPE, GRAPH_RENDER_MODE, MENUBAR_TOOLTIPS_2D, MENUBAR_TOOLTIPS_3D} from '../../../../utils/constants'; +import {formatToDownloadData} from '../../../../utils/formatGraphResultData'; +import useDownloadJson from '../../../../customHook/useDownloadJson'; + +const {LAYOUT, SETTING, STATISTICS} = PANEL_TYPE; +const {CANVAS2D} = GRAPH_RENDER_MODE; + +const GraphMenuBar = props => { + const { + styleConfigData, + graphData, + handleImportData, + handleExportPng, + handleGraphStyleChange, + handleFilterChange, + handleTogglePanel, + handleClickNewAddNode, + handleClickNewAddEdge, + handleSwitchRenderMode, + refreshExcuteCount, + showCanvasInfo, + graphRenderMode, + } = props; + + const {downloadJsonHandler} = useDownloadJson(); + + const isCanvas2D = graphRenderMode === CANVAS2D; + const buttonEnableForCanvas2D = showCanvasInfo && isCanvas2D; + const buttonEnableForImport = !showCanvasInfo && isCanvas2D; + + const handleExportJson = useCallback( + fileName => { + downloadJsonHandler(fileName, formatToDownloadData(graphData)); + }, + [downloadJsonHandler, graphData] + ); + + const menubarContent = [ + { + key: 1, + content: ( + + ), + }, + { + key: 2, + content: ( + ), + }, + { + key: 3, + content: ( + ), + }, + { + key: 4, + content: ( + + ), + }, + { + key: 5, + content: ( + { + handleTogglePanel(LAYOUT); + }} + tooltip={isCanvas2D ? MENUBAR_TOOLTIPS_2D.LAYOUT : MENUBAR_TOOLTIPS_3D.LAYOUT} + />), + }, + { + key: 6, + content: ( + { + handleTogglePanel(SETTING); + }} + tooltip={isCanvas2D ? MENUBAR_TOOLTIPS_2D.SETTING : MENUBAR_TOOLTIPS_3D.SETTING} + />), + }, + { + key: '7', + content: ( + ), + }, + { + key: 8, + content: ( + { + handleTogglePanel(STATISTICS); + }} + tooltip={isCanvas2D ? MENUBAR_TOOLTIPS_2D.STATISTICS : MENUBAR_TOOLTIPS_3D.STATISTICS} + />), + }, + // { + // key: 8, + // content: ( + // { + // handleTogglePanel(STATISTICS); + // }} + // tooltip={isCanvas2D ? MENUBAR_TOOLTIPS_2D.STATISTICS : MENUBAR_TOOLTIPS_3D.STATISTICS} + // />), + // }, + ]; + + const menubarExtras = [{ + key: 1, + content: ( + + ), + }]; + + return ( + + ); +}; + +export default GraphMenuBar; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphToolBar/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphToolBar/index.js new file mode 100644 index 000000000..dc11e391c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/GraphToolBar/index.js @@ -0,0 +1,54 @@ +/** + * @file GraphToolBar + * @author + */ + +import React, {useState, useCallback} from 'react'; +import ToolBar from '../../../component/ToolBar'; +import ZeroDegreeNodeSearch from '../../../component/ZeroDegreeNode'; +import RedoUndo from '../../../component/RedoUndo'; +import FitCenter from '../../../component/FitCenter'; +import ZoomGraph from '../../../component/ZoomGraph'; +import ClearGraph from '../../../component/ClearGraph'; +import FullScreen from '../../../component/FullScreen'; +import RefreshGraph from '../../../component/RefreshGraph'; +import FixNode from '../../../component/FixNode'; +import {PANEL_TYPE} from '../../../../utils/constants'; + +const {CLOSED} = PANEL_TYPE; + +const GraphToolBar = props => { + const { + handleRedoUndoChange, + handleClearGraph, + panelType, + updatePanelType, + } = props; + + const [isFullScreen, setFullScreen] = useState(false); + + const handleChangeFullScreen = useCallback( + () => { + setFullScreen(pre => !pre); + updatePanelType(CLOSED); + }, + [updatePanelType] + ); + + const toolBarExtras = [ + {key: '1', content: ()}, + {key: '2', content: ()}, + {key: '3', content: ()}, + {key: '45', content: ()}, + {key: '6', content: ()}, + {key: '7', content: ()}, + {key: '89', content: ()}, + {key: '10', content: ()}, + ]; + + return ( + + ); +}; + +export default GraphToolBar; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.js new file mode 100644 index 000000000..a46c24793 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.js @@ -0,0 +1,521 @@ +/** + * @file 图分析画布 Home + * @author + */ +import React, {useCallback, useEffect, useState, useContext, useMemo, useRef} from 'react'; +import GraphAnalysisContext from '../../../Context'; +import Graph from '../../../component/Graph'; +import Legend from '../../../component/Legend'; +import MiniMap from '../../../component/MiniMap'; +import GraphMenuBar from '../GraphMenuBar'; +import Tooltip from '../../../component/Tooltip'; +import GraphToolBar from '../GraphToolBar'; +import Menu from '../../../component/Menu'; +import NumberCard from '../../../component/NumberCard'; +import EditElement from '../../../component/EditElement'; +import Search from '../../../component/Search'; +import SettingConfigPanel from '../../../component/SettingConfigPanel'; +import LayoutConfigPanel from '../../../component/layoutConfigPanel/Home'; +import PanelControlButton from '../../../component/ClosePanelButton'; +import DynamicAddNode from '../../../component/DynamicAddNode'; +import DynamicAddEdge from '../../../component/DynamicAddEdge'; +import NeighborRankApiView from '../NeighborRankView'; +import StatisticPanel from '../../../component/StatisticsPanel/Home'; +import RankApiView from '../RankApiView'; +import JaccView from '../JaccView'; +import GraphStatusView from '../../../component/GraphStatusView'; +import TaskNavigateView from '../../../component/TaskNavigateView'; +import Canvas3D from '../../../component/Canvas3D'; +import {filterData} from '../../../../utils/filter'; +import {formatToGraphData, formatToOptionedGraphData, formatToStyleData, + formatToDownloadData, updateGraphDataStyle, formatToLegendData} from '../../../../utils/formatGraphResultData'; +import {fetchExpandInfo, handleAddGraphNode, handleAddGraphEdge, handleExpandGraph} from '../utils'; +import {mapLayoutNameToLayoutDetails} from '../../../../utils/graph'; +import {GRAPH_STATUS, ALGORITHM_NAME, PANEL_TYPE, + Algorithm_Layout, GRAPH_RENDER_MODE} from '../../../../utils/constants'; +import c from './index.module.scss'; +import _ from 'lodash'; + +const {STANDBY, LOADING, SUCCESS, FAILED, UPLOAD_FAILED} = GRAPH_STATUS; +const {JACCARD_SIMILARITY, JACCARD_SIMILARITY_POST, RANK_API, + NEIGHBOR_RANK_API, ADAMIC_ADAR, RESOURCE_ALLOCATION} = ALGORITHM_NAME; +const noneGraphAlgorithm = [JACCARD_SIMILARITY, JACCARD_SIMILARITY_POST, RANK_API, + NEIGHBOR_RANK_API, ADAMIC_ADAR, RESOURCE_ALLOCATION]; +const {CLOSED, LAYOUT, SETTING, STATISTICS} = PANEL_TYPE; +const {CANVAS2D} = GRAPH_RENDER_MODE; + +const GraphResult = props => { + const { + data = {vertexs: [], edges: []}, + metaData, + options, + asyncTaskId, + queryStatus, + queryMessage, + isQueryMode, + algorithm: algorithmName, + resetGraphStatus, + panelType, + updatePanelType, + graphNums, + propertyKeysRecords, + graphRenderMode, + onGraphRenderModeChange, + } = props; + + const graphSpaceInfo = useContext(GraphAnalysisContext); + const {edgeMeta, vertexMeta} = metaData || {}; + const [graphData, setGraphData] = useState({nodes: [], edges: []}); + const [styleConfigData, setStyleConfigData] = useState({nodes: {}, edges: {}}); + const [showAddNodeDrawer, setShowAddNodeDrawer] = useState(false); + const [showAddEdgeDrawer, setShowAddEdgeDrawer] = useState(false); + const [isClickNew, setIsClickNew] = useState(false); + const [searchVisible, setSearchVisible] = useState(false); + const [searchVertex, setSearchVertex] = useState({}); + const [addEdgeDrawerInfo, setAddEdgeDrawerInfo] = useState({}); + const [isOutEdge, setOutEdge] = useState(false); + const [showEditElement, setShowEditElement] = useState(false); + const [editElementInfo, setEditElementInfo] = useState(); + const [graph, setGraph] = useState(); + const [graphAllInfo, setGraphAllInfo] = useState(); + const excuteStyleChangeCount = useRef(0); + const {jaccardsimilarity, rankObj, rankArray} = options || {}; + const showCanvasInfo = (_.size(data.vertices) !== 0 || _.size(data.edges) !== 0) && queryStatus === SUCCESS; + const layoutInfo = useMemo( + () => mapLayoutNameToLayoutDetails({layout: Algorithm_Layout[algorithmName], startId: options?.startId}), + [algorithmName, options?.startId] + ); + + const onGraphRender = useCallback(graph => { + setGraph(graph); + }, []); + + useEffect(() => { + setGraphAllInfo(graphNums); + }, [graphNums]); + + useEffect( + () => { + const rawGraphData = formatToGraphData(data, metaData, {}); + const finalGraphData = formatToOptionedGraphData(rawGraphData, options, algorithmName); + const styleConfigData = formatToStyleData(rawGraphData); + setGraphData(finalGraphData); + setStyleConfigData(styleConfigData); + }, + [algorithmName, data, metaData, options] + ); + + const handleUpdateStatus = useCallback( + (status, message, result) => { + resetGraphStatus && resetGraphStatus(status, message, result); + }, + [resetGraphStatus] + ); + + const handleExportPng = useCallback( + fileName => { + graph.downloadFullImage(fileName, 'image/png', {backgroundColor: '#FFF', padding: 30}); + }, + [graph] + ); + + const handleGraphStyleChange = useCallback( + styleConfigData => { + try { + const styledData = updateGraphDataStyle(graphData, styleConfigData); + const newGraphData = formatToOptionedGraphData(styledData, options, algorithmName); + graph.changeData(_.cloneDeep(newGraphData), true); + graph.getNodes().forEach(item => { + graph.refreshItem(item); + if (item.hasLocked()) { + graph.setItemState(item, 'customFixed', true); + } + }); + setGraphData({...styledData}); + setStyleConfigData(styleConfigData); + } + catch (err) { + if (excuteStyleChangeCount.current > 2) { + throw new Error(err); + } + else { + excuteStyleChangeCount.current++; + handleGraphStyleChange(styleConfigData); + } + } + }, + [algorithmName, graph, graphData, options] + ); + + const handleRefreshExcuteCount = useCallback(() => { + excuteStyleChangeCount.current = 0; + }, []); + + const handleFilterChange = useCallback( + values => { + const {filter} = values; + const newData = filterData(props.data, filter.rules, filter.logic); + const newRawGraphData = formatToGraphData(newData || {}, metaData, styleConfigData); + const newGraphData = formatToOptionedGraphData(newRawGraphData, options, algorithmName); + graph.changeData(newGraphData, true); + graph.refresh(); + setGraphData(newGraphData); + setStyleConfigData(formatToStyleData(newRawGraphData)); + }, + [algorithmName, graph, metaData, options, props.data, styleConfigData] + ); + + const handleTogglePanel = useCallback( + type => { + if (panelType === type) { + updatePanelType(CLOSED); + } + else { + updatePanelType(type); + } + }, [panelType, updatePanelType] + ); + + const handleLayoutChange = useCallback( + layout => { + graph.destroyLayout(); + graph.updateLayout(layout, 'center', undefined, false); + }, + [graph] + ); + + const handleSettingChange = useCallback( + changedData => { + graph.changeData(_.cloneDeep(changedData), false); + graph.refresh(); + setGraphData({...changedData}); + }, [graph] + ); + + const handleClickNewAddNode = useCallback( + () => { + setShowAddNodeDrawer(true); + }, []); + + const handleClickNewAddEdge = useCallback( + isOut => { + setIsClickNew(true); + setShowAddEdgeDrawer(true); + setOutEdge(isOut); + }, []); + + const handleClickGraphNode = useCallback( + value => { + setShowEditElement(true); + setEditElementInfo(value.getModel()); + }, []); + + const handleExpand = useCallback( + (newData, graphInstance) => { + const newGraphData = handleExpandGraph(newData, metaData, + styleConfigData, options, algorithmName, graphInstance); + setGraphData(newGraphData); + setStyleConfigData(formatToStyleData(newGraphData)); + }, [algorithmName, metaData, options, styleConfigData]); + + const getExpandInfo = useCallback( + async (params, graphInstance) => { + const searchResultRaw = await fetchExpandInfo(params, graphInstance, graphSpaceInfo); + handleExpand(searchResultRaw, graphInstance); + }, [graphSpaceInfo, handleExpand]); + + const handleClickGraphEdge = useCallback( + value => { + const drawerInfo = value.getModel(); + setShowEditElement(true); + setEditElementInfo(drawerInfo); + }, [] + ); + + const handledbClickNode = useCallback( + (node, graphInstance) => { + const model = node.getModel(); + const params = {vertex_id: model.id, vertex_label: model.itemType}; + getExpandInfo(params, graphInstance); + }, + [getExpandInfo] + ); + + const handleAddNode = useCallback( + data => { + const newItem = handleAddGraphNode(data, metaData, styleConfigData, graph); + const {nodes, edges} = graphData; + setGraphData({edges, nodes: [...nodes, newItem]}); + setGraphAllInfo({...graphAllInfo, vertexCount: Number(graphAllInfo.vertexCount) + 1}); + }, + [graph, graphAllInfo, graphData, metaData, styleConfigData] + ); + + const handleAddEdge = useCallback( + data => { + const newGraphData = handleAddGraphEdge(data, metaData, graphData, styleConfigData, graph); + setGraphData(newGraphData); + setGraphAllInfo({...graphAllInfo, edgeCount: Number(graphAllInfo.edgeCount) + 1}); + }, + [graph, graphAllInfo, graphData, metaData, styleConfigData] + ); + + const toggleAddNodeDrawer = useCallback( + () => { + setShowAddNodeDrawer(pre => !pre); + }, [] + ); + + const toggleAddEdgeDrawer = useCallback( + () => { + setShowAddEdgeDrawer(pre => !pre); + }, [] + ); + + const handleClosePanel = useCallback( + () => { + updatePanelType(CLOSED); + }, + [updatePanelType] + ); + + const handleRedoUndoChange = useCallback( + (type, values) => { + let changedData; + if (type === 'changedata') { + changedData = values; + } + else { + changedData = graph.cfg.data; + } + setGraphData({...changedData}); + }, + [graph] + ); + + const handleClearGraph = useCallback( + () => { + resetGraphStatus && resetGraphStatus(STANDBY, undefined, {}); + updatePanelType(CLOSED); + }, + [resetGraphStatus, updatePanelType] + ); + + const handleClickAddNode = useCallback(() => { + setShowAddNodeDrawer(true); + }, []); + + const handleClickAddEdge = useCallback( + (info, isOutEdge) => { + setIsClickNew(false); + setShowAddEdgeDrawer(true); + setAddEdgeDrawerInfo(info); + setOutEdge(isOutEdge); + }, + [] + ); + + const handleClickMenuExpand = useCallback( + params => { + getExpandInfo(params, graph); + }, + [getExpandInfo, graph] + ); + + const handleSearch = useCallback( + vertex => { + setSearchVisible(true); + setSearchVertex(vertex); + }, + [] + ); + + const onCloseEditElement = useCallback( + () => { + setShowEditElement(false); + }, + [] + ); + + const onEditElementChange = useCallback( + (type, item, itemData) => { + const {id} = item.getModel(); + const updatedInfo = graphData[type].map( + item => { + if (item.id === id) { + return {...item, ...itemData}; + } + return item; + } + ); + const updatedGraphData = {...graphData, [type]: updatedInfo}; + setGraphData(updatedGraphData); + }, + [graphData] + ); + + const handleCloseSearch = useCallback( + () => { + setSearchVisible(false); + }, + [] + ); + + const handleChangeSearch = useCallback( + params => { + getExpandInfo(params, graph); + handleCloseSearch(); + }, + [getExpandInfo, graph, handleCloseSearch] + ); + const renderCanvas2D = () => ( + + + + + + + + + + + + + + + + ); + + const renderCanvas3D = () => (); + + const statusMessage = useMemo(() => ({ + [STANDBY]: '暂无数据结果', + [LOADING]: '程序运行中,请稍候...', + [FAILED]: queryMessage || '运行失败', + [UPLOAD_FAILED]: queryMessage || '导入失败', + }), [queryMessage]); + + const renderMainContent = () => { + if (queryStatus === SUCCESS) { + if (!isQueryMode) { + return ( + + ); + } + if (!showCanvasInfo && !noneGraphAlgorithm.includes(algorithmName)) { + return ; + } + switch (algorithmName) { + case JACCARD_SIMILARITY: + case ADAMIC_ADAR: + case RESOURCE_ALLOCATION: + return ; + case JACCARD_SIMILARITY_POST: + case RANK_API: + return ; + case NEIGHBOR_RANK_API: + return ; + }; + return graphRenderMode === CANVAS2D ? renderCanvas2D() : renderCanvas3D(); + } + return ; + }; + + const handleSwitchRenderMode = useCallback( + value => { + onGraphRenderModeChange(value); + updatePanelType(CLOSED); + }, + [onGraphRenderModeChange, updatePanelType] + ); + + return ( +
+ + {renderMainContent()} + +
+ ); +}; + +export default GraphResult; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.module.scss new file mode 100644 index 000000000..b7d58aaf5 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/Home/index.module.scss @@ -0,0 +1,11 @@ +.graphResult { + position: relative; + width: calc(100% - 250px); + background-color: #fff; + + .graphContainer { + display: flex; + justify-content: flex-start; + flex: 1 1 0; + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.js new file mode 100644 index 000000000..dfa60dba9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.js @@ -0,0 +1,23 @@ +/** + * @file JACCARD_SIMILARITY等算法展示 + * @author + */ + +import React from 'react'; +import JaccRankView from '../../../component/JaccRankView'; +import c from './index.module.scss'; + +const JaccView = props => { + const {jaccardsimilarity} = props; + return ( +
+ +
+ ); + +}; + +export default JaccView; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.module.scss new file mode 100644 index 000000000..0324c09aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/JaccView/index.module.scss @@ -0,0 +1,13 @@ +.noneGraphContent{ + display: flex; + padding-top: 10%; + padding-bottom: 100px; + align-items: center; + flex-direction: column; + width: 100%; + height: calc(100vh - 40px); + border: 1px solid #E7E8E9; + margin-left: -1px; + word-break: break-all; + overflow-y: auto; +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.js new file mode 100644 index 000000000..db1ac03a0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.js @@ -0,0 +1,45 @@ +/** + * @file NeighborRankApi算法展示 + * @author + */ + +import React from 'react'; +import {colors} from '../../../../utils/constants'; +import JaccRankView from '../../../component/JaccRankView'; +import _ from 'lodash'; +import c from './index.module.scss'; + +const NeighborRankApiView = props => { + const {rankArray} = props; + const colorsNum = colors.length; + return ( +
+ {rankArray.map((item, index) => { + return ( +
+
分类{index + 1}
+ {_.isEmpty(item) ? ( +
本场景下没有第{index + 1}度邻居
+ ) : (Object.entries(item)?.map(item2 => { + const [key, value] = item2; + return ( + + ); + }) + )} +
+ ); + })} +
+ ); +}; + +export default NeighborRankApiView; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.module.scss new file mode 100644 index 000000000..53a6e7d46 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/NeighborRankView/index.module.scss @@ -0,0 +1,25 @@ +.noneGraphContent{ + display: flex; + padding-top: 10%; + padding-bottom: 100px; + align-items: center; + flex-direction: column; + width: 100%; + height: calc(100vh - 40px); + border: 1px solid #E7E8E9; + margin-left: -1px; + word-break: break-all; + overflow-y: auto; + + .noneGraphContentTitle{ + font-weight: bold; + margin-top: 20px; + } + + .emptyDesc { + display: flex; + align-items: center; + margin-top: 20px; + width: 380px + } +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.js new file mode 100644 index 000000000..2236974ec --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.js @@ -0,0 +1,45 @@ +/** + * @file RankApi算法展示 + * @author + */ + +import React from 'react'; +import {GRAPH_STATUS} from '../../../../utils/constants'; +import JaccRankView from '../../../component/JaccRankView'; +import GraphStatusView from '../../../component/GraphStatusView'; +import _ from 'lodash'; +import c from './index.module.scss'; + +const RankApiView = props => { + const {rankObj} = props; + if (_.isEmpty(rankObj)) { + return ( + + ); + } + return ( +
+ { + Object.entries(rankObj)?.map( + item => { + const [key, value] = item; + return ( + + ); + } + ) + } +
+ ); + +}; + +export default RankApiView; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.module.scss new file mode 100644 index 000000000..0324c09aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/RankApiView/index.module.scss @@ -0,0 +1,13 @@ +.noneGraphContent{ + display: flex; + padding-top: 10%; + padding-bottom: 100px; + align-items: center; + flex-direction: column; + width: 100%; + height: calc(100vh - 40px); + border: 1px solid #E7E8E9; + margin-left: -1px; + word-break: break-all; + overflow-y: auto; +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/utils/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/utils/index.js new file mode 100644 index 000000000..e00d9a994 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/GraphResult/utils/index.js @@ -0,0 +1,116 @@ +import * as api from '../../../../api/index'; +import {message} from 'antd'; +import {formatToDownloadData, formatToGraphData, + formatToOptionedGraphData} from '../../../../utils/formatGraphResultData'; +import {processParallelEdges} from '../../../../utils/graph'; +import {clearSelectedStates} from '../../../../utils/handleGraphState'; +import _ from 'lodash'; + +const fetchExpandInfo = async (params, graphInstance, graphSpaceInfo) => { + const {graphSpace, graph} = graphSpaceInfo; + const response = await api.analysis.putExecutionQuery(graphSpace, graph, params); + if (response.status !== 200) { + message.error('展开失败'); + return; + } + const {vertices, edges} = response.data.graph_view; + if (vertices.length === 0) { + message.warning('不存在更多邻接点'); + return; + } + const tmp = {vertices: [], edges: []}; + const rawGraphData = formatToDownloadData(graphInstance.save()); + const verticesIds = rawGraphData.vertices.map(item => item.id); + const edgesIds = rawGraphData.edges.map(item => item.id); + for (let item of vertices) { + if (!verticesIds.includes(item.id)) { + tmp.vertices.push(item); + } + } + for (let item of edges) { + if (!edgesIds.includes(item.id)) { + tmp.edges.push(item); + } + } + if (tmp.vertices.length === 0) { + message.warning('不存在更多邻接点'); + return; + } + const searchResultRaw = tmp; + return searchResultRaw; +}; + +const handleAddGraphNode = (data, metaData, styleConfigData, graph) => { + const addItem = data.vertices; + const {id} = addItem[0]; + const newStyledData = formatToGraphData(data, metaData, styleConfigData); + const styledItem = newStyledData.nodes[0]; + graph.addItem('node', styledItem, false); + const {layout} = graph.cfg; + if (layout) { + graph.destroyLayout(); + graph.updateLayout(layout); + graph.refresh(); + } + clearSelectedStates(graph); + const instance = graph.findById(id); + graph.setItemState(instance, 'addActive', true); + return styledItem; +}; + +const handleAddGraphEdge = (data, metaData, graphData, styleConfigData, graph) => { + const addItem = data.edges; + const {id} = addItem[0]; + const {nodes, edges} = graphData; + const newStyledData = formatToGraphData(data, metaData, styleConfigData); + const processedEdges = processParallelEdges([...edges, newStyledData.edges[0]]); + const styledItem = _.find(processedEdges, {id: id}); + graph.addItem('edge', styledItem, false); + const newGraphData = {edges: processedEdges, nodes}; + clearSelectedStates(graph); + const instance = graph.findById(id); + graph.setItemState(instance, 'addActive', true); + return newGraphData; +}; + +const handleExpandGraph = (newData, metaData, styleConfigData, options, algorithmName, graphInstance) => { + const newRawGraphData = formatToGraphData(newData, metaData, styleConfigData); + const newGraphData = formatToOptionedGraphData(newRawGraphData, options, algorithmName); + const saveData = graphInstance.save(); + const nodes = []; + const edges = []; + const saveNodeIds = saveData.nodes.map(item => { + const {id, icon, label, labelCfg, itemType, metaConfig, properties, size, style, comboId} = item; + nodes.push({id, icon, label, labelCfg, + itemType, metaConfig, properties, size, style, legendType: itemType, comboId}); + return id; + }); + const saveEdgesIds = saveData.edges.map(item => { + const {id, label, labelCfg, itemType, loopCfg, metaConfig, properties, + source, stateStyles, style, target, type} = item; + edges.push({id, label, labelCfg, itemType, loopCfg, metaConfig, properties, + source, stateStyles, style, target, type, legendType: itemType}); + return id; + }); + newGraphData.nodes.map(item => { + if (!saveNodeIds.includes(saveData)) { + nodes.push(item); + } + }); + newGraphData.edges.map(item => { + if (!saveEdgesIds.includes(saveData)) { + edges.push(item); + } + }); + graphInstance.changeData({nodes, edges, combos: saveData?.combos}, true); + graphInstance.refresh(); + return {nodes, edges, combos: saveData?.combos}; +}; + + +export { + fetchExpandInfo, + handleAddGraphNode, + handleAddGraphEdge, + handleExpandGraph, +}; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.js new file mode 100644 index 000000000..c54de7103 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.js @@ -0,0 +1,297 @@ +/** + * @file 图算法 Home + * @author + */ + +import React, {useCallback, useState, useEffect, useContext} from 'react'; +import AlgorithmFormHome from '../algorithmsForm/Home'; +import GraphResult from '../GraphResult/Home'; +import LogsDetail from '../LogsDetail/Home'; +import GraphAnalysisContext from '../../Context'; +import {GRAPH_STATUS, PANEL_TYPE, ALGORITHM_MODE, GRAPH_RENDER_MODE} from '../../../utils/constants'; +import * as api from '../../../api'; +import _ from 'lodash'; +import c from './index.module.scss'; + +const {STANDBY} = GRAPH_STATUS; +const {CLOSED} = PANEL_TYPE; +const {OLTP, OLAP} = ALGORITHM_MODE; +const {CANVAS2D} = GRAPH_RENDER_MODE; +const defaultPageParams = {page: 1, pageSize: 10}; +const TYPE = {GREMLIN: '0', ALGORITHM: '1', CYPHER: '2'}; + +const AlgorithmHome = () => { + const {graphSpace, graph} = useContext(GraphAnalysisContext); + + const [metaData, setMetaData] = useState(); + const [propertyKeysRecords, setPropertyKeysRecords] = useState(); + const [graphNums, setGraphNums] = useState({vertexCount: -1, edgeCount: -1}); + const [algorithmMode, setAlgorithmMode] = useState(); + const [queryStatus, setQueryStatus] = useState(STANDBY); + const [queryMessage, setQueryMessage] = useState(); + const [queryResult, setQueryResult] = useState(); + const [asyncTaskResult, setAsyncTaskResult] = useState(); + const [graphOptions, setGraphOptions] = useState(); + const [panelType, setPanelType] = useState(CLOSED); + const [algorithmOnCanvas, setAlgorithmOnCanvas] = useState(); + const [pageExecute, setExecutePage] = useState(defaultPageParams.page); + const [pageFavorite, setFavoritePage] = useState(defaultPageParams.page); + const [pageSize, setPageSize] = useState(defaultPageParams.pageSize); + const [isLoading, setLoading] = useState(false); + const [favorSearch, setFavorSearch] = useState(); + const [sortMode, setSortMode] = useState(); + const [favoriteQueriesData, setFavoriteQueriesData] = useState({}); + const [executionLogsData, setExecutionLogsData] = useState({}); + const [graphRenderMode, setGraphRenderMode] = useState(CANVAS2D); + + const initQueryResult = useCallback( + () => { + setQueryStatus(STANDBY); + setQueryMessage(); + setQueryResult({}); + setPanelType(CLOSED); + }, + [] + ); + + const getMetaData = useCallback( + async () => { + let edgeMeta; + let vertexMeta; + const edgeMetaResponse = await api.manage.getMetaEdgeList(graphSpace, graph, {page_size: -1}); + if (edgeMetaResponse.status === 200) { + edgeMeta = edgeMetaResponse.data.records; + } + const vertexMetaResponse = await api.manage.getMetaVertexList(graphSpace, graph, {page_size: -1}); + if (vertexMetaResponse.status === 200) { + vertexMeta = vertexMetaResponse.data.records; + } + setMetaData({edgeMeta, vertexMeta}); + }, + [graph, graphSpace] + ); + + const getPropertykeys = useCallback( + async () => { + const response = await api.manage.getMetaPropertyList(graphSpace, graph, {page_size: -1}); + if (response.status === 200) { + setPropertyKeysRecords(response?.data?.records ?? []); + } + }, + [graph, graphSpace] + ); + + const getGraphNumsInfo = useCallback( + async () => { + const response = await api.analysis.getGraphData(graphSpace, graph); + const {status, data} = response || {}; + if (status === 200) { + const {vertexcount, edgecount} = data || {}; + setGraphNums({vertexCount: vertexcount, edgeCount: edgecount}); + } + }, + [graph, graphSpace] + ); + + const getFavoriteQueriesList = useCallback( + async () => { + const params = { + 'page_size': pageSize, + 'page_no': pageFavorite, + 'content': favorSearch, + 'time_order': sortMode, + 'type': 'ALGORITHM', + }; + setLoading(true); + const response = await api.analysis.fetchFavoriteQueries(graphSpace, graph, params); + setLoading(false); + const {status, message, data} = response || {}; + if (status !== 200 && !message) { + message.error('获取收藏记录失败'); + } + else { + setFavoriteQueriesData({records: data.records, total: data.total}); + } + }, + [favorSearch, graph, graphSpace, pageFavorite, pageSize, sortMode] + ); + + const getExecutionLogsList = useCallback( + async () => { + const params = {'page_size': pageSize, 'page_no': pageExecute, 'type': TYPE.ALGORITHM}; + setLoading(true); + const response = await api.analysis.getExecutionLogs(graphSpace, graph, params); + setLoading(false); + const {status, message, data} = response || {}; + if (status !== 200 && !message) { + message.error('获取图算法的执行记录失败'); + } + else { + setExecutionLogsData({records: data.records, total: data.total}); + } + }, + [graph, graphSpace, pageExecute, pageSize] + ); + + const onFavoriteRefresh = useCallback(() => { + getFavoriteQueriesList(); + }, [getFavoriteQueriesList]); + + useEffect( + () => { + getExecutionLogsList(); + getFavoriteQueriesList(); + }, + [getExecutionLogsList, getFavoriteQueriesList] + ); + + useEffect( + () => { + if (pageFavorite > 1 && _.isEmpty(setFavoriteQueriesData.records)) { + setFavoritePage(pageFavorite - 1); + } + }, + [favoriteQueriesData, pageFavorite, pageSize] + ); + + const resetGraphInfo = useCallback( + () => { + getMetaData(); + getPropertykeys(); + getGraphNumsInfo(); + }, + [getGraphNumsInfo, getMetaData, getPropertykeys] + ); + + const onResetPage = useCallback( + () => { + setExecutePage(defaultPageParams.page); + setFavoritePage(defaultPageParams.page); + }, [] + ); + + useEffect(() => { + if (graphSpace && graph) { + resetGraphInfo(); + } + initQueryResult(); + onResetPage(); + }, [graph, graphSpace, initQueryResult, onResetPage, resetGraphInfo]); + + + const handleUpdateCurrentAlgorithm = useCallback(value => { + setAlgorithmOnCanvas(value); + }, []); + + const handleOltpFormSubmit = useCallback( + (status, data, message, options) => { + setPanelType(CLOSED); + setGraphRenderMode(CANVAS2D); + setAlgorithmMode(OLTP); + setAsyncTaskResult(); + setQueryStatus(status); + setQueryResult(data); + setQueryMessage(message); + options && setGraphOptions(options); + getExecutionLogsList(); + }, + [getExecutionLogsList] + ); + + const handleOlapFormSubmit = useCallback( + (status, data, message) => { + setPanelType(CLOSED); + setAlgorithmMode(OLAP); + setQueryResult({}); + setQueryStatus(status); + setAsyncTaskResult(data); + setQueryMessage(message || ''); + }, + [] + ); + + const resetGraphStatus = useCallback( + (status, message, data) => { + setPanelType(CLOSED); + setAlgorithmMode(OLTP); + setAlgorithmOnCanvas(); + setGraphOptions(); + status && setQueryStatus(status); + message && setQueryMessage(message); + data && setQueryResult(data); + }, []); + + const updatePanelType = useCallback(type => { + setPanelType(type); + }, []); + + const onExecutePageChange = useCallback((page, pageSize) => { + setExecutePage(page); + setPageSize(pageSize); + }, []); + + const onFavoritePageChange = useCallback((page, pageSize) => { + setFavoritePage(page); + setPageSize(pageSize); + }, []); + + const onChangeFavorSearch = useCallback(values => { + setFavorSearch(values); + }, []); + + const onSortChange = useCallback((pagination, filters, sort) => { + setSortMode(sort.order === 'ascend' ? 'asc' : 'desc'); + }, []); + + const onGraphRenderModeChange = useCallback( + value => { + setGraphRenderMode(value); + }, + [] + ); + + return ( + <> +
+ + +
+ + + ); +}; + +export default AlgorithmHome; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.module.scss new file mode 100644 index 000000000..b1fb9c8cc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/Home/index.module.scss @@ -0,0 +1,6 @@ +.algorithmContent { + display: flex; + flex-direction: row; + margin-top: 10px; + height: calc(100vh - 1px); +} \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.js new file mode 100644 index 000000000..74cd22a1f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.js @@ -0,0 +1,167 @@ +/** + * @file 图算法 执行记录 + * @author + */ + +import React, {useState, useCallback} from 'react'; +import {Table, Space, Tag, Input, Popconfirm} from 'antd'; +import ExecutionContent from '../../../../components/ExecutionContent'; +import c from './index.module.scss'; + +const ExecuteLog = props => { + const { + isLoading, + pageExecute, + pageSize, + onExecutePageChange, + onAddCollection, + executionLogsDataRecords, + executionLogsDataTotal, + } = props; + + const [favoriteName, setFavoriteName] = useState(); + const [disabledFavorite, setDisabledFavorite] = useState(true); + + const onFavoraiteName = useCallback( + e => { + setFavoriteName(e.target.value); + e.target.value ? setDisabledFavorite(false) : setDisabledFavorite(true); + }, []); + + const onFavoriteCard = useCallback(() => { + setFavoriteName(''); + setDisabledFavorite(true); + }, []); + + const updateAddCollection = useCallback( + content => { + onAddCollection(content, favoriteName); + }, + [favoriteName, onAddCollection] + ); + + const onAddFavorite = useCallback( + content => { + updateAddCollection(content); + }, [updateAddCollection]); + + const favoriteContent = rowData => ( + <> +
收藏语句
+ + + ); + + const typeDesc = { + GREMLIN: 'GREMLIN查询', + GREMLIN_ASYNC: 'GREMLIN任务', + ALGORITHM: '算法任务', + CYPHER: 'CYPHER查询', + }; + + const statusDesc = { + SUCCESS: '成功', + ASYNC_TASK_SUCCESS: '提交成功', + ASYNC_TASK_RUNNING: '提交运行中', + RUNNING: '运行中', + FAILED: '失败', + ASYNC_TASK_FAILED: '提交失败', + }; + + const statusColor = { + SUCCESS: 'green', + ASYNC_TASK_SUCCESS: 'green', + RUNNING: 'geekblue', + FAILED: 'volcano', + ASYNC_TASK_FAILED: 'volcano', + }; + + const executeLogColumns = [ + { + title: '时间', + dataIndex: 'create_time', + width: '20%', + }, + { + title: '执行类型', + dataIndex: 'type', + width: '15%', + render: type => typeDesc[type] || type, + }, + { + title: '执行内容', + dataIndex: 'content', + width: '30%', + render: (text, rowData, index) => { + return text.split('\n')[1] ? + :
{text}
; + }, + }, + { + title: '状态', + dataIndex: 'status', + width: '10%', + render: status => { + return ( + + + {statusDesc[status] || status} + + + ); + }, + }, + { + title: '耗时', + dataIndex: 'duration', + width: '10%', + }, + { + title: '操作', + dataIndex: 'manipulation', + width: '15%', + render: (text, rowData, index) => { + return ( +
+ onAddFavorite(rowData.content)} + okButtonProps={{disabled: disabledFavorite}} + okText="收藏" + cancelText="取消" + > + 收藏 + +
+ ); + }, + }, + ]; + + return ( + item.id} + pagination={{ + onChange: onExecutePageChange, + position: ['bottomRight'], + total: executionLogsDataTotal, + showSizeChanger: executionLogsDataTotal > 10, + current: pageExecute, + pageSize: pageSize, + }} + loading={isLoading} + /> + ); +}; + +export default ExecuteLog; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.module.scss new file mode 100644 index 000000000..37f5820a8 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/ExecuteLog/index.module.scss @@ -0,0 +1,6 @@ + +.breakWord { + cursor: pointer; + word-wrap: break-word; + word-break: break-word; +} diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.js new file mode 100644 index 000000000..0f3744a8c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.js @@ -0,0 +1,208 @@ +/** + * @file 图算法 收藏 + * @author + */ + +import React, {useState, useCallback} from 'react'; +import Highlighter from 'react-highlight-words'; +import {Table, Input, Popconfirm, Modal} from 'antd'; +import ExecutionContent from '../../../../components/ExecutionContent'; +import c from './index.module.scss'; + +const Favorite = props => { + const { + isLoading, + pageFavorite, + pageSize, + onFavoritePageChange, + onChangeFavorSearch, + onSortChange, + onEditCollection, + onDel, + favoriteQueriesDataRecords, + favoriteQueriesDataTotal, + } = props; + + const [favoriteName, setFavoriteName] = useState(); + const [searchCache, setSearchCache] = useState(''); + const [search, setSearch] = useState(''); + const [isDisabledName, setDisabledName] = useState(false); + + const changeCollection = useCallback( + rowData => { + onEditCollection(rowData, favoriteName); + }, + [favoriteName, onEditCollection] + ); + + const onSaveEditFavorite = useCallback( + rowData => { + setFavoriteName(''); + changeCollection(rowData); + }, [changeCollection]); + + const onEditFavorite = useCallback( + rowData => { + const {name} = rowData; + setFavoriteName(name); + }, []); + + const onChangeFavoraiteName = useCallback( + e => { + setFavoriteName(e.target.value); + e.target.value ? setDisabledName(false) : setDisabledName(true); + }, []); + + const onConfirm = id => { + Modal.confirm({ + title: '确认删除', + content: '是否确认删除该条收藏语句?', + okText: '确定', + cancelText: '取消', + onOk: () => onDel(id), + }); + }; + + const editFavoriteForm = ( + <> +
修改名称
+ + + ); + + const queryFavoriteColumns = [ + { + title: '时间', + dataIndex: 'create_time', + width: '25%', + sorter: true, + }, + { + title: '名称', + dataIndex: 'name', + width: '15%', + sorter: true, + render: text => { + return ( + + ); + }, + }, + { + title: '收藏语句', + dataIndex: 'content', + width: '40%', + render(text, rowData) { + return text.split('\n')[1] ? ( + + ) : ( +
+ +
+ ); + }, + }, + { + title: '操作', + dataIndex: 'manipulation', + width: '20%', + render(_, rowData, index) { + return ( +
+ onSaveEditFavorite(rowData)} + okText="保存" + okButtonProps={{disabled: isDisabledName}} + cancelText="取消" + > + onEditFavorite(rowData)} + > + 修改名称 + + + onConfirm(rowData.id)}>删除 +
+ ); + }, + }, + ]; + + const onSearchChange = useCallback( + e => { + const value = e.target.value; + setSearchCache(value); + if (!value) { + setSearch(value); + } + onChangeFavorSearch(value); + }, + [onChangeFavorSearch] + ); + + const onSearch = useCallback( + () => { + if (searchCache !== search) { + setSearch(searchCache); + } + onChangeFavorSearch(searchCache); + }, + [search, searchCache, onChangeFavorSearch] + ); + + return ( + <> +
+ +
+
item.id} + onChange={onSortChange} + pagination={{ + onChange: onFavoritePageChange, + position: ['bottomRight'], + total: favoriteQueriesDataTotal, + showSizeChanger: favoriteQueriesDataTotal > 10, + current: pageFavorite, + pageSize: pageSize, + }} + loading={isLoading} + /> + + ); +}; + +export default Favorite; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.module.scss new file mode 100644 index 000000000..bbe3d71e1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Favorite/index.module.scss @@ -0,0 +1,22 @@ + +.searchFavorite { + float: right; + margin:16px 20px; +} + +.breakWord { + cursor: pointer; + word-wrap: break-word; + word-break: break-word; +} + +.highlight { + color: #1890ff; + background-color: #fff; +} + +.searchBar { + margin-bottom: 16px; + text-align: right; +} + diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.js new file mode 100644 index 000000000..8904924a3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.js @@ -0,0 +1,159 @@ +/** + * @file 图算法表格 Home + * @author + */ + +import React, {useCallback, useContext} from 'react'; +import GraphAnalysisContext from '../../../Context'; +import {Tabs, message} from 'antd'; +import ExecuteLog from '../ExecuteLog'; +import Favorite from '../Favorite'; +import * as api from '../../../../api/index'; +import c from './index.module.scss'; + +const LogsDetail = props => { + const { + isLoading, + pageExecute, + pageFavorite, + pageSize, + onExecutePageChange, + onFavoritePageChange, + onChangeFavorSearch, + onSortChange, + onRefresh, + favoriteQueriesData, + executionLogsData, + } = props; + + const {graphSpace: currentGraphSpace, graph: currentGraph} = useContext(GraphAnalysisContext); + const {records: favoriteQueriesDataRecords, total: favoriteQueriesDataTotal} = favoriteQueriesData; + const {records: executionLogsDataRecords, total: executionLogsDataTotal} = executionLogsData; + + const addItemByName = useCallback( + (content, favoriteName) => { + const params = { + 'content': content, + 'name': favoriteName, + 'type': 'ALGORITHM', + }; + api.analysis.addFavoriate(currentGraphSpace, currentGraph, params) + .then(res => { + const {status, message: errMsg} = res; + if (status === 200) { + message.success('收藏成功'); + onRefresh(); + } + else { + !errMsg && message.error('收藏失败'); + } + }).catch(err => { + console.error(err); + }); + }, [currentGraph, currentGraphSpace, onRefresh]); + + const onAddHandler = useCallback( + (content, favoriteName) => { + addItemByName(content, favoriteName); + }, + [addItemByName] + ); + + const delItemByRowId = useCallback( + favoriteId => { + api.analysis.deleteQueryCollection(currentGraphSpace, currentGraph, favoriteId) + .then(res => { + const {status, message: errMsg} = res; + if (status === 200) { + message.success('删除成功'); + onRefresh(); + } + else { + !errMsg && message.error('删除失败'); + } + }).catch(err => { + console.error(err); + }); + }, [currentGraph, currentGraphSpace, onRefresh]); + + const onDelHandler = useCallback( + id => { + delItemByRowId(id); + }, + [delItemByRowId] + ); + + const editItemByRow = useCallback( + (rowData, favoriteName) => { + const params = { + id: rowData.id, + content: rowData.content, + name: favoriteName, + 'type': 'ALGORITHM', + }; + api.analysis.editQueryCollection(currentGraphSpace, currentGraph, params) + .then(res => { + const {status, message: errMsg} = res; + if (status === 200) { + message.success('修改成功'); + onRefresh(); + } + else { + !errMsg && message.error('修改失败'); + } + }).catch(err => { + console.error(err); + }); + }, [currentGraph, currentGraphSpace, onRefresh]); + + const onEditHandler = useCallback( + (rowData, favoriteName) => { + editItemByRow(rowData, favoriteName); + }, + [editItemByRow] + ); + + const tabItems = [ + { + label: '执行记录', + key: 'excutes', + children: ( + + ), + }, + { + label: '收藏', + key: 'favorites', + children: ( + + ), + }, + ]; + + return ( +
+ +
+ ); +}; + +export default LogsDetail; \ No newline at end of file diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.module.scss new file mode 100644 index 000000000..23e6fe8b0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/LogsDetail/Home/index.module.scss @@ -0,0 +1,28 @@ +.footerTabs { + background-color: #fff; + margin-top: 10px; + + :global { + .ant-table-wrapper { + word-break: break-all; + } + + .ant-tabs-nav { + background-color: #f0f2f5; + } + + .ant-tabs-card .ant-tabs-nav .ant-tabs-tab { + background: #f0f2f5; + border: 0; + } + + .ant-tabs-card .ant-tabs-nav .ant-tabs-tab-active { + background: #fff; + } + + .ant-tabs-content-holder{ + padding: 16px; + } + } +} + diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.js new file mode 100644 index 000000000..1001b6a09 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/AlgorithmNameHeader/index.js @@ -0,0 +1,136 @@ +/** + * @file 图分析组件 算法标题 + * @author + */ + +import React from 'react'; +import Highlighter from 'react-highlight-words'; +import {Typography, Tooltip, Button} from 'antd'; +import c from './index.module.scss'; +import classnames from 'classnames'; + +const {Text} = Typography; + +import { + QuestionCircleOutlined, + CaretRightOutlined, +} from '@ant-design/icons'; + +const AlgorithmNameHeader = props => { + const { + icon, + name, + searchValue, + description, + isRunning, + isDisabled, + handleRunning, + highlightName, + } = props; + + const iconClassName = classnames( + c.panelHeaderIcon, + {[c.panelHeaderIconHighlight]: highlightName} + + ); + + const renderAlgorithmName = name => { + let res; + if (name.includes(searchValue)) { + res = ( + + + + ); + } + else { + res = ( + + {name} + + ); + } + if (highlightName) { + res = ( + + + + ); + } + return res; + }; + + const renderRunningButton = () => { + if (!isDisabled) { + return ( + 运行} + color={'#fff'} + > + - - ) : ( - - - - )} - - - )} - - ); -}); - -export const AlgorithmQuery: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const { algorithmAnalyzerStore } = dataAnalyzeStore; - const { t } = useTranslation(); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateShortestPathParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.shortestPathAlgorithmParams.source !== '' && - algorithmAnalyzerStore.shortestPathAlgorithmParams.target !== '' && - algorithmAnalyzerStore.shortestPathAlgorithmParams.max_depth !== ''; - - const handleChangeAlgorithm = (algorithm: string) => () => { - algorithmAnalyzerStore.changeCurrentAlgorithm(algorithm); - }; - - const handleExpandClick = () => { - algorithmAnalyzerStore.switchCollapse(!algorithmAnalyzerStore.isCollapse); - }; - - const renderForms = () => { - switch (algorithmAnalyzerStore.currentAlgorithm) { - case Algorithm.loopDetection: - return ; - case Algorithm.focusDetection: - return ; - case Algorithm.shortestPath: - return ; - case Algorithm.shortestPathAll: - return ; - case Algorithm.allPath: - return ; - case Algorithm.modelSimilarity: - return ; - case Algorithm.neighborRank: - return ; - case Algorithm.kStepNeighbor: - return ; - case Algorithm.kHop: - return ; - case Algorithm.customPath: - return ; - case Algorithm.radiographicInspection: - return ; - case Algorithm.sameNeighbor: - return ; - case Algorithm.weightedShortestPath: - return ; - case Algorithm.singleSourceWeightedShortestPath: - return ; - case Algorithm.jaccard: - return ; - case Algorithm.personalRankRecommendation: - return ; - } - }; - - useEffect(() => { - return () => { - algorithmAnalyzerStore.dispose(); - }; - }, []); - - return ( -
-
- {algorithmAnalyzerStore.currentAlgorithm === '' ? ( - {t('data-analyze.algorithm-list.title')} - ) : ( -
- go-back { - algorithmAnalyzerStore.switchCollapse(false); - algorithmAnalyzerStore.changeCurrentAlgorithm(''); - }} - /> - - {t( - `data-analyze.algorithm-list.${algorithmAnalyzerStore.currentAlgorithm}` - )} - -
- )} -
- expand-collpase -
- {algorithmAnalyzerStore.isCollapse ? null : algorithmAnalyzerStore.currentAlgorithm === - '' ? ( - <> -
- {[ - Algorithm.loopDetection, - Algorithm.focusDetection, - Algorithm.shortestPath, - Algorithm.shortestPathAll, - Algorithm.allPath - ].map((algorithm) => ( - - {t(`data-analyze.algorithm-list.${algorithm}`)} - - ))} -
-
- {[ - Algorithm.modelSimilarity, - Algorithm.neighborRank, - Algorithm.kStepNeighbor, - Algorithm.kHop, - Algorithm.customPath - ].map((algorithm) => ( - - {t(`data-analyze.algorithm-list.${algorithm}`)} - - ))} -
-
- {[ - Algorithm.radiographicInspection, - Algorithm.sameNeighbor, - Algorithm.weightedShortestPath, - Algorithm.singleSourceWeightedShortestPath, - Algorithm.jaccard - ].map((algorithm) => ( - - {t(`data-analyze.algorithm-list.${algorithm}`)} - - ))} -
-
- {[Algorithm.personalRankRecommendation].map((algorithm) => ( - - {t(`data-analyze.algorithm-list.${algorithm}`)} - - ))} -
- - ) : ( - renderForms() - )} -
- ); -}); - -export default QueryAndAlgorithmLibrary; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/AllPath.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/AllPath.tsx deleted file mode 100644 index 8695bb8cf..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/AllPath.tsx +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { GraphManagementStoreContext } from '../../../../stores'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; - -const AllPath = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateAllPathParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.allPathParams.source !== '' && - algorithmAnalyzerStore.allPathParams.target !== '' && - algorithmAnalyzerStore.allPathParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.all-path.options.source')} - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('source'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.all-path.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.all-path.options.target')} - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'target', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('target'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('target'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.all-path.options.max_degree')} - - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('max_degree'); - } - }} - /> -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.all-path.options.direction')} - -
- ) => { - algorithmAnalyzerStore.mutateAllPathParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t('data-analyze.algorithm-forms.all-path.options.capacity')} - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('capacity'); - } - }} - /> -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.all-path.options.max_depth')} - - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.all-path.options.limit')} - -
- { - algorithmAnalyzerStore.mutateAllPathParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateAllPathParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateAllPathParams('limit'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default AllPath; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx deleted file mode 100644 index e57b2ed59..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx +++ /dev/null @@ -1,1115 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { - size, - flatten, - flattenDeep, - uniq, - isEmpty, - cloneDeep, - fromPairs -} from 'lodash-es'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; - -const CustomPath = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { t } = useTranslation(); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 390 - ); - - const formWidthInStep = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 310, - 380 - ); - - const formSmallWidthInStep = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 150, - 160 - ); - - const sourceType = algorithmAnalyzerStore.customPathParams.method; - - const allowAddNewProperty = !flatten( - algorithmAnalyzerStore.customPathParams.vertexProperty - ).some((value) => value === ''); - - const addNewPropertyClassName = - allowAddNewProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' - ? 'query-tab-content-internal-expand-manipulation-enable' - : 'query-tab-content-internal-expand-manipulation-disabled'; - - const allowAddNewRuleProperty = !flattenDeep( - algorithmAnalyzerStore.customPathParams.steps.map( - ({ properties }) => properties - ) - ).some((value) => value === ''); - - const addNewRulePropertyClassName = - allowAddNewRuleProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' - ? 'query-tab-content-internal-expand-manipulation-enable' - : 'query-tab-content-internal-expand-manipulation-disabled'; - - const isValidSourceId = - algorithmAnalyzerStore.customPathParams.method === 'id' && - algorithmAnalyzerStore.customPathParams.source !== ''; - - const isValidProperty = - algorithmAnalyzerStore.customPathParams.method === 'property' && - !( - isEmpty(algorithmAnalyzerStore.customPathParams.vertexType) && - flatten( - algorithmAnalyzerStore.customPathParams.vertexProperty - ).every((value) => isEmpty(value)) - ) && - algorithmAnalyzerStore.customPathParams.vertexProperty.every( - ([key, value]) => (!isEmpty(key) ? !isEmpty(value) : true) - ); - - const isValidateRuleProperties = algorithmAnalyzerStore.customPathParams.steps.every( - ({ properties }) => { - if (size(properties) === 1) { - return ( - (isEmpty(properties[0][0]) && isEmpty(properties[0][1])) || - (!isEmpty(properties[0][0]) && !isEmpty(properties[0][1])) - ); - } else { - return properties.every(([, value]) => !isEmpty(value)); - } - } - ); - - const isValidRuleWeight = algorithmAnalyzerStore.customPathParams.steps.every( - ({ weight_by, default_weight }) => - algorithmAnalyzerStore.customPathParams.sort_by === 'NONE' || - (weight_by === '__CUSTOM_WEIGHT__' && default_weight !== '') || - (weight_by !== '__CUSTOM_WEIGHT__' && !isEmpty(weight_by)) - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateCustomPathParmasErrorMessage - ).every((value) => Array.isArray(value) || value === '') && - algorithmAnalyzerStore.validateCustomPathParmasErrorMessage.steps.every( - (step) => Object.values(step).every((value) => value === '') - ) && - (algorithmAnalyzerStore.customPathParams.method === 'id' - ? algorithmAnalyzerStore.customPathParams.source !== '' - : true) && - (isValidSourceId || isValidProperty) && - isValidateRuleProperties && - isValidRuleWeight; - - const isValidAddRule = algorithmAnalyzerStore.validateCustomPathParmasErrorMessage.steps.every( - (step) => Object.values(step).every((value) => value === '') - ); - - return ( -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.custom-path.options.method')} - -
- ) => { - algorithmAnalyzerStore.switchCustomPathMethod(e.target.value); - }} - > - - {t( - 'data-analyze.algorithm-forms.custom-path.radio-value.specific-id' - )} - - - {t( - 'data-analyze.algorithm-forms.custom-path.radio-value.filtered-type-property' - )} - - -
-
- - {sourceType === 'id' && ( -
-
-
- * - - {t('data-analyze.algorithm-forms.custom-path.options.source')} - -
- - { - algorithmAnalyzerStore.mutateCustomPathParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateCustomPathParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathParams('source'); - } - }} - /> -
-
- )} - - {sourceType !== 'id' && ( - <> -
-
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.vertex-type' - )} - -
- -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.vertex-property' - )} - -
- -
- {algorithmAnalyzerStore.customPathParams.vertexProperty.map( - ([key, value], propertyIndex) => { - const currentVertexType = dataAnalyzeStore.vertexTypes.find( - ({ name }) => - name === - algorithmAnalyzerStore.customPathParams.vertexType - ); - - return ( -
- -
- { - const vertexProperty = cloneDeep( - algorithmAnalyzerStore.customPathParams - .vertexProperty - ); - - vertexProperty[propertyIndex][1] = e.value; - - algorithmAnalyzerStore.mutateCustomPathParams( - 'vertexProperty', - vertexProperty - ); - - algorithmAnalyzerStore.validateCustomPathParams( - 'vertexProperty' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathParams( - 'vertexProperty' - ); - } - }} - /> -
- {size( - algorithmAnalyzerStore.customPathParams - .vertexProperty - ) > 1 && ( -
{ - algorithmAnalyzerStore.removeCustomPathVertexProperty( - propertyIndex - ); - }} - > - {t( - 'data-analyze.algorithm-forms.custom-path.delete' - )} -
- )} -
- ); - } - )} -
-
-
- {algorithmAnalyzerStore.customPathParams.vertexType === '' && - !allowAddNewProperty && - size(algorithmAnalyzerStore.customPathParams.vertexProperty) === - 1 ? ( -
- - {t( - 'data-analyze.algorithm-forms.custom-path.hint.vertex_type_or_property' - )} - -
- ) : ( -
- { - if ( - allowAddNewProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' - ) { - algorithmAnalyzerStore.addCustomPathVertexProperty(); - } - }} - > - {t('data-analyze.algorithm-forms.custom-path.add')} - -
- )} - - )} - -
-
-
- * - - {t('data-analyze.algorithm-forms.custom-path.options.sort_by')} - -
- ) => { - algorithmAnalyzerStore.mutateCustomPathParams( - 'sort_by', - e.target.value - ); - - if (e.target.value === 'NONE') { - algorithmAnalyzerStore.customPathParams.steps.forEach( - (_, ruleIndex) => { - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'weight_by', - '', - ruleIndex - ); - - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'default_weight', - '', - ruleIndex - ); - } - ); - } - }} - > - - {t('data-analyze.algorithm-forms.custom-path.radio-value.none')} - - - {t( - 'data-analyze.algorithm-forms.custom-path.radio-value.ascend' - )} - - - {t( - 'data-analyze.algorithm-forms.custom-path.radio-value.descend' - )} - - -
-
-
-
-
- - {t('data-analyze.algorithm-forms.custom-path.options.capacity')} - -
- { - algorithmAnalyzerStore.mutateCustomPathParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateCustomPathParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathParams('capacity'); - } - }} - /> -
-
-
-
-
- - {t('data-analyze.algorithm-forms.custom-path.options.limit')} - -
- { - algorithmAnalyzerStore.mutateCustomPathParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateCustomPathParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathParams('limit'); - } - }} - /> -
-
-
- - -
-
- -
- {algorithmAnalyzerStore.customPathParams.steps.map( - ( - { - uuid, - direction, - labels, - degree, - sample, - properties, - weight_by, - default_weight - }, - ruleIndex - ) => { - return ( -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.custom-path.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'direction', - e.target.value, - ruleIndex - ); - }} - > - both - out - in - - {size(algorithmAnalyzerStore.customPathParams.steps) > 1 && ( -
{ - algorithmAnalyzerStore.removeCustomPathRule(ruleIndex); - }} - > - 删除 -
- )} -
-
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.labels' - )} - -
- -
- -
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.properties' - )} - -
-
- <> - {properties.map(([key, value], propertyIndex) => { - return ( -
-
- -
- -
- { - const clonedRuleProperties = cloneDeep( - properties - ); - - clonedRuleProperties[propertyIndex][1] = - e.value; - - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'properties', - clonedRuleProperties, - ruleIndex - ); - }} - /> -
- - {size(properties) > 1 && ( -
{ - algorithmAnalyzerStore.removeCustomPathRuleProperty( - ruleIndex, - propertyIndex - ); - }} - > - {t( - 'data-analyze.algorithm-forms.custom-path.delete' - )} -
- )} -
- ); - })} - -
- { - if ( - allowAddNewRuleProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== - 'pending' - ) { - algorithmAnalyzerStore.addCustomPathRuleProperty( - ruleIndex - ); - } - }} - > - {t('data-analyze.algorithm-forms.custom-path.add')} - -
- -
-
- - {algorithmAnalyzerStore.customPathParams.sort_by !== 'NONE' && ( -
-
- * - - {t( - 'data-analyze.algorithm-forms.custom-path.options.weight_by' - )} - -
- -
- )} - {algorithmAnalyzerStore.customPathParams.steps[ruleIndex] - .weight_by === '__CUSTOM_WEIGHT__' && ( -
-
- -
- { - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'default_weight', - e.value as string, - ruleIndex - ); - - algorithmAnalyzerStore.validateCustomPathRules( - 'default_weight', - ruleIndex - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathRules( - 'default_weight', - ruleIndex - ); - } - }} - /> -
- )} -
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.degree' - )} - -
- { - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'degree', - e.value as string, - ruleIndex - ); - - algorithmAnalyzerStore.validateCustomPathRules( - 'degree', - ruleIndex - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathRules( - 'degree', - ruleIndex - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.custom-path.options.sample' - )} - -
- { - algorithmAnalyzerStore.mutateCustomPathRuleParams( - 'sample', - e.value as string, - ruleIndex - ); - - algorithmAnalyzerStore.validateCustomPathRules( - 'sample', - ruleIndex - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateCustomPathRules( - 'sample', - ruleIndex - ); - } - }} - /> -
-
- ); - } - )} -
- { - if (isValidAddRule) { - algorithmAnalyzerStore.addCustomPathRule(); - } - }} - > - {t('data-analyze.algorithm-forms.custom-path.add-new-rule')} - -
-
-
- ); -}); - -export default CustomPath; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx deleted file mode 100644 index 58a37782c..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx +++ /dev/null @@ -1,423 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, createContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { GraphManagementStoreContext } from '../../../../stores'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -const FocusDetection = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateFocusDetectionParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.focusDetectionParams.source !== '' && - algorithmAnalyzerStore.focusDetectionParams.target !== '' && - algorithmAnalyzerStore.focusDetectionParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.focus-detection.options.source')} - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams('source'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.focus-detection.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.focus-detection.options.target')} - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'target', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('target'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams('target'); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.focus-detection.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.focus-detection.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.focus-detection.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams('capacity'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.focus-detection.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams( - 'max_depth' - ); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.focus-detection.options.limit')} - -
- { - algorithmAnalyzerStore.mutateFocusDetectionParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateFocusDetectionParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateFocusDetectionParams('limit'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default FocusDetection; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx deleted file mode 100644 index 8dcb148f4..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx +++ /dev/null @@ -1,278 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const Jaccard = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { t } = useTranslation(); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateJaccardParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.jaccardParams.vertex !== '' && - algorithmAnalyzerStore.jaccardParams.other !== ''; - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.jaccard.options.vertex')} - -
- { - algorithmAnalyzerStore.mutateJaccardParams( - 'vertex', - e.value as string - ); - - algorithmAnalyzerStore.validateJaccardParams('vertex'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateJaccardParams('vertex'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.jaccard.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.jaccard.options.other')} - -
- { - algorithmAnalyzerStore.mutateJaccardParams( - 'other', - e.value as string - ); - - algorithmAnalyzerStore.validateJaccardParams('other'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateJaccardParams('other'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.jaccard.options.max_degree')} - - -
- { - algorithmAnalyzerStore.mutateJaccardParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateJaccardParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateJaccardParams('max_degree'); - } - }} - /> -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.jaccard.options.direction')} - -
- ) => { - algorithmAnalyzerStore.mutateJaccardParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - -
-
- ); -}); - -export default Jaccard; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KHop.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KHop.tsx deleted file mode 100644 index bd12e6f83..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KHop.tsx +++ /dev/null @@ -1,408 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; -import { styles } from '../QueryAndAlgorithmLibrary'; - -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const KHop = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values(algorithmAnalyzerStore.validateKHopParamsErrorMessage).every( - (value) => value === '' - ) && - algorithmAnalyzerStore.kHopParams.source !== '' && - algorithmAnalyzerStore.kHopParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.k-hop.options.source')} - -
- { - algorithmAnalyzerStore.mutateKHopParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateKHopParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKHopParams('source'); - } - }} - /> -
-
-
- {t('data-analyze.algorithm-forms.k-hop.options.label')} -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.k-hop.options.direction')} - -
- ) => { - algorithmAnalyzerStore.mutateKHopParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t('data-analyze.algorithm-forms.k-hop.options.max_degree')} - - -
- { - algorithmAnalyzerStore.mutateKHopParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateKHopParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKHopParams('max_degree'); - } - }} - /> -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.k-hop.options.max_depth')} - - -
- { - algorithmAnalyzerStore.mutateKHopParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateKHopParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKHopParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.k-hop.options.capacity')} - -
- { - algorithmAnalyzerStore.mutateKHopParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateKHopParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKHopParams('capacity'); - } - }} - /> -
-
-
-
-
- - {t('data-analyze.algorithm-forms.k-hop.options.nearest')} - - -
- { - algorithmAnalyzerStore.mutateKHopParams('nearest', checked); - }} - /> -
-
-
- {t('data-analyze.algorithm-forms.k-hop.options.limit')} -
- { - algorithmAnalyzerStore.mutateKHopParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateKHopParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKHopParams('limit'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default KHop; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx deleted file mode 100644 index 6b46cd94a..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx +++ /dev/null @@ -1,348 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const KStepNeighbor = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateKStepNeighborParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.kStepNeighborParams.source !== '' && - algorithmAnalyzerStore.kStepNeighborParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.k-step-neighbor.options.source')} - -
- { - algorithmAnalyzerStore.mutateKStepNeighborParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateKStepNeighborParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKStepNeighborParams('source'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.k-step-neighbor.options.label')} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.k-step-neighbor.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateKStepNeighborParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.k-step-neighbor.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateKStepNeighborParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateKStepNeighborParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKStepNeighborParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.k-step-neighbor.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateKStepNeighborParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateKStepNeighborParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKStepNeighborParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.k-step-neighbor.options.limit')} - -
- { - algorithmAnalyzerStore.mutateKStepNeighborParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateKStepNeighborParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateKStepNeighborParams('limit'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default KStepNeighbor; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx deleted file mode 100644 index 49b134db7..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { GraphManagementStoreContext } from '../../../../stores'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const LoopDetection = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateLoopDetectionParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.loopDetectionParams.source !== '' && - algorithmAnalyzerStore.loopDetectionParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.loop-detection.options.source')} - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateLoopDetectionParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateLoopDetectionParams('source'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.loop-detection.options.label')} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.loop-detection.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.loop-detection.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateLoopDetectionParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateLoopDetectionParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.loop-detection.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateLoopDetectionParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateLoopDetectionParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.loop-detection.options.limit')} - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateLoopDetectionParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateLoopDetectionParams('limit'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.loop-detection.options.source_in_ring' - )} - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'source_in_ring', - checked - ); - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.loop-detection.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateLoopDetectionParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateLoopDetectionParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateLoopDetectionParams('capacity'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default LoopDetection; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx deleted file mode 100644 index 4ad2ed7ab..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx +++ /dev/null @@ -1,1166 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { flatten, cloneDeep, size, isEmpty } from 'lodash-es'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; - -const ModelSimilarity = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 390 - ); - - const sourceType = algorithmAnalyzerStore.modelSimilarityParams.method; - - const allowAddNewProperty = !flatten( - algorithmAnalyzerStore.modelSimilarityParams.vertexProperty - ).some((value) => value === ''); - - const addNewPropertyClassName = - allowAddNewProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' - ? 'query-tab-content-internal-expand-manipulation-enable' - : 'query-tab-content-internal-expand-manipulation-disabled'; - - const isValidSourceId = - algorithmAnalyzerStore.modelSimilarityParams.method === 'id' && - algorithmAnalyzerStore.modelSimilarityParams.source !== ''; - - const isValidProperty = - algorithmAnalyzerStore.modelSimilarityParams.method === 'property' && - !( - isEmpty(algorithmAnalyzerStore.modelSimilarityParams.vertexType) && - flatten( - algorithmAnalyzerStore.modelSimilarityParams.vertexProperty - ).every((value) => isEmpty(value)) - ) && - algorithmAnalyzerStore.modelSimilarityParams.vertexProperty.every( - ([key, value]) => (!isEmpty(key) ? !isEmpty(value) : true) - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateModelSimilartiyParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.modelSimilarityParams.least_neighbor !== '' && - algorithmAnalyzerStore.modelSimilarityParams.similarity !== '' && - (!isEmpty(algorithmAnalyzerStore.modelSimilarityParams.property_filter) - ? algorithmAnalyzerStore.modelSimilarityParams.least_property_number !== - '' - : true) && - (isValidSourceId || isValidProperty); - - return ( -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.model-similarity.options.method' - )} - -
- ) => { - algorithmAnalyzerStore.switchModelSimilarityMethod( - e.target.value - ); - }} - > - - {t( - 'data-analyze.algorithm-forms.model-similarity.radio-value.specific-id' - )} - - - {t( - 'data-analyze.algorithm-forms.model-similarity.radio-value.filtered-type-property' - )} - - -
-
- - {sourceType === 'id' && ( -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.model-similarity.options.source' - )} - -
- - { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'source' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'source' - ); - } - }} - /> -
-
- )} - - {sourceType !== 'id' && ( - <> -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.vertex-type' - )} - -
- -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.vertex-property' - )} - -
- -
- {algorithmAnalyzerStore.modelSimilarityParams.vertexProperty.map( - ([key, value], propertyIndex) => { - const currentVertexType = dataAnalyzeStore.vertexTypes.find( - ({ name }) => - name === - algorithmAnalyzerStore.modelSimilarityParams - .vertexType - ); - - return ( -
- -
- { - const vertexProperty = cloneDeep( - algorithmAnalyzerStore.modelSimilarityParams - .vertexProperty - ); - - vertexProperty[propertyIndex][1] = e.value; - - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'vertexProperty', - vertexProperty - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'vertexProperty' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'vertexProperty' - ); - } - }} - /> -
- {size( - algorithmAnalyzerStore.modelSimilarityParams - .vertexProperty - ) > 1 && ( -
{ - algorithmAnalyzerStore.removeModelSimilarityVertexProperty( - propertyIndex - ); - }} - > - {t( - 'data-analyze.algorithm-forms.model-similarity.delete' - )} -
- )} -
- ); - } - )} -
-
-
- {algorithmAnalyzerStore.modelSimilarityParams.vertexType === '' && - !allowAddNewProperty && - size( - algorithmAnalyzerStore.modelSimilarityParams.vertexProperty - ) === 1 ? ( -
- - {t( - 'data-analyze.algorithm-forms.model-similarity.hint.vertex_type_or_property' - )} - -
- ) : ( -
- { - if ( - allowAddNewProperty && - dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' - ) { - algorithmAnalyzerStore.addModelSimilarityVertexProperty(); - } - }} - > - {t('data-analyze.algorithm-forms.model-similarity.add')} - -
- )} - - )} - -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.model-similarity.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
- -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.model-similarity.options.least_neighbor' - )} - - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'least_neighbor', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_neighbor' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_neighbor' - ); - } - }} - /> -
-
- -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.model-similarity.options.similarity' - )} - - -
- - { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'similarity', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'similarity' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'similarity' - ); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.label' - )} - -
- -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.max_similar' - )} - - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'max_similar', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'max_similar' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'max_similar' - ); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.least_similar' - )} - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'least_similar', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_similar' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_similar' - ); - } - }} - /> -
-
- -
- - -
-
- -
-
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.property_filter' - )} - -
- -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.least_property_number' - )} - - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'least_property_number', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_property_number' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'least_property_number' - ); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'max_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'max_degree' - ); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams( - 'capacity' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams( - 'capacity' - ); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.limit' - )} - -
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateModelSimilarityParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateModelSimilarityParams('limit'); - } - }} - /> -
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.return_common_connection' - )} - - -
-
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'return_common_connection', - checked - ); - }} - /> -
-
-
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.model-similarity.options.return_complete_info' - )} - -
-
- { - algorithmAnalyzerStore.mutateModelSimilarityParams( - 'return_complete_info', - checked - ); - }} - /> -
-
-
-
-
- ); -}); - -export default ModelSimilarity; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx deleted file mode 100644 index 845fd268f..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx +++ /dev/null @@ -1,500 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { size } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Button, Radio, Input, Select } from 'hubble-ui'; - -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; - -const NeighborRank = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const formWidthInStep = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 310, - 380 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage - ).every((value) => Array.isArray(value) || value === '') && - algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage.steps.every( - (step) => Object.values(step).every((value) => value === '') - ) && - algorithmAnalyzerStore.neighborRankParams.source !== '' && - algorithmAnalyzerStore.neighborRankParams.alpha !== ''; - - const isValidAddRule = algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage.steps.every( - (step) => Object.values(step).every((value) => value === '') - ); - - return ( -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.neighbor-rank.options.source')} - -
- { - algorithmAnalyzerStore.mutateNeighborRankParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateNeighborRankParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateNeighborRankParams('source'); - } - }} - /> -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.neighbor-rank.options.alpha')} - -
- { - algorithmAnalyzerStore.mutateNeighborRankParams( - 'alpha', - e.value as string - ); - - algorithmAnalyzerStore.validateNeighborRankParams('alpha'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateNeighborRankParams('alpha'); - } - }} - /> -
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.neighbor-rank.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateNeighborRankParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateNeighborRankParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateNeighborRankParams('capacity'); - } - }} - /> -
-
-
- - -
-
- -
- {algorithmAnalyzerStore.neighborRankParams.steps.map( - ({ uuid, direction, labels, degree, top }, ruleIndex) => { - return ( -
-
-
- * - - {t( - 'data-analyze.algorithm-forms.neighbor-rank.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateNeighborRankRuleParams( - 'direction', - e.target.value, - ruleIndex - ); - }} - > - both - out - in - - {size(algorithmAnalyzerStore.neighborRankParams.steps) > - 1 && ( -
{ - algorithmAnalyzerStore.removeNeighborRankRule( - ruleIndex - ); - }} - > - {t('addition.common.del')} -
- )} -
-
-
- - {t( - 'data-analyze.algorithm-forms.neighbor-rank.options.label' - )} - -
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.neighbor-rank.options.degree' - )} - - -
- { - algorithmAnalyzerStore.mutateNeighborRankRuleParams( - 'degree', - e.value as string, - ruleIndex - ); - - algorithmAnalyzerStore.validateNeighborRankRules( - 'degree', - ruleIndex - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateNeighborRankRules( - 'degree', - ruleIndex - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.neighbor-rank.options.top' - )} - - -
- { - algorithmAnalyzerStore.mutateNeighborRankRuleParams( - 'top', - e.value as string, - ruleIndex - ); - - algorithmAnalyzerStore.validateNeighborRankRules( - 'top', - ruleIndex - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateNeighborRankRules( - 'top', - ruleIndex - ); - } - }} - /> -
-
- ); - } - )} -
- { - if (isValidAddRule) { - algorithmAnalyzerStore.addNeighborRankRule(); - } - }} - > - {t('data-analyze.algorithm-forms.neighbor-rank.add-new-rule')} - -
-
-
- ); -}); - -export default NeighborRank; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx deleted file mode 100644 index 866b8dbfd..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx +++ /dev/null @@ -1,451 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const PersonalRank = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validatePersonalRankErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.personalRankParams.source !== '' && - algorithmAnalyzerStore.personalRankParams.alpha !== '' && - algorithmAnalyzerStore.personalRankParams.label !== '' && - algorithmAnalyzerStore.personalRankParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.personal-rank.options.source')} - -
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validatePersonalRankParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validatePersonalRankParams('source'); - } - }} - /> -
-
-
- * - - {t('data-analyze.algorithm-forms.personal-rank.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.personal-rank.options.alpha')} - -
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'alpha', - e.value as string - ); - - algorithmAnalyzerStore.validatePersonalRankParams('alpha'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validatePersonalRankParams('alpha'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.personal-rank.options.degree')} - - -
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'degree', - e.value as string - ); - - algorithmAnalyzerStore.validatePersonalRankParams('degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validatePersonalRankParams('degree'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.personal-rank.options.max_depth' - )} - -
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validatePersonalRankParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validatePersonalRankParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.personal-rank.options.limit')} - -
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validatePersonalRankParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validatePersonalRankParams('limit'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.personal-rank.options.with_label' - )} - - -
- ) => { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'with_label', - e.target.value - ); - }} - > - - {t( - 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.same_label' - )} - - - {t( - 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.other_label' - )} - - - {t( - 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.both_label' - )} - - -
-
-
- - {t('data-analyze.algorithm-forms.personal-rank.options.sorted')} - - -
-
- { - algorithmAnalyzerStore.mutatePersonalRankParams( - 'sorted', - checked - ); - }} - /> -
-
-
-
- - -
-
- ); -}); - -export default PersonalRank; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx deleted file mode 100644 index 682424fd3..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx +++ /dev/null @@ -1,422 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const RadiographicInspection = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateRadiographicInspectionParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.radiographicInspectionParams.source !== '' && - algorithmAnalyzerStore.radiographicInspectionParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.source' - )} - -
- { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'source' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'source' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.label' - )} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'max_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'max_depth' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'max_depth' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'capacity' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'capacity' - ); - } - }} - /> -
-
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.radiographic-inspection.options.limit' - )} - -
- { - algorithmAnalyzerStore.mutateRadiographicInspectionParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'limit' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateRadiographicInspectionParams( - 'limit' - ); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default RadiographicInspection; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx deleted file mode 100644 index 84496448d..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const SameNeighbor = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateSameNeighborParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.sameNeighborParams.vertex !== '' && - algorithmAnalyzerStore.sameNeighborParams.other !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.same-neighbor.options.vertex')} - -
- { - algorithmAnalyzerStore.mutateSameNeighborParams( - 'vertex', - e.value as string - ); - - algorithmAnalyzerStore.validateSameNeighborParams('vertex'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSameNeighborParams('vertex'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.same-neighbor.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.same-neighbor.options.other')} - -
- { - algorithmAnalyzerStore.mutateSameNeighborParams( - 'other', - e.value as string - ); - - algorithmAnalyzerStore.validateSameNeighborParams('other'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSameNeighborParams('other'); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.same-neighbor.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateSameNeighborParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateSameNeighborParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSameNeighborParams('max_degree'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.same-neighbor.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateSameNeighborParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t('data-analyze.algorithm-forms.same-neighbor.options.limit')} - -
- { - algorithmAnalyzerStore.mutateSameNeighborParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateSameNeighborParams('limit'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSameNeighborParams('limit'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default SameNeighbor; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx deleted file mode 100644 index 1df1a02ce..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx +++ /dev/null @@ -1,454 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -const ShortestPath = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateShortestPathParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.shortestPathAlgorithmParams.source !== '' && - algorithmAnalyzerStore.shortestPathAlgorithmParams.target !== '' && - algorithmAnalyzerStore.shortestPathAlgorithmParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t('data-analyze.algorithm-forms.shortest-path.options.source')} - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams('source'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.shortest-path.options.label')} - -
- -
-
-
-
-
- * - - {t('data-analyze.algorithm-forms.shortest-path.options.target')} - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'target', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('target'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams('target'); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('max_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams('max_degree'); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateShortestPathParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path.options.skip_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'skip_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('skip_degree'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams( - 'skip_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams('max_depth'); - } - }} - /> -
-
-
- - {t('data-analyze.algorithm-forms.shortest-path.options.capacity')} - -
- { - algorithmAnalyzerStore.mutateShortestPathParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathParams('capacity'); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default ShortestPath; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx deleted file mode 100644 index aa206b120..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx +++ /dev/null @@ -1,469 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, createContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; - -const ShortestPathAll = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 400 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateShortestPathAllParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.shortestPathAllParams.source !== '' && - algorithmAnalyzerStore.shortestPathAllParams.target !== '' && - algorithmAnalyzerStore.shortestPathAllParams.max_depth !== ''; - - return ( -
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.source' - )} - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams('source'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams('source'); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.label' - )} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.target' - )} - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'target', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams('target'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams('target'); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams( - 'max_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams('capacity'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams( - 'capacity' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.max_depth' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'max_depth', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams('max_depth'); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams( - 'max_depth' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.shortest-path-all.options.skip_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateShortestPathAllParams( - 'skip_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateShortestPathAllParams( - 'skip_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateShortestPathAllParams( - 'skip_degree' - ); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default ShortestPathAll; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx deleted file mode 100644 index 3a84bf16b..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx +++ /dev/null @@ -1,522 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const SingleSourceWeightedShortestPath = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 340, - 380 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.singleSourceWeightedShortestPathParams.source !== ''; - - return ( -
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.source' - )} - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'source' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'source' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.label' - )} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'max_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.weight' - )} - -
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.skip_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'skip_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'skip_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'skip_degree' - ); - } - }} - /> -
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.with_vertex' - )} - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'with_vertex', - checked - ); - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'capacity' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'capacity' - ); - } - }} - /> -
-
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.limit' - )} - -
- { - algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( - 'limit', - e.value as string - ); - - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'limit' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( - 'limit' - ); - } - }} - /> -
-
-
- - -
-
- ); -}); - -export default SingleSourceWeightedShortestPath; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx deleted file mode 100644 index 26098f650..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx +++ /dev/null @@ -1,500 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; -import { styles } from '../QueryAndAlgorithmLibrary'; -import { Tooltip as CustomTooltip } from '../../../common'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; - -import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const WeightedShortestPath = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; - const { t } = useTranslation(); - - const formWidth = calcAlgorithmFormWidth( - graphManagementStore.isExpanded, - 320, - 390 - ); - - const isValidExec = - Object.values( - algorithmAnalyzerStore.validateWeightedShortestPathParamsErrorMessage - ).every((value) => value === '') && - algorithmAnalyzerStore.weightedShortestPathParams.source !== '' && - algorithmAnalyzerStore.weightedShortestPathParams.target !== '' && - algorithmAnalyzerStore.weightedShortestPathParams.weight !== ''; - - return ( -
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.source' - )} - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'source', - e.value as string - ); - - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'source' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'source' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.label' - )} - -
- -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.target' - )} - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'target', - e.value as string - ); - - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'target' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'target' - ); - } - }} - /> -
-
-
- - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.max_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'max_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'max_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'max_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.direction' - )} - -
- ) => { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'direction', - e.target.value - ); - }} - > - both - out - in - -
-
-
- - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.skip_degree' - )} - - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'skip_degree', - e.value as string - ); - - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'skip_degree' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'skip_degree' - ); - } - }} - /> -
-
-
-
-
- * - - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.weight' - )} - -
- -
-
-
- - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.capacity' - )} - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'capacity', - e.value as string - ); - - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'capacity' - ); - }} - originInputProps={{ - onBlur() { - algorithmAnalyzerStore.validateWeightedShortestPathParams( - 'capacity' - ); - } - }} - /> -
-
-
-
-
- - {t( - 'data-analyze.algorithm-forms.weighted-shortest-path.options.with_vertex' - )} - -
- { - algorithmAnalyzerStore.mutateWeightedShortestPathParams( - 'with_vertex', - checked - ); - }} - /> -
-
-
- - -
-
- ); -}); - -export default WeightedShortestPath; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/common/Favorite.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/common/Favorite.tsx deleted file mode 100644 index 11ea43224..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/common/Favorite.tsx +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useState, useContext, useCallback } from 'react'; -import { observer } from 'mobx-react'; -import { Button, Input, Message } from 'hubble-ui'; - -import { DataAnalyzeStoreContext } from '../../../../stores'; -import { useTranslation } from 'react-i18next'; - -export interface FavoriteProps { - handlePop: (flag: boolean) => void; - queryStatement?: string; - isEdit?: boolean; - id?: number; - name?: string; -} - -const styles = { - primaryButton: { - width: 72, - marginRight: 12 - }, - alert: { - width: 320, - fontSize: 12, - marginTop: 4, - color: '#f5535b' - } -}; - -const Favorite: React.FC = observer( - ({ handlePop, queryStatement = '', isEdit = false, id, name = '' }) => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const { t } = useTranslation(); - const initialText = isEdit ? name : ''; - const [inputValue, setInputValue] = useState(initialText); - - const handleChange = useCallback(({ value }) => { - setInputValue(value); - }, []); - - const handleAddQueryCollection = useCallback(async () => { - await dataAnalyzeStore.addQueryCollection(inputValue, queryStatement); - - if (dataAnalyzeStore.requestStatus.addQueryCollection === 'success') { - dataAnalyzeStore.setFavoritePopUp(''); - handlePop(false); - setInputValue(''); - - Message.success({ - content: isEdit - ? t('addition.operate.modify-success') - : t('addition.operate.favorite-success'), - size: 'medium', - showCloseIcon: false - }); - - dataAnalyzeStore.fetchFavoriteQueries(); - } - }, [dataAnalyzeStore, handlePop, inputValue, isEdit, queryStatement]); - - const handleEditQueryCollection = useCallback(async () => { - await dataAnalyzeStore.editQueryCollection( - id as number, - inputValue, - queryStatement - ); - - if (dataAnalyzeStore.requestStatus.editQueryCollection === 'success') { - dataAnalyzeStore.setFavoritePopUp(''); - handlePop(false); - setInputValue(''); - - Message.success({ - content: t('addition.operate.modify-success'), - size: 'medium', - showCloseIcon: false - }); - - dataAnalyzeStore.fetchFavoriteQueries(); - } - }, [dataAnalyzeStore, handlePop, id, inputValue, queryStatement]); - - const handleCancel = useCallback( - (type: 'add' | 'edit') => () => { - handlePop(false); - dataAnalyzeStore.setFavoritePopUp(''); - setInputValue(initialText); - dataAnalyzeStore.resetFavoriteRequestStatus(type); - }, - [dataAnalyzeStore, handlePop, initialText] - ); - - return ( -
-
- - {isEdit - ? t('addition.operate.modify-name') - : t('addition.operate.favorite-statement')} - - - {dataAnalyzeStore.requestStatus.addQueryCollection === 'failed' && - isEdit === false && ( -
- {dataAnalyzeStore.errorInfo.addQueryCollection.message} -
- )} - {dataAnalyzeStore.requestStatus.editQueryCollection === 'failed' && - isEdit === true && ( -
- {dataAnalyzeStore.errorInfo.editQueryCollection.message} -
- )} -
- - -
-
-
- ); - } -); - -export default Favorite; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/index.ts deleted file mode 100644 index dffd5e2e7..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import DataAnalyze from './DataAnalyze'; - -export { DataAnalyze }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx deleted file mode 100644 index 26be682e4..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect, useRef, useCallback } from 'react'; -import { observer } from 'mobx-react'; -import { Message } from 'hubble-ui'; -import { isUndefined, size, isEmpty } from 'lodash-es'; - -import { DataAnalyzeStoreContext } from '../../../../stores'; -import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; -import { useTranslation } from 'react-i18next'; - -interface GraphPopOverProps { - x: number; - y: number; - switchIsPopover: (state: boolean) => void; - isAfterDragging: boolean; - switchAfterDragging: (state: boolean) => void; -} - -const GraphPopOver: React.FC = observer( - ({ x, y, isAfterDragging, switchAfterDragging, switchIsPopover }) => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const popoverWrapperRef = useRef(null); - const { t } = useTranslation(); - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - popoverWrapperRef.current && - !popoverWrapperRef.current.contains(e.target as Element) - ) { - if (isAfterDragging) { - switchAfterDragging(false); - return; - } - - switchIsPopover(false); - } - }, - [switchIsPopover, isAfterDragging] - ); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
e.preventDefault()} - style={{ top: y, left: x }} - ref={popoverWrapperRef} - > - {dataAnalyzeStore.rightClickedGraphData.id === '' ? ( -
{ - switchIsPopover(false); - dataAnalyzeStore.setDynamicAddGraphDataStatus('vertex'); - }} - > - {t('addition.common.add-vertex')} -
- ) : ( - <> -
{ - const node = dataAnalyzeStore.graphData.data.graph_view.vertices.find( - ({ id }) => id === dataAnalyzeStore.rightClickedGraphData.id - ); - - if (isUndefined(node)) { - return; - } - - if (node.label === '~undefined') { - Message.info({ - content: t('addition.message.illegal-vertex'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } - - if ( - isUndefined( - dataAnalyzeStore.vertexTypes.find( - ({ name }) => name === node.label - ) - ) - ) { - return; - } - - await dataAnalyzeStore.expandGraphNode(); - - if ( - dataAnalyzeStore.requestStatus.expandGraphNode === 'success' - ) { - // prompt if there's no extra node - if ( - size( - dataAnalyzeStore.expandedGraphData.data.graph_view - .vertices - ) === 0 - ) { - if ( - isEmpty( - dataAnalyzeStore.visNetwork?.getConnectedNodes(node.id) - ) - ) { - Message.info({ - content: t('addition.message.no-adjacency-points'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } else { - Message.info({ - content: t('addition.message.no-more-points'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } - - return; - } - - addGraphNodes( - dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, - dataAnalyzeStore.visDataSet?.nodes, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexWritingMappings - ); - - addGraphEdges( - dataAnalyzeStore.expandedGraphData.data.graph_view.edges, - dataAnalyzeStore.visDataSet?.edges, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings - ); - - dataAnalyzeStore.resetRightClickedGraphData(); - switchIsPopover(false); - } else { - Message.error({ - content: dataAnalyzeStore.errorInfo.expandGraphNode.message, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('addition.operate.expand')} -
-
{ - dataAnalyzeStore.switchShowFilterBoard(true); - switchIsPopover(false); - }} - > - {t('addition.operate.query')} -
-
{ - dataAnalyzeStore.visDataSet?.nodes.remove([ - dataAnalyzeStore.rightClickedGraphData.id - ]); - dataAnalyzeStore.hideGraphNode( - dataAnalyzeStore.rightClickedGraphData.id - ); - dataAnalyzeStore.resetRightClickedGraphData(); - switchIsPopover(false); - }} - > - {t('addition.operate.hidden')} -
-
{ - dataAnalyzeStore.setDynamicAddGraphDataStatus('outEdge'); - dataAnalyzeStore.fetchRelatedEdges(); - switchIsPopover(false); - }} - > - {t('addition.common.add-out-edge')} -
-
{ - dataAnalyzeStore.setDynamicAddGraphDataStatus('inEdge'); - dataAnalyzeStore.fetchRelatedEdges(); - switchIsPopover(false); - }} - > - {t('addition.common.add-in-edge')} -
- - )} -
- ); - } -); - -export default GraphPopOver; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx deleted file mode 100644 index f6f5d710b..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx +++ /dev/null @@ -1,659 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useState, - useContext, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { size, isUndefined, isEmpty } from 'lodash-es'; -import { saveAs } from 'file-saver'; -import vis from 'vis-network'; -import 'vis-network/styles/vis-network.min.css'; -import { Message } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import QueryFilterOptions from './QueryFilterOptions'; -import GraphPopOver from './GraphPopOver'; -import { DataAnalyzeStoreContext } from '../../../../stores'; -import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; - -import ZoomInIcon from '../../../../assets/imgs/ic_fangda_16.svg'; -import ZoomOutIcon from '../../../../assets/imgs/ic_suoxiao_16.svg'; -import CenterIcon from '../../../../assets/imgs/ic_middle_16.svg'; -import DownloadIcon from '../../../../assets/imgs/ic_xiazai_16.svg'; -import FullScreenIcon from '../../../../assets/imgs/ic_quanping_16.svg'; -import ResetScreenIcon from '../../../../assets/imgs/ic_tuichuquanping_16.svg'; -import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; -import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; -import AddNodeIcon from '../../../../assets/imgs/ic_add_node.svg'; - -export interface GraphQueryResult { - hidden: boolean; -} - -const GraphQueryResult: React.FC = observer(({ hidden }) => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const { t } = useTranslation(); - const graphWrapper = useRef(null); - const resultWrapper = useRef(null); - const legendViewPointWrapper = useRef(null); - const legendWrapper = useRef(null); - const [showLoadingGraphs, switchShowLoadingGraphs] = useState(true); - const [isPopover, switchIsPopover] = useState(false); - const [isAfterDragging, switchAfterDragging] = useState(false); - const [nodeTooltipX, setNodeToolTipX] = useState(0); - const [nodeTooltipY, setNodeToolTipY] = useState(0); - const [legendStep, setLegendStep] = useState(0); - const [legendWidth, setlegendWitdh] = useState(0); - - const [graph, setGraph] = useState(null); - - const redrawGraphs = useCallback(() => { - if (graph) { - const width = getComputedStyle(resultWrapper.current!).width as string; - const height = getComputedStyle(resultWrapper.current!).height as string; - - graph.setSize(width, height); - graph.redraw(); - } - }, [graph]); - - useEffect(() => { - const width = getComputedStyle(resultWrapper.current!).width as string; - const height = getComputedStyle(resultWrapper.current!).height as string; - - const graphNodes = new vis.DataSet(dataAnalyzeStore.graphNodes); - const graphEdges = new vis.DataSet(dataAnalyzeStore.graphEdges); - - if (!graph) { - const data = { - nodes: graphNodes, - edges: graphEdges - }; - - const layout: vis.Options = { - width, - height, - nodes: { - shape: 'dot' - }, - edges: { - arrowStrikethrough: false, - color: { - color: 'rgba(92, 115, 230, 0.8)', - hover: 'rgba(92, 115, 230, 1)', - highlight: 'rgba(92, 115, 230, 1)' - }, - scaling: { - min: 1, - max: 3, - label: { - enabled: false - } - } - }, - interaction: { - hover: true - }, - physics: { - maxVelocity: 50, - solver: 'forceAtlas2Based', - timestep: 0.3, - stabilization: { iterations: 150 } - } - }; - - // initialize your network! - if (graphWrapper.current !== null) { - const network = new vis.Network(graphWrapper!.current, data, layout); - - let timer: number | undefined = undefined; - - network.on('click', ({ nodes, edges }) => { - // click on node, note that edges(related) also has value - if (!isEmpty(nodes)) { - // note: cannot abstract switchClickOn...() and clearTimeout - // as common callings with node and edge, since click event - // would be dispatched even if click is not on node and edge - dataAnalyzeStore.switchClickOnNodeOrEdge(true); - clearTimeout(timer); - - timer = window.setTimeout(() => { - const nodeId = nodes[0]; - const node = - dataAnalyzeStore.graphData.data.graph_view.vertices.find( - ({ id }) => id === nodeId - ); - - if (isUndefined(node)) { - return; - } - - dataAnalyzeStore.changeSelectedGraphData({ - id: node.id, - label: node.label, - properties: node.properties - }); - - dataAnalyzeStore.syncGraphEditableProperties('vertex'); - dataAnalyzeStore.initValidateEditGraphDataPropertiesErrorMessage(); - - if ( - dataAnalyzeStore.graphInfoDataSet !== 'node' || - !dataAnalyzeStore.isShowGraphInfo - ) { - dataAnalyzeStore.switchShowScreeDataSet('node'); - dataAnalyzeStore.switchShowScreenInfo(true); - } - - // close filter board after click on node - dataAnalyzeStore.switchShowFilterBoard(false); - // reset status, or click blank area won't collpase the drawer - dataAnalyzeStore.switchClickOnNodeOrEdge(false); - }, 200); - - return; - } - - // click on edge - if (!isEmpty(edges)) { - dataAnalyzeStore.switchClickOnNodeOrEdge(true); - clearTimeout(timer); - - timer = window.setTimeout(() => { - const edgeId = edges[0]; - - const edge = - dataAnalyzeStore.graphData.data.graph_view.edges.find( - ({ id }) => id === edgeId - ); - - if (isUndefined(edge)) { - return; - } - - dataAnalyzeStore.changeSelectedGraphLinkData({ - id: edge.id, - label: edge.label, - properties: edge.properties, - source: edge.source, - target: edge.target - }); - - dataAnalyzeStore.syncGraphEditableProperties('edge'); - dataAnalyzeStore.initValidateEditGraphDataPropertiesErrorMessage(); - - if ( - dataAnalyzeStore.graphInfoDataSet !== 'edge' || - !dataAnalyzeStore.isShowGraphInfo - ) { - dataAnalyzeStore.switchShowScreeDataSet('edge'); - dataAnalyzeStore.switchShowScreenInfo(true); - } - - // close filter board after click on edge - dataAnalyzeStore.switchShowFilterBoard(false); - // reset status, or click blank area won't collpase the drawer - dataAnalyzeStore.switchClickOnNodeOrEdge(false); - }, 200); - } - }); - - network.on('doubleClick', async ({ nodes }) => { - clearTimeout(timer); - dataAnalyzeStore.switchClickOnNodeOrEdge(false); - if (!isEmpty(nodes)) { - const nodeId = nodes[0]; - const node = - dataAnalyzeStore.graphData.data.graph_view.vertices.find( - ({ id }) => id === nodeId - ); - - if (!isUndefined(node)) { - // specific symbol (~undefined) in schema - if (node.label === '~undefined') { - Message.info({ - content: t('addition.common.illegal-vertex-desc'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } - - if ( - isUndefined( - dataAnalyzeStore.vertexTypes.find( - ({ name }) => name === node.label - ) - ) - ) { - return; - } - - await dataAnalyzeStore.expandGraphNode(node.id, node.label); - - if ( - dataAnalyzeStore.requestStatus.expandGraphNode === 'success' - ) { - // prompt if there's no extra node - if ( - size( - dataAnalyzeStore.expandedGraphData.data.graph_view.vertices - ) === 0 - ) { - if (isEmpty(network.getConnectedNodes(nodeId))) { - Message.info({ - content: t('addition.message.no-adjacency-points'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } else { - Message.info({ - content: t('addition.message.no-more-points'), - size: 'medium', - showCloseIcon: false, - duration: 1 - }); - } - - return; - } - - addGraphNodes( - dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, - dataAnalyzeStore.visDataSet?.nodes, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexWritingMappings - ); - - addGraphEdges( - dataAnalyzeStore.expandedGraphData.data.graph_view.edges, - dataAnalyzeStore.visDataSet?.edges, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings - ); - } - - if (dataAnalyzeStore.requestStatus.expandGraphNode === 'failed') { - Message.error({ - content: dataAnalyzeStore.errorInfo.expandGraphNode.message, - size: 'medium', - showCloseIcon: false - }); - } - } else { - Message.error({ - content: dataAnalyzeStore.errorInfo.expandGraphNode.message, - size: 'medium', - showCloseIcon: false - }); - } - } - }); - - network.on('oncontext', async (e) => { - // disable default context menu - e.event.preventDefault(); - - // It's weird that sometimes e.nodes is empty when right click on node - // thus using coordinate to work as expect - const nodeId = network.getNodeAt(e.pointer.DOM); - const node = dataAnalyzeStore.graphData.data.graph_view.vertices.find( - ({ id }) => id === nodeId - ); - - if (!isUndefined(node)) { - dataAnalyzeStore.changeRightClickedGraphData({ - id: node.id, - label: node.label, - properties: node.properties - }); - - switchIsPopover(true); - - network.selectNodes([nodeId]); - setNodeToolTipX(e.pointer.DOM.x); - setNodeToolTipY(e.pointer.DOM.y); - dataAnalyzeStore.setVisCurrentCoordinates({ - domX: e.pointer.DOM.x, - domY: e.pointer.DOM.y, - canvasX: e.pointer.canvas.x, - canvasY: e.pointer.canvas.y - }); - - await dataAnalyzeStore.fetchRelatedVertex(); - - if (size(dataAnalyzeStore.graphDataEdgeTypes) !== 0) { - dataAnalyzeStore.fetchFilteredPropertyOptions( - dataAnalyzeStore.graphDataEdgeTypes[0] - ); - } - } else { - const edgeId = network.getEdgeAt(e.pointer.DOM); - - // if not click on edge - if (isUndefined(edgeId)) { - dataAnalyzeStore.resetRightClickedGraphData(); - setNodeToolTipX(e.pointer.DOM.x); - setNodeToolTipY(e.pointer.DOM.y); - dataAnalyzeStore.setVisCurrentCoordinates({ - domX: e.pointer.DOM.x, - domY: e.pointer.DOM.y, - canvasX: e.pointer.canvas.x, - canvasY: e.pointer.canvas.y - }); - switchIsPopover(true); - } - } - }); - - network.on('dragging', () => { - const node = dataAnalyzeStore.visDataSet?.nodes.get( - dataAnalyzeStore.rightClickedGraphData.id - ); - - if (node !== null) { - const position = network.getPositions(node.id); - setNodeToolTipX(network.canvasToDOM(position[node.id]).x); - setNodeToolTipY(network.canvasToDOM(position[node.id]).y); - switchAfterDragging(true); - } - }); - - network.on('zoom', () => { - const node = dataAnalyzeStore.visDataSet?.nodes.get( - dataAnalyzeStore.rightClickedGraphData.id - ); - - if (node !== null) { - const position = network.getPositions(node.id); - setNodeToolTipX(network.canvasToDOM(position[node.id]).x); - setNodeToolTipY(network.canvasToDOM(position[node.id]).y); - } - }); - - network.on('dragEnd', (e) => { - if (!isEmpty(e.nodes)) { - network.unselectAll(); - } - }); - - network.once('stabilizationIterationsDone', () => { - switchShowLoadingGraphs(false); - }); - - setGraph(network); - dataAnalyzeStore.setVisNetwork(network); - } - } else { - if (!dataAnalyzeStore.isGraphLoaded) { - graph.setData({ - nodes: graphNodes, - edges: graphEdges - }); - - dataAnalyzeStore.setVisDataSet({ - nodes: graphNodes, - edges: graphEdges - }); - - dataAnalyzeStore.switchGraphLoaded(true); - } - - redrawGraphs(); - } - }, [ - dataAnalyzeStore, - dataAnalyzeStore.originalGraphData, - graph, - dataAnalyzeStore.isFullScreenReuslt, - redrawGraphs - ]); - - useEffect(() => { - if (legendWrapper.current) { - const legendWidth = getComputedStyle(legendWrapper.current).width!.split( - 'px' - )[0]; - - setlegendWitdh(Number(legendWidth)); - } - }, []); - - useEffect(() => { - window.addEventListener('resize', redrawGraphs, false); - - return () => { - window.removeEventListener('resize', redrawGraphs); - }; - }, [redrawGraphs]); - - return ( - <> - - {dataAnalyzeStore.isShowFilterBoard && } - {showLoadingGraphs && ( -
-
- {t('addition.operate.load-background')} - {t('addition.operate.load-spinner')} -
- {t('addition.operate.rendering')}... -
- )} - - ); -}); - -export default GraphQueryResult; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx deleted file mode 100644 index fed89e518..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import ReactJsonView from 'react-json-view'; -import 'codemirror/mode/javascript/javascript'; - -import { DataAnalyzeStoreContext } from '../../../../stores'; - -const JSONQueryResult: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - - return ( -
- -
- ); -}); - -export default JSONQueryResult; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx deleted file mode 100644 index 3b8e48afe..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx +++ /dev/null @@ -1,405 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useCallback } from 'react'; -import { observer } from 'mobx-react'; -import { Select, Input, NumberBox, Calendar } from 'hubble-ui'; -import { Message } from 'hubble-ui'; - -import { DataAnalyzeStoreContext } from '../../../../stores'; -import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; -import { useTranslation } from 'react-i18next'; -import i18next from '../../../../i18n'; - -const getRuleOptions = (ruleType: string = '') => { - switch (ruleType.toLowerCase()) { - case 'float': - case 'double': - case 'byte': - case 'int': - case 'long': - case 'date': - return [ - i18next.t('addition.constant.greater-than'), - i18next.t('addition.constant.greater-than-or-equal'), - i18next.t('addition.constant.less-than'), - i18next.t('addition.constant.less-than-or-equal'), - i18next.t('addition.constant.equal') - ]; - case 'object': - case 'text': - case 'blob': - case 'uuid': - return [i18next.t('addition.constant.equal')]; - case 'boolean': - return ['True', 'False']; - default: - return []; - } -}; - -const QueryFilterOptions: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const { t } = useTranslation(); - const line = dataAnalyzeStore.filteredGraphQueryOptions.line; - const properties = dataAnalyzeStore.filteredGraphQueryOptions.properties; - const lastProperty = properties[properties.length - 1]; - - // value of the corresponding revealed form should not be empty - const allowSendFilterRequest = - (properties.length === 0 && line.type !== '') || - (lastProperty && - lastProperty.property !== '' && - lastProperty.rule !== '' && - lastProperty.value !== '') || - (lastProperty && - (lastProperty.rule === 'True' || lastProperty.rule === 'False')); - - const allowAddProperties = - allowSendFilterRequest && - dataAnalyzeStore.filteredPropertyOptions.length !== 0 && - dataAnalyzeStore.filteredGraphQueryOptions.properties.length !== - dataAnalyzeStore.filteredPropertyOptions.length; - - const handleEdgeSelectChange = useCallback( - (key: 'type' | 'direction') => (value: string) => { - dataAnalyzeStore.editEdgeFilterOption(key, value); - dataAnalyzeStore.fetchFilteredPropertyOptions(value); - }, - [dataAnalyzeStore] - ); - - const handlePropertyChange = useCallback( - ( - key: 'property' | 'rule' | 'value', - value: string | number, - index: number - ) => { - dataAnalyzeStore.editPropertyFilterOption(key, value, index); - }, - [dataAnalyzeStore] - ); - - const renderPropertyValue = ( - type: string = '', - value: string, - index: number - ) => { - const shouldDisabled = - dataAnalyzeStore.filteredGraphQueryOptions.properties[index].property === - ''; - - switch (type.toLowerCase()) { - case 'float': - case 'double': - return ( - { - handlePropertyChange('value', Number(e.value), index); - }} - disabled={shouldDisabled} - /> - ); - case 'byte': - case 'int': - case 'long': - return ( - { - handlePropertyChange('value', Number(e.target.value), index); - }} - disabled={shouldDisabled} - /> - ); - case 'date': - return ( - { - handlePropertyChange('value', timeParams.beginTime, index); - }} - disabled={shouldDisabled} - /> - ); - case 'object': - case 'text': - case 'blob': - case 'uuid': - return ( - { - handlePropertyChange('value', e.value, index); - }} - disabled={shouldDisabled} - /> - ); - case 'boolean': - return
/
; - default: - return ( - - ); - } - }; - - return ( -
-
-
- - {t('addition.common.edge-type')}: - - -
-
- - {t('addition.common.edge-direction')}: - - -
-
- { - if (!allowSendFilterRequest) { - return; - } - - await dataAnalyzeStore.filterGraphData(); - - if ( - dataAnalyzeStore.requestStatus.filteredGraphData === 'success' - ) { - addGraphNodes( - dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, - dataAnalyzeStore.visDataSet?.nodes, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexWritingMappings - ); - - addGraphEdges( - dataAnalyzeStore.expandedGraphData.data.graph_view.edges, - dataAnalyzeStore.visDataSet?.edges, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings - ); - - // highlight new vertices - if (dataAnalyzeStore.visNetwork !== null) { - dataAnalyzeStore.visNetwork.selectNodes( - dataAnalyzeStore.expandedGraphData.data.graph_view.vertices - .map(({ id }) => id) - .concat([dataAnalyzeStore.rightClickedGraphData.id]), - true - ); - } - - dataAnalyzeStore.switchShowFilterBoard(false); - dataAnalyzeStore.clearFilteredGraphQueryOptions(); - } else { - Message.error({ - content: dataAnalyzeStore.errorInfo.filteredGraphData.message, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('addition.operate.filter')} - - { - dataAnalyzeStore.switchShowFilterBoard(false); - dataAnalyzeStore.clearFilteredGraphQueryOptions(); - - if (dataAnalyzeStore.visNetwork !== null) { - dataAnalyzeStore.visNetwork.unselectAll(); - } - }} - > - {t('addition.common.cancel')} - -
-
- {dataAnalyzeStore.filteredGraphQueryOptions.properties.length !== 0 && ( -
- )} - {dataAnalyzeStore.filteredGraphQueryOptions.properties.map( - ({ property, rule, value }, index) => { - return ( -
-
- {t('addition.common.property')}: - -
-
- {t('addition.common.rule')}: - -
-
- {t('addition.common.value')}: - {renderPropertyValue( - // the real type of value - dataAnalyzeStore.valueTypes[property], - value, - index - )} -
-
- { - dataAnalyzeStore.deletePropertyFilterOption(index); - }} - > - {t('addition.common.del')} - -
-
- ); - } - )} -
- { - dataAnalyzeStore.addPropertyFilterOption(); - } - : undefined - } - style={{ - color: allowAddProperties ? '#2b65ff' : '#ccc' - }} - > - {t('addition.operate.add-filter-item')} - -
-
- ); -}); - -export default QueryFilterOptions; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryResult.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryResult.tsx deleted file mode 100644 index 15fa71c2d..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/QueryResult.tsx +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { isEmpty } from 'lodash-es'; -import { useLocation } from 'wouter'; -import classnames from 'classnames'; - -import GraphQueryResult from './GraphQueryResult'; -import TableQueryResult from './TableQueryResult'; -import JSONQueryResult from './JSONQueryResult'; -import { - DataAnalyzeStoreContext, - AsyncTasksStoreContext -} from '../../../../stores'; -import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; -import EmptyIcon from '../../../../assets/imgs/ic_sousuo_empty.svg'; -import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; -import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; -import FinishedIcon from '../../../../assets/imgs/ic_done_144.svg'; -import FailedIcon from '../../../../assets/imgs/ic_fail.svg'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -export interface QueryResultProps { - sidebarIndex: number; - handleSetSidebarIndex: (index: number) => void; -} - -const dataAnalyzeContentSidebarOptions = [ - i18next.t('addition.menu.chart'), - i18next.t('addition.menu.table'), - 'Json' -]; - -const QueryResult: React.FC = observer( - ({ sidebarIndex, handleSetSidebarIndex }) => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - const { algorithmAnalyzerStore } = dataAnalyzeStore; - const asyncTasksStore = useContext(AsyncTasksStoreContext); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const renderReuslt = (index: number) => { - switch (index) { - case 1: - return ; - case 2: - return ; - } - }; - - const queryResutlClassName = classnames({ - 'query-result': true, - 'query-result-fullscreen': dataAnalyzeStore.isFullScreenReuslt - }); - - const dynHeightStyle: Record = {}; - - if ( - dataAnalyzeStore.currentTab === 'algorithm-analyze' && - !algorithmAnalyzerStore.isCollapse - ) { - if (algorithmAnalyzerStore.currentAlgorithm === '') { - dynHeightStyle.height = 'calc(100vh - 441px)'; - } - } - - return ( -
- {!dataAnalyzeStore.isFullScreenReuslt && ( -
- {dataAnalyzeContentSidebarOptions.map((text, index) => ( -
-
{ - handleSetSidebarIndex(index); - }} - className={ - sidebarIndex === index - ? 'query-result-sidebar-options-active' - : '' - } - > - - {text} -
-
- ))} -
- )} -
- {dataAnalyzeStore.requestStatus.fetchGraphs === 'success' && - renderReuslt(sidebarIndex)} - - {dataAnalyzeStore.requestStatus.fetchGraphs === 'success' && - dataAnalyzeStore.graphData.data.graph_view.vertices !== null && - dataAnalyzeStore.graphData.data.graph_view.edges !== null && - !isEmpty(dataAnalyzeStore.graphData.data.graph_view.vertices) && ( -
-
- ); - } -); - -export default QueryResult; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx deleted file mode 100644 index 1ee0764be..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useCallback } from 'react'; -import { observer } from 'mobx-react'; -import { Table } from 'hubble-ui'; -import { size } from 'lodash-es'; - -import { DataAnalyzeStoreContext } from '../../../../stores'; - -const TableQueryResult: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); - - const columnConfigs = dataAnalyzeStore.originalGraphData.data.table_view.header.map( - (title) => ({ - title, - dataIndex: title, - width: - 100 / size(dataAnalyzeStore.originalGraphData.data.table_view.header) + - '%', - render(text: any) { - if (title === 'path') { - return ; - } - - return JSON.stringify(text); - } - }) - ); - - const handlePageChange = useCallback( - (e: React.ChangeEvent) => { - dataAnalyzeStore.mutatePageNumber('tableResult', Number(e.target.value)); - }, - [dataAnalyzeStore] - ); - - return ( -
-
- - ); -}); - -// item could be obejct array which needs serialization as well -const PathItem: React.FC<{ items: string[] }> = observer(({ items }) => ( - <> - {items.map((item: string) => ( - - {JSON.stringify(item)} - - ))} - -)); - -export default TableQueryResult; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/index.ts deleted file mode 100644 index 129ccb2f7..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-analyze/query-result/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import QueryResult from './QueryResult'; - -export { QueryResult }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx deleted file mode 100644 index 63cb5c8cc..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { useRoute, useLocation } from 'wouter'; -import { isEmpty } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import { Button } from 'hubble-ui'; - -import { - ImportManagerStoreContext, - GraphManagementStoreContext, - DataImportRootStoreContext -} from '../../../../stores'; - -import { useInitDataImport } from '../../../../hooks'; - -import PassIcon from '../../../../assets/imgs/ic_pass.svg'; - -const ImportFinish: React.FC = observer(() => { - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status*' - ); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - useEffect(() => { - if (isEmpty(serverDataImportStore.importTasks) && params !== null) { - dataImportRootStore.setCurrentId(Number(params.id)); - dataImportRootStore.setCurrentJobId(Number(params.jobId)); - - serverDataImportStore.fetchAllImportTasks(); - } - }, [params?.id, params?.jobId]); - - return ( -
-
- complete -
-
{t('data-import-status.finished')}
-
- {t('data-import-status.success', { - number: - serverDataImportStore.successImportFileStatusNumber !== 0 - ? serverDataImportStore.successImportFileStatusNumber - : '-' - })} - {serverDataImportStore.pausedImportFileNumber !== 0 && - `,${t('data-import-status.pause', { - number: serverDataImportStore.pausedImportFileNumber - })}`} - {serverDataImportStore.abortImportFileNumber !== 0 && - `,${t('data-import-status.abort', { - number: serverDataImportStore.abortImportFileNumber - })}`} -
-
-
-
- -
-
- ); -}); - -export default ImportFinish; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.less deleted file mode 100644 index f04a4c2c1..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.less +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-manager { - position: absolute; - width: calc(100% - 60px); - padding: 0 16px 16px; - left: 60px; - top: 60px; - - &-with-expand-sidebar { - width: calc(100% - 200px); - left: 200px; - } - - &-content-wrapper { - height: calc(100vh - 130px); - background: #fff; - padding: 16px; - overflow: auto; - } - - &-content-header { - margin-bottom: 16px; - display: flex; - justify-content: flex-end; - } - - &-breadcrumb-wrapper { - display: flex; - justify-content: space-between; - align-items: center; - margin: 16px 0; - } - - &-empty-list { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - - & > div { - margin: 8px 0 24px; - } - } - - &-table { - &-job-name { - display: flex; - - & > .link { - color: #2b65ff; - cursor: pointer; - } - - & > img { - display: block; - margin-left: 6px; - cursor: pointer; - } - } - - &-status-wrapper { - height: 28px; - text-align: center; - border-radius: 2px; - line-height: 28px; - font-size: 14px; - } - - &-status-pending { - width: 58px; - border: 1px solid #e0e0e0; - background-color: #f5f5f5; - color: #333; - } - - &-status-process { - width: 58px; - background-color: #f2f7ff; - border: 1px solid #8cb8ff; - color: #3d88f2; - } - - &-status-failed { - width: 44px; - border: 1px solid #ff9499; - background-color: #fff2f2; - color: #e64552; - } - - &-status-success { - width: 44px; - border: 1px solid #7ed988; - background-color: #f2fff4; - color: #39bf45; - } - - &-manipulations { - display: flex; - justify-content: flex-end; - color: #2b65ff; - width: 100px; - - & > span { - cursor: pointer; - - &:last-child { - margin-left: 16px; - } - } - - &-outlink { - font-size: 14px; - color: #2b65ff; - line-height: 22px; - cursor: pointer; - display: flex; - width: fit-content; - text-decoration: none; - - &:hover { - color: #527dff; - } - - &:active { - color: #184bcc; - } - - &-disabled { - color: #999; - } - } - } - } - - &-create-job-option { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 32px; - - &:first-child { - margin-top: 8px; - } - - &:last-child { - margin-bottom: 12px; - } - - & > div:first-child { - width: 78px; - text-align: right; - } - - &-required-mark { - color: #d0021b; - } - } - - &-delete-job-option { - & span { - display: block; - } - } -} - -/* overrides */ - -// reset breadcrumb line-height -.import-manager .new-fc-one-breadcrumb.new-fc-one-breadcrumb-small { - line-height: 22px; -} - -.import-manager .new-fc-one-menu { - background-color: transparent; -} - -.import-manager-content-wrapper { - & table { - table-layout: fixed; - } -} - -.import-manager .new-fc-one-breadcrumb > span:not(:last-of-type) .new-fc-one-breadcrumb-link { - color: #2b65ff; -} - -// weired, when checking img block in devtool -// its size doesn't match what it seems -// need to hard-code it's left px here -// .import-management-table-job-name .new-fc-one-tooltip { -// left: 323px !important; -// } - -// remove horizon padding of close icon in -.new-fc-one-modal-close-x { - padding: 8px 0; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.tsx deleted file mode 100644 index 9f34968c9..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportManager.tsx +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { useRoute, useLocation, Switch, Route } from 'wouter'; -import { useTranslation } from 'react-i18next'; -import { isNull } from 'lodash-es'; -import classnames from 'classnames'; -import { Breadcrumb } from 'hubble-ui'; - -import { JobDetails } from './job-details'; -import ImportTaskList from './ImportTaskList'; -import { - GraphManagementStoreContext, - DataImportRootStoreContext, - ImportManagerStoreContext -} from '../../../../stores'; - -import './ImportManager.less'; -import ImportTasks from './ImportTasks'; - -const ImportManager: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const importManagerStore = useContext(ImportManagerStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [_, params] = useRoute( - '/graph-management/:id/data-import/import-manager/:rest*' - ); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const wrapperClassName = classnames({ - 'import-manager': true, - 'import-manager-with-expand-sidebar': graphManagementStore.isExpanded - }); - - useEffect(() => { - window.scrollTo(0, 0); - - graphManagementStore.fetchIdList(); - importManagerStore.setCurrentId(Number(params!.id)); - - return () => { - importManagerStore.dispose(); - }; - }, []); - - return ( -
-
- - { - if (!isNull(importManagerStore.selectedJob)) { - setLocation( - `/graph-management/${importManagerStore.currentId}/data-import/import-manager` - ); - importManagerStore.setSelectedJob(null); - importManagerStore.fetchImportJobList(); - } - - // reset stores - // dataMapStore.dispose(); - // serverDataImportStore.dispose(); - }} - > - {t('breadcrumb.first')} - - {importManagerStore.selectedJob && ( - - {importManagerStore.selectedJob.job_name} - - )} - -
- - - - - -
- ); -}); - -export default ImportManager; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx deleted file mode 100644 index 13168cf4e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx +++ /dev/null @@ -1,768 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useState, useContext, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { useRoute, useLocation } from 'wouter'; -import { useTranslation } from 'react-i18next'; -import { isEmpty, size } from 'lodash-es'; -import classnames from 'classnames'; -import { Button, Input, Table, Modal, Message } from 'hubble-ui'; - -import LoadingDataView from '../../../common/LoadingDataView'; -import { Tooltip as CustomTooltip } from '../../../common'; -import { - DataImportRootStoreContext, - ImportManagerStoreContext -} from '../../../../stores'; - -import AddIcon from '../../../../assets/imgs/ic_add.svg'; -import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; - -const styles = { - button: { - width: 78, - marginLeft: 12 - } -}; - -const ImportTaskList: React.FC = observer(() => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const importManagerStore = useContext(ImportManagerStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [preLoading, switchPreLoading] = useState(true); - const [isPopCreateModal, switchCreatePopModal] = useState(false); - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager' - ); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const isLoading = - preLoading || - importManagerStore.requestStatus.fetchImportJobList === 'pending'; - - const handleSearchChange = (e: React.ChangeEvent) => { - importManagerStore.mutateSearchWords(e.target.value); - }; - - const handleSearch = async () => { - importManagerStore.mutateImportJobListPageNumber(1); - importManagerStore.switchSearchedStatus(true); - await importManagerStore.fetchImportJobList(); - }; - - const handleClearSearch = () => { - importManagerStore.mutateSearchWords(''); - importManagerStore.mutateImportJobListPageNumber(1); - importManagerStore.switchSearchedStatus(false); - importManagerStore.fetchImportJobList(); - }; - - const handlePageChange = (e: React.ChangeEvent) => { - importManagerStore.mutateImportJobListPageNumber(Number(e.target.value)); - importManagerStore.fetchImportJobList(); - }; - - const columnConfigs = [ - { - title: t('import-manager.list-column-title.job-name'), - dataIndex: 'job_name', - width: '20%', - render(name: string, rowData: any) { - const readyToJump = - rowData.job_status === 'SUCCESS' || rowData.job_status === 'FAILED'; - - const wrapperClassName = classnames({ - 'no-line-break': true, - link: readyToJump - }); - - return ( -
-
{ - if (readyToJump) { - importManagerStore.setCurrentJobDetailStep('basic'); - importManagerStore.setSelectedJob(rowData.id); - - // fill in essential data in import-task stores - dataImportRootStore.setCurrentId(Number(params!.id)); - dataImportRootStore.setCurrentJobId(rowData.id); - - dataImportRootStore.fetchVertexTypeList(); - dataImportRootStore.fetchEdgeTypeList(); - - setLocation( - `/graph-management/${ - params!.id - }/data-import/import-manager/${rowData.id}/details` - ); - - // fetch related data - await Promise.all([ - dataMapStore.fetchDataMaps(), - serverDataImportStore.fetchAllImportTasks() - ]); - - dataMapStore.setSelectedFileId( - Number(dataMapStore.fileMapInfos[0].id) - ); - dataMapStore.setSelectedFileInfo(); - - // set flags about readonly and irregular process in - dataMapStore.switchReadOnly(true); - dataMapStore.switchIrregularProcess(true); - - // set flags about readonly and irregular process in - serverDataImportStore.switchExpandImportConfig(true); - serverDataImportStore.switchReadOnly(true); - serverDataImportStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - } - }} - > - {name} -
- {!isEmpty(rowData.job_remarks) && ( - - )} -
- ); - } - }, - { - title: t('import-manager.list-column-title.size'), - dataIndex: 'job_size', - width: '15%', - render(text: any) { - return
{text}
; - } - }, - { - title: t('import-manager.list-column-title.create-time'), - dataIndex: 'create_time', - render(text: string) { - return
{text}
; - } - }, - { - title: t('import-manager.list-column-title.status'), - dataIndex: 'job_status', - render(text: string) { - let specificClassName = ''; - - switch (text) { - case 'DEFAULT': - case 'UPLOADING': - specificClassName = 'import-manager-table-status-pending'; - break; - case 'MAPPING': - case 'SETTING': - case 'LOADING': - specificClassName = 'import-manager-table-status-process'; - break; - case 'FAILED': - specificClassName = 'import-manager-table-status-failed'; - break; - case 'SUCCESS': - specificClassName = 'import-manager-table-status-success'; - break; - } - - return ( -
- {t(`import-manager.list-column-status.${text}`)} -
- ); - } - }, - { - title: t('import-manager.list-column-title.time-consuming'), - dataIndex: 'job_duration', - render(text: string) { - return
{text}
; - } - }, - { - title: t('import-manager.list-column-title.manipulation'), - render(_: any, rowData: any) { - return ( -
- -
- ); - } - } - ]; - - useEffect(() => { - if (importManagerStore.currentId !== null) { - setTimeout(() => { - switchPreLoading(false); - }, 800); - - importManagerStore.fetchImportJobList(); - } - }, [importManagerStore.currentId]); - - return ( -
-
- - -
-
-
{t('import-manager.hint.no-result')} - ) : ( - - ) - } - /> - ) - }} - dataSource={isLoading ? [] : importManagerStore.importJobList} - pagination={ - isLoading - ? null - : { - hideOnSinglePage: false, - pageNo: importManagerStore.importJobListPageConfig.pageNumber, - pageSize: 10, - showSizeChange: false, - showPageJumper: false, - total: importManagerStore.importJobListPageConfig.pageTotal, - onPageNoChange: handlePageChange - } - } - /> - - { - switchCreatePopModal(false); - await importManagerStore.createNewJob(); - importManagerStore.resetJob('new'); - - if (importManagerStore.requestStatus.createNewJob === 'success') { - Message.success({ - content: t('import-manager.hint.creation-succeed'), - size: 'medium', - showCloseIcon: false - }); - - importManagerStore.fetchImportJobList(); - return; - } - - if (importManagerStore.requestStatus.createNewJob === 'failed') { - Message.error({ - content: importManagerStore.errorInfo.createNewJob.message, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('import-manager.modal.manipulations.create')} - , - - ]} - destroyOnClose - needCloseIcon={true} - onCancel={() => { - switchCreatePopModal(false); - importManagerStore.resetJob('new'); - }} - > -
-
-
- - * - - {t('import-manager.modal.create-job.job-name')} -
- { - importManagerStore.mutateNewJob('name', e.value); - importManagerStore.validateJob('new', 'name'); - }} - originInputProps={{ - onBlur: () => { - importManagerStore.validateJob('new', 'name'); - } - }} - /> -
-
-
{t('import-manager.modal.create-job.job-description')}
-
- { - importManagerStore.mutateNewJob('description', e.value); - importManagerStore.validateJob('new', 'description'); - }} - originInputProps={{ - onBlur: () => { - importManagerStore.validateJob('new', 'description'); - } - }} - /> -
-
-
-
- - ); -}); - -export interface ImportManagerManipulationProps { - jobId: number; - jobName: string; - status: string; -} - -export const ImportManagerManipulation: React.FC = observer( - ({ jobId, jobName, status }) => { - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [isPopDeleteModal, switchPopDeleteModal] = useState(false); - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager' - ); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const jumpToLoaction = (step: number, jobName: string) => async () => { - importManagerStore.setSelectedJob(jobId); - - dataImportRootStore.setCurrentId(Number(params!.id)); - dataImportRootStore.setCurrentJobId(jobId); - dataImportRootStore.setCurrentStatus(status); - - let route = ''; - - if (step === 1) { - await dataMapStore.fetchDataMaps(); - route = 'upload'; - } - - if (step === 2) { - // users may browse from - dataMapStore.switchReadOnly(false); - - await dataMapStore.fetchDataMaps(); - dataMapStore.setSelectedFileId(dataMapStore.fileMapInfos[0].id); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - - route = 'mapping'; - } - - if (step === 3) { - // users may browse from - serverDataImportStore.switchReadOnly(false); - - await dataMapStore.fetchDataMaps(); - - // need to set default selected file - dataMapStore.setSelectedFileId(dataMapStore.fileMapInfos[0].id); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - serverDataImportStore.switchIrregularProcess(true); - - if (status === 'SETTING') { - // user may browse from to - dataMapStore.switchReadOnly(false); - - serverDataImportStore.resetImportTasks(); - serverDataImportStore.switchFetchImportStatus('standby'); - serverDataImportStore.switchImportFinished(false); - } - - if (status === 'LOADING') { - // reveal previous & next button in - // users may browse from which set @readonly true - dataMapStore.switchReadOnly(false); - dataMapStore.switchLock(true); - serverDataImportStore.switchImportConfigReadOnly(true); - // users may browse from , let store fetches - // for one time and decide whether import is finished - serverDataImportStore.resetImportTasks(); - serverDataImportStore.switchImportFinished(false); - } - - route = 'loading'; - } - - dataImportRootStore.setCurrentStep(step); - - setLocation( - `/graph-management/${ - params!.id - }/data-import/import-manager/${jobId}/import-tasks/${route}` - ); - }; - - return ( -
- {(status === 'DEFAULT' || status === 'UPLOADING') && ( - - {t('import-manager.list-column-manipulations.start')} - - )} - {status === 'MAPPING' && ( - - {t('import-manager.list-column-manipulations.resume-setting')} - - )} - {(status === 'SETTING' || status === 'LOADING') && ( - - {t('import-manager.list-column-manipulations.resume-importing')} - - )} - {status === 'FAILED' && ( - // { - // setLocation( - // `/graph-management/${ - // params!.id - // }/data-import/job-error-log/${jobId}` - // ); - // }} - // > - // {t('import-manager.list-column-manipulations.check-error-log')} - // - - {t('import-manager.list-column-manipulations.check-error-log')} - - )} - { - switchPopDeleteModal(true); - }} - > - {t('import-manager.list-column-manipulations.delete')} - - { - switchPopDeleteModal(false); - await importManagerStore.deleteJob(jobId); - importManagerStore.fetchImportJobList(); - }} - key="delete" - > - {t('import-manager.modal.manipulations.delete')} - , - - ]} - destroyOnClose - needCloseIcon={true} - onCancel={() => { - switchPopDeleteModal(false); - }} - > -
- - {t('import-manager.modal.delete-job.hint', { - name: jobName - })} - - {t('import-manager.modal.delete-job.sub-hint')} -
-
-
- ); - } -); - -export const EmptyImportHints: React.FC = observer(() => { - const importManagerStore = useContext(ImportManagerStoreContext); - const [isPopCreateModal, switchCreatePopModal] = useState(false); - const { t } = useTranslation(); - - return ( -
- {t('import-manager.manipulation.create')} -
{t('import-manager.hint.empty-task')}
- - { - switchCreatePopModal(false); - await importManagerStore.createNewJob(); - importManagerStore.resetJob('new'); - - if (importManagerStore.requestStatus.createNewJob === 'success') { - Message.success({ - content: t('import-manager.hint.creation-succeed'), - size: 'medium', - showCloseIcon: false - }); - - importManagerStore.fetchImportJobList(); - return; - } - - if (importManagerStore.requestStatus.createNewJob === 'failed') { - Message.error({ - content: importManagerStore.errorInfo.createNewJob.message, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('import-manager.modal.manipulations.create')} - , - - ]} - destroyOnClose - needCloseIcon={true} - onCancel={() => { - switchCreatePopModal(false); - importManagerStore.resetJob('new'); - }} - > -
-
-
- - * - - {t('import-manager.modal.create-job.job-name')} -
- { - importManagerStore.mutateNewJob('name', e.value); - importManagerStore.validateJob('new', 'name'); - }} - onBlur={() => { - importManagerStore.validateJob('new', 'name'); - }} - /> -
-
-
{t('import-manager.modal.create-job.job-description')}
-
- { - importManagerStore.mutateNewJob('description', e.value); - importManagerStore.validateJob('new', 'description'); - }} - onBlur={() => { - importManagerStore.validateJob('new', 'description'); - }} - /> -
-
-
-
-
- ); -}); - -export default ImportTaskList; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.less deleted file mode 100644 index a93c3eddc..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.less +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-tasks { - &-breadcrumb-wrapper { - margin: 16px 0; - } - - &-content-wrapper { - height: calc(100vh - 130px); - background: #fff; - } - - &-step-wrapper { - display: flex; - height: calc(100vh - 194px); - overflow: auto; - } - - &-step-content-header { - display: flex; - margin-bottom: 16px; - - & > span { - font-weight: 900; - line-height: 24px; - } - - & img { - cursor: pointer; - } - - &-expand { - margin-left: 9.7px; - transform: rotate(-180deg); - transition: transform 0.3s; - } - - &-collpase { - margin-left: 9.7px; - transform: rotate(0deg); - transition: transform 0.3s; - } - } - - &-tooltips { - padding: 16px; - color: #ff5b5b; - } - - &-manipulation { - font-size: 14px; - color: #2b65ff; - line-height: 20px; - cursor: pointer; - display: flex; - width: fit-content; - - &-disabled { - color: #999; - } - } - - &-complete-hint { - display: flex; - height: calc(100vh - 194px); - flex-direction: column; - justify-content: center; - align-items: center; - - &-description { - display: flex; - justify-content: center; - - & > div { - margin-left: 20px; - - & > div:first-of-type { - font-size: 24px; - } - - & > div:last-of-type { - color: #333; - } - } - } - - &-manipulations { - margin: 42px auto 0; - } - } -} - -// overrides -.import-tasks .new-fc-one-breadcrumb.new-fc-one-breadcrumb-small { - line-height: 22px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx deleted file mode 100644 index 3d951614e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useMemo, useEffect, useLayoutEffect } from 'react'; -import { observer } from 'mobx-react'; -import { useRoute, useLocation } from 'wouter'; -import { isNull } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Steps, Button } from 'hubble-ui'; - -import UploadEntry from './UploadEntry'; -import { DataMapConfigs } from './datamap-configs'; -import { ServerDataImport } from './server-data-import'; -import ImportFinish from './ImportFinish'; -import { - ImportManagerStoreContext, - GraphManagementStoreContext, - DataImportRootStoreContext -} from '../../../../stores'; - -import PassIcon from '../../../../assets/imgs/ic_pass.svg'; - -import './ImportTasks.less'; - -const ImportTasks: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status*' - ); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const steps = useMemo( - () => [ - t('step.first'), - t('step.second'), - t('step.third'), - t('step.fourth') - ], - [] - ); - - const wrapperClassName = classnames({ - 'import-tasks': true, - 'import-tasks-with-expand-sidebar': graphManagementStore.isExpanded - }); - - useEffect(() => { - if (!isNull(params)) { - switch (params.status) { - case 'upload': - dataImportRootStore.setCurrentStep(1); - break; - case 'mapping': - dataImportRootStore.setCurrentStep(2); - break; - case 'loading': - dataImportRootStore.setCurrentStep(3); - break; - case 'finish': - dataImportRootStore.setCurrentStep(4); - break; - } - } - }, [params?.status]); - - useEffect(() => { - window.scrollTo(0, 0); - dataImportRootStore.setCurrentJobId(Number(params!.jobId)); - - graphManagementStore.fetchIdList(); - dataImportRootStore.setCurrentId(Number(params!.id)); - dataImportRootStore.fetchVertexTypeList(); - dataImportRootStore.fetchEdgeTypeList(); - dataMapStore.fetchDataMaps(); - - return () => { - // no specific job here, solve the problem that click back button in browser - // since relies on @selectedJob in useEffect() - importManagerStore.setSelectedJob(null); - dataImportRootStore.dispose(); - dataMapStore.dispose(); - serverDataImportStore.dispose(); - }; - }, []); - - return ( -
-
-
- - {steps.map((title: string, index: number) => ( - index + 1 - ? 'finish' - : 'wait' - } - key={title} - /> - ))} - -
- {dataImportRootStore.currentStep === 1 && } - {dataImportRootStore.currentStep === 2 && } - {dataImportRootStore.currentStep === 3 && } - {dataImportRootStore.currentStep === 4 && } -
-
- ); -}); - -export default ImportTasks; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.less deleted file mode 100644 index 7af02e583..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.less +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-tasks { - &-upload-wrapper { - padding: 0 16px 28px; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - height: calc(100vh - 250px); - } - - &-upload-drag-area { - width: 400px; - height: 200px; - padding: 83px 73px; - border: 1px dashed #979797; - // display: flex; - // justify-content: center; - // align-items: center; - font-size: 12px; - color: #666; - - &:hover, - &.file-above { - border-color: #2b65ff; - } - } - - &-upload-file-list { - margin-top: 30px; - width: 400px; - max-height: calc(100vh - 512px); - overflow-y: auto; - overflow-x: hidden; - font-size: 14px; - line-height: 20px; - color: #333; - } - - &-upload-file-info { - margin-bottom: 19px; - - &-titles { - width: 75%; - display: flex; - justify-content: space-between; - } - - &-progress-status { - width: 400px; - display: flex; - align-items: center; - - &-refresh-icon { - position: relative; - left: -22px; - cursor: pointer; - } - - &-close-icon { - position: relative; - left: -35px; - cursor: pointer; - top: 0; - - &.in-progress { - left: 0; - top: 1px; - } - - &.in-error { - left: -12px; - top: 0; - } - } - } - } - - &-manipulation-wrapper { - display: flex; - justify-content: center; - } -} - -/* override */ - -// disable original delete icon in progress bar due to the img bug -.import-tasks-upload-file-info .new-fc-one-progress-operation { - display: none; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx deleted file mode 100644 index 84f1132d6..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx +++ /dev/null @@ -1,1034 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useCallback, useRef, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { useLocation } from 'wouter'; -import classnames from 'classnames'; -import { - isEmpty, - size, - isUndefined, - range, - xor, - intersection -} from 'lodash-es'; -import { DndProvider, useDrop, DropTargetMonitor } from 'react-dnd'; -import { useTranslation } from 'react-i18next'; -import { HTML5Backend, NativeTypes } from 'react-dnd-html5-backend'; -import { Button, Progress, Message } from 'hubble-ui'; -import { CancellablePromise } from 'mobx/lib/api/flow'; - -import { DataImportRootStoreContext } from '../../../../stores'; -import { useInitDataImport } from '../../../../hooks'; - -import type { FileUploadResult } from '../../../../stores/types/GraphManagementStore/dataImportStore'; - -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import RefreshIcon from '../../../../assets/imgs/ic_refresh.svg'; - -import './UploadEntry.less'; - -const KB = 1024; -const MB = 1024 * 1024; -const GB = 1024 * 1024 * 1024; -const MAX_CONCURRENT_UPLOAD = 5; - -const UploadEntry: React.FC = observer(() => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const isInitReady = useInitDataImport(); - const { t } = useTranslation(); - const [, setLocation] = useLocation(); - - useEffect(() => { - const unload = (e: any) => { - e = e || window.event; - - if (e) { - e.returnValue = 'hint'; - } - - return 'hint'; - }; - - window.addEventListener('beforeunload', unload); - - return () => { - window.removeEventListener('beforeunload', unload); - }; - }, [dataImportRootStore]); - - return isInitReady ? ( - <> - - - -
- - -
- - ) : null; -}); - -export const FileDropZone: React.FC = observer(() => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [{ canDrop, isOver }, drop] = useDrop({ - accept: [NativeTypes.FILE], - drop(item, monitor) { - handleFileDrop(monitor); - }, - collect: (monitor) => ({ - isOver: monitor.isOver(), - canDrop: monitor.canDrop() - }) - }); - const { t } = useTranslation(); - - const uploadRef = useRef(null); - - const validateFileCondition = (files: File[]) => { - const validatedFiles = []; - const currentUploadFileNames = dataImportRootStore.fileUploadTasks - .map(({ name }) => name) - .concat(dataMapStore.fileMapInfos.map(({ name }) => name)); - - const filteredFiles = files.filter( - ({ name }) => !currentUploadFileNames.includes(name) - ); - - if (size(filteredFiles) !== size(files)) { - const duplicatedFiles = xor(files, filteredFiles); - - Message.error({ - content: ( -
-

{t('upload-files.no-duplicate')}

- {duplicatedFiles.map((file) => ( -

{file.name}

- ))} -
- ), - size: 'medium', - showCloseIcon: false - }); - } - - const totalSize = filteredFiles - .map(({ size }) => size) - .reduce((prev, curr) => prev + curr, 0); - - if (totalSize / GB > 10) { - Message.error({ - content: `${t('upload-files.over-all-size-limit')}`, - size: 'medium', - showCloseIcon: false - }); - - return []; - } - - for (const file of filteredFiles) { - const { name, size } = file; - const sizeGB = size / GB; - - if (size === 0) { - Message.error({ - content: `${name} ${t('upload-files.empty-file')}`, - size: 'medium', - showCloseIcon: false - }); - - break; - } - - if (name.slice(-4) !== '.csv') { - Message.error({ - content: `${name}: ${t('upload-files.wrong-format')}`, - size: 'medium', - showCloseIcon: false - }); - - break; - } - - if (sizeGB > 1) { - Message.error({ - content: `${name}: ${t('upload-files.over-single-size-limit')}`, - size: 'medium', - showCloseIcon: false - }); - - break; - } - - validatedFiles.push(file); - } - - dataImportRootStore.updateFileList(validatedFiles); - return validatedFiles; - }; - - const handleFileChange = (files: File[]) => { - for (const file of files) { - const { name, size } = file; - const sizeMB = size / MB; - - const chunkList = []; - // start byte to slice - let currentChunkStartIndex = 0; - // size of each chunk - let chunkSizeMB: number; - let chunkIndex = 0; - - if (sizeMB > 2 && sizeMB <= 128) { - chunkSizeMB = 2; - } else if (sizeMB > 128 && size <= 512) { - chunkSizeMB = 4; - } else { - chunkSizeMB = 5; - } - - while (currentChunkStartIndex < size) { - chunkList.push({ - chunkIndex, - chunk: file.slice( - currentChunkStartIndex, - currentChunkStartIndex + chunkSizeMB * MB - ) - }); - currentChunkStartIndex += chunkSizeMB * MB; - ++chunkIndex; - } - - dataImportRootStore.initFileUploadTask({ - name, - size, - status: 'uploading', - chunkList, - chunkTotal: Math.ceil(size / (chunkSizeMB * MB)), - uploadedChunkTotal: 0, - pendingChunkIndexes: [], - failedChunkIndexes: [], - uploadedChunksIndexes: [] - }); - } - }; - - const initFileTaskQueue = () => { - const firstRequestTasks = dataImportRootStore.fileUploadTasks.slice( - 0, - MAX_CONCURRENT_UPLOAD - ); - - firstRequestTasks.forEach(({ name, chunkList, chunkTotal }) => { - const task = dataImportRootStore.uploadFiles({ - fileName: name, - fileChunkList: chunkList[0], - fileChunkTotal: chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: name, - status: 'uploading', - task - }); - - scheduler(name, 0, task); - }); - - if (size(firstRequestTasks) < MAX_CONCURRENT_UPLOAD) { - let loopCount = 1; - - // Traverse firstRequestTasks to add extra items to queue - while (loopCount) { - const currentQueueItemSize = size(dataImportRootStore.fileUploadQueue); - - firstRequestTasks.forEach(({ chunkTotal, chunkList, name }) => { - if ( - chunkTotal > loopCount && - size(dataImportRootStore.fileUploadQueue) < MAX_CONCURRENT_UPLOAD - ) { - const task = dataImportRootStore.uploadFiles({ - fileName: name, - fileChunkList: chunkList[loopCount], - fileChunkTotal: chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: name, - status: 'uploading', - task - }); - - scheduler(name, loopCount, task); - } - }); - - if ( - size(dataImportRootStore.fileUploadQueue) === MAX_CONCURRENT_UPLOAD || - // which means no other items pushed into queue - currentQueueItemSize === size(dataImportRootStore.fileUploadQueue) - ) { - break; - } else { - loopCount += 1; - } - } - } - }; - - const scheduler = useCallback( - async ( - fileName: string, - fileChunkIndex: number, - task: CancellablePromise, - retryMode: boolean = false - ) => { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name }) => name === fileName - )!; - - // users may click back button in browser - if (isUndefined(fileUploadTask)) { - return; - } - - // the index of fileChunk is pending - dataImportRootStore.mutateFileUploadTasks( - 'pendingChunkIndexes', - [...fileUploadTask.pendingChunkIndexes, fileChunkIndex], - fileName - ); - - let result; - - // cancel all uploads by user - if (fileUploadTask.status === 'failed') { - task.cancel(); - result = undefined; - } else { - result = await task; - } - - if (isUndefined(result) || result.status === 'FAILURE') { - if (fileUploadTask.status !== 'failed') { - if (dataImportRootStore.errorInfo.uploadFiles.message !== '') { - Message.error({ - content: dataImportRootStore.errorInfo.uploadFiles.message, - size: 'medium', - showCloseIcon: false - }); - } - - dataImportRootStore.mutateFileUploadTasks( - 'status', - 'failed', - fileName - ); - } - - dataImportRootStore.mutateFileUploadTasks( - 'failedChunkIndexes', - [...fileUploadTask.failedChunkIndexes, fileChunkIndex], - fileName - ); - - dataImportRootStore.mutateFileUploadTasks( - 'pendingChunkIndexes', - [], - fileName - ); - - dataImportRootStore.removeFileUploadQueue(fileName); - return; - } - - if (result.status === 'SUCCESS') { - dataImportRootStore.mutateFileUploadTasks( - 'uploadedChunkTotal', - fileUploadTask.uploadedChunkTotal + 1, - fileName - ); - - dataImportRootStore.mutateFileUploadTasks( - 'uploadedChunksIndexes', - [...fileUploadTask.uploadedChunksIndexes, fileChunkIndex], - fileName - ); - - if (retryMode) { - // remove failed chunk index after succeed - dataImportRootStore.mutateFileUploadTasks( - 'failedChunkIndexes', - fileUploadTask.failedChunkIndexes.filter( - (failedChunkIndex) => failedChunkIndex !== fileChunkIndex - ), - fileName - ); - - // if there are no longer existed failed chunk index, - // set retry mode to false - if (size(fileUploadTask.failedChunkIndexes) === 0) { - retryMode = false; - } - } - - // all file chunks are uploaded - if (fileUploadTask.chunkTotal === fileUploadTask.uploadedChunkTotal) { - // remove fully uploaded file from queue - dataImportRootStore.removeFileUploadQueue(fileName); - // change the status of fully uploaded file to success - dataImportRootStore.mutateFileUploadTasks( - 'status', - 'success', - fileName - ); - // clear chunkList of fully uploaded file to release memory - dataImportRootStore.mutateFileUploadTasks('chunkList', [], fileName); - - // no uploading files - if ( - dataImportRootStore.fileUploadTasks.every( - ({ status }) => status !== 'uploading' - ) - ) { - dataMapStore.fetchDataMaps(); - return; - } - - if (size(dataImportRootStore.fileRetryUploadList) !== 0) { - // check if there are some failed uploads waiting in retry queue - const fileName = dataImportRootStore.pullRetryFileUploadQueue()!; - const retryFileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name }) => name === fileName - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName, - fileChunkList: - retryFileUploadTask.chunkList[ - retryFileUploadTask.failedChunkIndexes[0] - ], - fileChunkTotal: retryFileUploadTask.chunkTotal - }); - - scheduler( - retryFileUploadTask.name, - retryFileUploadTask.failedChunkIndexes[0], - task, - true - ); - - return; - } - - for (const [ - fileIndex, - fileUploadTask - ] of dataImportRootStore.fileUploadTasks.entries()) { - // if there still has files which are fully not being uploaded - if ( - fileUploadTask.uploadedChunkTotal === 0 && - size(fileUploadTask.pendingChunkIndexes) === 0 - ) { - const task = dataImportRootStore.uploadFiles({ - fileName: fileUploadTask.name, - fileChunkList: - dataImportRootStore.fileUploadTasks[fileIndex].chunkList[0], - fileChunkTotal: - dataImportRootStore.fileUploadTasks[fileIndex].chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: fileUploadTask.name, - status: 'uploading', - task - }); - - scheduler(fileUploadTask.name, 0, task); - - // if queue is full, do not loop to add task - if ( - size(dataImportRootStore.fileUploadQueue) === - MAX_CONCURRENT_UPLOAD - ) { - break; - } - } - } - - return; - } - - let nextUploadChunkIndex; - - if (retryMode) { - const duplicateIndexes = intersection( - fileUploadTask.uploadedChunksIndexes, - fileUploadTask.failedChunkIndexes - ); - - if (!isEmpty(duplicateIndexes)) { - dataImportRootStore.mutateFileUploadTasks( - 'failedChunkIndexes', - fileUploadTask.failedChunkIndexes.filter( - (failedIndex) => !duplicateIndexes.includes(failedIndex) - ), - fileName - ); - } - - if (isEmpty(fileUploadTask.failedChunkIndexes)) { - retryMode = false; - } - - nextUploadChunkIndex = - fileUploadTask.failedChunkIndexes[0] || - Math.max( - ...fileUploadTask.pendingChunkIndexes, - // maybe it just turns retry mode to false - // and the failed chunk index could be less than - // the one which uploads success - // we have to compare uploaded chunk index either - ...fileUploadTask.uploadedChunksIndexes - ) + 1; - } else { - nextUploadChunkIndex = - Math.max( - ...fileUploadTask.pendingChunkIndexes, - // maybe it just turns retry mode to false - // and the failed chunk index could be less than - // the one which uploads success - // we have to compare uploaded chunk index either - ...fileUploadTask.uploadedChunksIndexes - ) + 1; - } - - // remove pending here to get right result of nextUploadChunkIndex - dataImportRootStore.mutateFileUploadTasks( - 'pendingChunkIndexes', - fileUploadTask.pendingChunkIndexes.filter( - (pendingChunkIndex) => pendingChunkIndex !== fileChunkIndex - ), - fileName - ); - - // no recursion - if ( - nextUploadChunkIndex > fileUploadTask.chunkTotal - 1 || - fileUploadTask.uploadedChunksIndexes.includes(nextUploadChunkIndex) - ) { - return; - } - - scheduler( - fileName, - nextUploadChunkIndex, - dataImportRootStore.uploadFiles({ - fileName, - fileChunkList: fileUploadTask.chunkList[nextUploadChunkIndex], - fileChunkTotal: fileUploadTask.chunkTotal - }), - retryMode - ); - - return; - } - }, - [] - ); - - const handleFileDrop = async (monitor: DropTargetMonitor) => { - if (monitor) { - const fileList = monitor.getItem().files; - const currentValidateFileList = validateFileCondition(fileList); - const isFirstBatchUpload = - size(dataImportRootStore.fileUploadTasks) === 0; - - if (isEmpty(currentValidateFileList)) { - return; - } - - await dataImportRootStore.fetchFilehashes( - currentValidateFileList.map(({ name }) => name) - ); - - handleFileChange(currentValidateFileList); - - if (isFirstBatchUpload) { - initFileTaskQueue(); - } else { - const spareQueueItems = - MAX_CONCURRENT_UPLOAD - size(dataImportRootStore.fileUploadQueue); - - if (spareQueueItems === 0) { - return; - } - - // if new selected files are less than spare spaces from queue - if (spareQueueItems >= size(currentValidateFileList)) { - currentValidateFileList.forEach(({ name }) => { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name: fileName }) => fileName === name - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName: name, - fileChunkList: fileUploadTask.chunkList[0], - fileChunkTotal: fileUploadTask.chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: fileUploadTask.name, - status: 'uploading', - task - }); - scheduler(name, 0, task); - }); - } else { - range(spareQueueItems).forEach((fileUploadTaskIndex) => { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name: fileName }) => - fileName === currentValidateFileList[fileUploadTaskIndex].name - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName: fileUploadTask.name, - fileChunkList: fileUploadTask.chunkList[0], - fileChunkTotal: fileUploadTask.chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: fileUploadTask.name, - status: 'uploading', - task - }); - scheduler(fileUploadTask.name, 0, task); - }); - } - } - } - }; - - const handleFileSelect = async (e: React.ChangeEvent) => { - // event in async callback should call this - e.persist(); - - if (e.target.files) { - const fileList = Array.from(e.target.files); - const currentValidateFileList = validateFileCondition(fileList); - const isFirstBatchUpload = - size(dataImportRootStore.fileUploadTasks) === 0; - - if (isEmpty(currentValidateFileList)) { - return; - } - - await dataImportRootStore.fetchFilehashes( - currentValidateFileList.map(({ name }) => name) - ); - - handleFileChange(currentValidateFileList); - - if (isFirstBatchUpload) { - initFileTaskQueue(); - } else { - const spareQueueItems = - MAX_CONCURRENT_UPLOAD - size(dataImportRootStore.fileUploadQueue); - - if (spareQueueItems === 0) { - return; - } - - // if new selected files are less than spare spaces from queue - if (spareQueueItems >= size(currentValidateFileList)) { - currentValidateFileList.forEach(({ name }) => { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name: fileName }) => fileName === name - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName: name, - fileChunkList: fileUploadTask.chunkList[0], - fileChunkTotal: fileUploadTask.chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: fileUploadTask.name, - status: 'uploading', - task - }); - scheduler(name, 0, task); - }); - } else { - range(spareQueueItems).forEach((fileUploadTaskIndex) => { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name: fileName }) => - fileName === currentValidateFileList[fileUploadTaskIndex].name - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName: fileUploadTask.name, - fileChunkList: fileUploadTask.chunkList[0], - fileChunkTotal: fileUploadTask.chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName: fileUploadTask.name, - status: 'uploading', - task - }); - scheduler(fileUploadTask.name, 0, task); - }); - } - } - } - - // select same file will not trigger onChange on input[type="file"] - // need to reset its value here - e.target.value = ''; - }; - - const dragAreaClassName = classnames({ - 'import-tasks-upload-drag-area': true, - 'file-above': canDrop && isOver - }); - - // if upload file api throw errors - useEffect(() => { - if (dataImportRootStore.errorInfo.uploadFiles.message !== '') { - Message.error({ - content: dataImportRootStore.errorInfo.uploadFiles.message, - size: 'medium', - showCloseIcon: false - }); - } - }, [dataImportRootStore.errorInfo.uploadFiles.message]); - - return ( -
- - -
- ); -}); - -export interface FileListProps { - scheduler: ( - fileName: string, - fileChunkIndex: number, - task: CancellablePromise, - retryMode?: boolean - ) => Promise; -} - -export const FileList: React.FC = observer(({ scheduler }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore } = dataImportRootStore; - - const handleRetry = (fileName: string) => () => { - // if (size(dataImportRootStore.fileUploadQueue) === 0) { - if (size(dataImportRootStore.fileUploadQueue) < MAX_CONCURRENT_UPLOAD) { - const fileUploadTask = dataImportRootStore.fileUploadTasks.find( - ({ name }) => name === fileName - )!; - - const task = dataImportRootStore.uploadFiles({ - fileName, - fileChunkList: - fileUploadTask.chunkList[fileUploadTask.failedChunkIndexes[0]] || - fileUploadTask.chunkList[ - Math.max( - ...fileUploadTask.pendingChunkIndexes, - // maybe it just turns retry mode to false - // and the failed chunk index could be less than - // the one which uploads success - // we have to compare uploaded chunk index either - ...fileUploadTask.uploadedChunksIndexes - ) + 1 - ], - fileChunkTotal: fileUploadTask.chunkTotal - }); - - dataImportRootStore.addFileUploadQueue({ - fileName, - status: 'uploading', - task - }); - - dataImportRootStore.mutateFileUploadTasks( - 'status', - 'uploading', - fileName - ); - - if (!isEmpty(fileUploadTask.failedChunkIndexes)) { - dataImportRootStore.mutateFileUploadTasks( - 'failedChunkIndexes', - [...fileUploadTask.failedChunkIndexes.slice(1)], - fileName - ); - } - - scheduler( - fileName, - fileUploadTask.failedChunkIndexes[0] || - Math.max( - ...fileUploadTask.pendingChunkIndexes, - // maybe it just turns retry mode to false - // and the failed chunk index could be less than - // the one which uploads success - // we have to compare uploaded chunk index either - ...fileUploadTask.uploadedChunksIndexes - ) + 1, - task, - true - ); - } else { - // or just add filename to retry queue, - // let other scheduler decide when to call it - dataImportRootStore.addRetryFileUploadQueue(fileName); - } - }; - - const handleDelete = (name: string, existed = false) => async () => { - await dataImportRootStore.deleteFiles(name); - - if (dataImportRootStore.requestStatus.deleteFiles === 'failed') { - Message.error({ - content: dataImportRootStore.errorInfo.deleteFiles.message, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if (existed === true) { - dataMapStore.fetchDataMaps(); - return; - } - - dataImportRootStore.removeFileUploadTasks(name); - - // if no uploading files, fetch data maps again - if ( - !dataImportRootStore.fileUploadTasks.some( - ({ status }) => status === 'uploading' - ) - ) { - dataMapStore.fetchDataMaps(); - } - }; - - return ( -
- {dataImportRootStore.fileUploadTasks.map( - ({ name, size, chunkTotal, uploadedChunkTotal, status }) => { - const [sizeKB, sizeMB, sizeGB] = [size / KB, size / MB, size / GB]; - const convertedSize = - sizeGB > 1 - ? String(sizeGB.toFixed(2)) + ' GB' - : sizeMB > 1 - ? String(sizeMB.toFixed(2)) + ' MB' - : sizeKB > 1 - ? String(sizeKB.toFixed(2)) + ' KB' - : String(size) + ' Byte'; - const progress = Number( - ((uploadedChunkTotal / chunkTotal) * 100).toFixed(2) - ); - - return ( -
-
- {name} - {convertedSize} -
-
- - {status === 'failed' && progress !== 100 && ( - retry-upload-file - )} - delete-file -
-
- ); - } - )} - {dataMapStore.fileMapInfos - .filter( - ({ name }) => - !dataImportRootStore.successFileUploadTaskNames.includes(name) - ) - .map(({ name, total_size }) => { - return ( -
-
- {name} - {total_size} -
-
- - delete-file -
-
- ); - })} -
- ); -}); - -export default UploadEntry; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less deleted file mode 100644 index 174042063..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less +++ /dev/null @@ -1,393 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-tasks { - &-data-map { - margin-bottom: 40px; - } - - &-data-map-tooltip { - background: #fff; - box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2); - border-radius: 4px; - padding: 16px; - font-size: 14px; - - &-text { - margin-bottom: 8px; - - &:nth-child(2) { - color: #e64552; - font-size: 16px; - margin-bottom: 12px; - } - - &:last-child { - margin-bottom: 0; - } - } - - &.no-display { - display: none; - } - } - - &-data-type-info-wrapper { - // margin-bottom: 16px; - padding: 24px 16px; - height: 100px; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - display: flex; - position: relative; - } - - &-data-type-info { - display: flex; - flex-direction: column; - padding-right: 8px; - // flex: 1; - - &:nth-child(1) { - // width: 24%; - flex: 1 0; - - & img.collpase { - transform: rotate(-90deg); - transition: transform 0.3s; - } - - & img.expand { - transform: rotate(0deg); - transition: transform 0.3s; - } - } - - &:nth-child(2) { - flex: 1 0; - } - - &:nth-child(3) { - flex: 1 0; - } - - &:last-child { - padding-right: 0; - width: 168px; - flex-direction: row; - align-items: center; - } - - & > div { - display: flex; - } - - &-title { - font-size: 12px; - line-height: 18px; - color: #666; - } - - &-content { - max-width: 180px; - margin-top: 13px; - font-size: 16px; - line-height: 22px; - color: #333; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - } - - &-data-options { - display: flex; - line-height: 32px; - margin-bottom: 32px; - font-size: 14px; - align-items: center; - - &-title { - display: flex; - justify-content: flex-end; - align-items: center; - width: 62px; - margin-right: 44px; - color: #333; - font-size: 14px; - - &.in-card { - width: 76px; - } - } - - &-value-maps { - width: 650px; - background-color: #f5f5f5; - margin-bottom: 16px; - padding: 16px 40px; - } - - &-expand-table { - width: 80%; - display: flex; - flex-direction: column; - - &-row { - display: flex; - margin-bottom: 8px; - - &:first-child { - margin-bottom: 12px; - } - } - - &-column { - height: 32px; - display: flex; - align-items: center; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 14px; - line-height: 32px; - - &:nth-child(1) { - flex-basis: 30%; - } - - &:nth-child(2) { - flex-basis: 30%; - } - - &:nth-child(3) { - flex-basis: 30%; - } - - &:last-child { - flex-basis: 10%; - justify-content: center; - } - } - } - - &-expand-dropdown { - width: 382px; - max-height: 328px; - overflow: auto; - background: #fff; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - color: #333; - - & > div { - padding: 0 16px; - height: 32px; - display: flex; - align-items: center; - } - } - - &-expand-values { - display: flex; - flex-direction: column; - } - - &-expand-value { - display: flex; - margin-bottom: 32px; - - &:nth-last-child(2) { - margin-bottom: 16px; - } - - &:nth-last-child(1) { - margin-bottom: 0; - } - - & img { - margin: 0 2px; - } - - &-column { - height: 32px; - display: flex; - align-items: center; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - font-size: 14px; - line-height: 32px; - - &:nth-child(1) { - width: 30%; - } - - &:nth-child(2) { - width: 30%; - } - - &:nth-child(3) { - width: 30%; - } - - &:nth-child(4) { - width: 10%; - } - } - } - - &-expand-info { - display: flex; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - - & > span { - font-size: 14px; - line-height: 32px; - - &:nth-child(1) { - width: 60px; - } - } - - & > img { - margin: 0 6px; - } - } - - &-expand-input { - margin-top: 12px; - - &:first-child { - margin-top: 0; - } - } - } - - &-data-type-manipulations { - display: flex; - margin-left: auto; - } - - &-data-map-manipulations { - width: 100%; - margin-top: 40px; - display: flex; - justify-content: center; - } - - &-data-map-configs { - padding: 0 16px; - width: 100%; - overflow: auto; - } - - // &-data-map-config-header { - // display: flex; - // margin-bottom: 16px; - - // & > span { - // font-weight: 900; - // line-height: 24px; - // } - - // & img { - // cursor: pointer; - // } - - // &-expand { - // margin-left: 9.7px; - // transition: transform 0.3s; - // } - - // &-collpase { - // margin-left: 9.7px; - // transform: rotate(-180deg); - // transition: transform 0.3s; - // } - // } - - &-data-map-config-card { - // prevent box-shadow being cliped - // margin: 0 3px; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - margin-bottom: 16px; - padding: 16px; - } - - &-data-map-config-view { - width: 100%; - background: #fafafa; - border: 1px solid #eee; - border-radius: 0 0 3px 3px; - margin-bottom: 16px; - padding: 16px; - // position: absolute; - // top: 100px; - // left: 0; - z-index: 9; - } -} - -.import-tasks-tooltips { - width: 368px; - background: #fff; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - padding: 24px; - font-size: 14px; - color: #333; - - & p { - margin: 0; - - &:nth-of-type(1) { - margin-bottom: 16px; - font-weight: 900; - font-size: 16px; - color: #000; - } - - &:nth-of-type(2) { - margin-bottom: 24px; - font-size: 14px; - color: #333; - } - } -} - -/* override */ - -.import-tasks-data-options - .new-fc-one-checkbox-group.new-fc-one-checkbox-group-medium.new-fc-one-checkbox-group-row { - line-height: normal; -} - -// reveal scrollbar by auto, directly override style on will both set internal wrapper and
    itself, which cause shrinks on . -.import-tasks-step-wrapper - > .new-fc-one-menu-inline-box.new-fc-one-menu-inline-medium - > ul { - overflow: auto; -} - -.import-tasks-data-map-configs - .new-fc-one-input-error.new-fc-one-input-error-layer { - word-break: keep-all; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx deleted file mode 100644 index 562fac5aa..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { isEmpty } from 'lodash-es'; -import { Menu } from 'hubble-ui'; - -import { - ImportManagerStoreContext, - DataImportRootStoreContext -} from '../../../../../stores'; -import FileConfigs from './FileConfigs'; -import TypeConfigs from './TypeConfigs'; -import { useInitDataImport } from '../../../../../hooks'; - -import './DataMapConfigs.less'; - -export interface DataMapConfigsProps { - height?: string; -} - -const DataMapConfigs: React.FC = observer(({ height }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const isInitReady = useInitDataImport(); - const realHeight = height ? height : 'calc(100vh - 194px)'; - - return isInitReady ? ( -
    - { - // reset state from the previous file - dataMapStore.resetDataMaps(); - - // if data import starts, do not expand collpase - if (!serverDataImportStore.isServerStartImport) { - dataMapStore.switchExpand('file', true); - } - - dataMapStore.setSelectedFileId(Number(e.key)); - dataMapStore.setSelectedFileInfo(); - serverDataImportStore.switchImporting(false); - }} - > - {dataMapStore.fileMapInfos - .filter(({ file_status }) => file_status === 'COMPLETED') - .map(({ id, name }) => ( - - {name} - - ))} - -
    - - -
    -
    - ) : null; -}); - -export default DataMapConfigs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx deleted file mode 100644 index 84729a65a..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx +++ /dev/null @@ -1,1707 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState } from 'react'; -import { observer } from 'mobx-react'; -import { isUndefined, isEmpty, size, cloneDeep } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Input, Select, Checkbox, Message } from 'hubble-ui'; - -import { Tooltip } from '../../../../common'; -import { DataImportRootStoreContext } from '../../../../../stores'; -import { - VertexType, - EdgeType -} from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; -import TypeConfigManipulations from './TypeConfigManipulations'; -import { getUnicodeLength } from '../../../../../utils'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; -import BlueArrowIcon from '../../../../../assets/imgs/ic_arrow_blue.svg'; -import CloseIcon from '../../../../../assets/imgs/ic_close_16.svg'; -import MapIcon from '../../../../../assets/imgs/ic_yingshe_16.svg'; - -export interface EdgeMapProps { - checkOrEdit: 'check' | 'edit' | boolean; - onCancelCreateEdge: () => void; - edgeMapIndex?: number; -} - -const EdgeMap: React.FC = observer( - ({ checkOrEdit, onCancelCreateEdge, edgeMapIndex }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore } = dataImportRootStore; - const [isAddMapping, switchAddMapping] = useState(false); - const [isExpandAdvance, switchExpandAdvance] = useState(false); - const { t } = useTranslation(); - - const isCheck = checkOrEdit === 'check'; - const isEdit = checkOrEdit === 'edit'; - const edgeMap = - checkOrEdit !== false - ? dataMapStore.editedEdgeMap! - : dataMapStore.newEdgeType; - const filteredColumnNamesInSelection = - checkOrEdit !== false - ? dataMapStore.filteredColumnNamesInEdgeEditSelection - : dataMapStore.filteredColumnNamesInEdgeNewSelection; - - const findEdge = (collection: EdgeType[], label: string) => - collection.find(({ name }) => name === label); - - const findVertex = (collection: VertexType[], label: string) => - collection.find(({ name }) => name === label); - - const selectedEdge = findEdge(dataImportRootStore.edgeTypes, edgeMap.label); - - let selectedSourceVertex: VertexType | undefined; - let selectedTargetVertex: VertexType | undefined; - - if (!isUndefined(selectedEdge)) { - selectedSourceVertex = findVertex( - dataImportRootStore.vertexTypes, - selectedEdge.source_label - ); - selectedTargetVertex = findVertex( - dataImportRootStore.vertexTypes, - selectedEdge.target_label - ); - } - - const isStrategyAutomatic = - selectedSourceVertex?.id_strategy === 'AUTOMATIC' || - selectedTargetVertex?.id_strategy === 'AUTOMATIC'; - - const handleExpand = () => { - dataMapStore.switchExpand('type', !dataMapStore.isExpandTypeConfig); - }; - - const handleExpandAdvance = () => { - switchExpandAdvance(!isExpandAdvance); - }; - - const wrapperName = classnames({ - 'import-tasks-data-map-config-card': !Boolean(checkOrEdit), - 'import-tasks-data-map-config-view': Boolean(checkOrEdit) - }); - - const expandAdvanceClassName = classnames({ - 'import-tasks-step-content-header-expand': isExpandAdvance, - 'import-tasks-step-content-header-collpase': !isExpandAdvance - }); - - const expandAddMapClassName = classnames({ - 'import-tasks-step-content-header-expand': isAddMapping, - 'import-tasks-step-content-header-collpase': !isAddMapping - }); - - const addMappingManipulationClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': - size(filteredColumnNamesInSelection) === 0 || isStrategyAutomatic - }); - - const addNullValueClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': edgeMap.null_values.customized.includes( - '' - ) - }); - - const addPropertyMapClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': - !dataMapStore.allowAddPropertyMapping('edge') || isStrategyAutomatic - }); - - return ( -
    - {Boolean(checkOrEdit) ? ( -
    - {t('data-configs.type.basic-settings')} -
    - ) : ( -
    - {t('data-configs.type.edge.title')} - collpaseOrExpand -
    - )} -
    - - {t('data-configs.type.edge.type')}: - - {isCheck ? ( - {dataMapStore.editedEdgeMap!.label} - ) : ( - - )} -
    - - {!isUndefined(selectedSourceVertex) && ( -
    - - {t('data-configs.type.edge.source-ID-strategy')}: - - - {t('data-configs.type.hint.lack-support-for-automatic')} - - } - > - {t( - `data-configs.type.ID-strategy.${selectedSourceVertex?.id_strategy}` - )} - {selectedSourceVertex?.id_strategy === 'PRIMARY_KEY' && - `-${selectedSourceVertex?.primary_keys.join(',')}`} - -
    - )} - {edgeMap.source_fields.map((idField, fieldIndex) => { - return ( -
    - - {t('data-configs.type.edge.ID-column') + - (selectedSourceVertex?.id_strategy === 'PRIMARY_KEY' - ? fieldIndex + 1 - : '')} - : - - {isCheck ? ( - {idField} - ) : ( - - )} -
    - ); - })} - - {!isUndefined(selectedTargetVertex) && ( -
    - - {t('data-configs.type.edge.target-ID-strategy')}: - - - {t('data-configs.type.hint.lack-support-for-automatic')} - - } - > - {t( - `data-configs.type.ID-strategy.${selectedTargetVertex?.id_strategy}` - )} - {selectedTargetVertex?.id_strategy === 'PRIMARY_KEY' && - `-${selectedTargetVertex?.primary_keys.join(',')}`} - -
    - )} - {edgeMap.target_fields.map((idField, fieldIndex) => { - return ( -
    - - {t('data-configs.type.edge.ID-column') + - (selectedTargetVertex?.id_strategy === 'PRIMARY_KEY' - ? fieldIndex + 1 - : '')} - : - - {isCheck ? ( - {idField} - ) : ( - - )} -
    - ); - })} - -
    - - {t('data-configs.type.edge.map-settings')}: - -
    - {isCheck && - isEmpty(dataMapStore.editedEdgeMap?.field_mapping) && - '-'} - - {((Boolean(checkOrEdit) === false && - !isEmpty(dataMapStore.newEdgeType.field_mapping)) || - (Boolean(checkOrEdit) !== false && - !isEmpty(dataMapStore.editedEdgeMap!.field_mapping))) && ( -
    -
    - {t('data-configs.type.edge.add-map.name')} -
    -
    - {t('data-configs.type.edge.add-map.sample')} -
    -
    - {t('data-configs.type.edge.add-map.property')} -
    -
    - {!isCheck && ( - { - isEdit - ? dataMapStore.toggleEdgeSelectAllFieldMapping( - 'edit', - false, - selectedEdge - ) - : dataMapStore.toggleEdgeSelectAllFieldMapping( - 'new', - false, - selectedEdge - ); - }} - > - {t('data-configs.type.edge.add-map.clear')} - - )} -
    -
    - )} - {edgeMap.field_mapping.map( - ({ column_name, mapped_name }, fieldIndex) => { - const param = checkOrEdit === false ? 'new' : 'edit'; - - return ( -
    -
    - {column_name} -
    -
    - { - dataMapStore.selectedFileInfo?.file_setting - .column_values[ - dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( - (name) => column_name === name - ) - ] - } -
    -
    - {isCheck ? ( - {mapped_name} - ) : ( - - )} -
    -
    - {!isCheck && ( - close { - dataMapStore.removeEdgeFieldMapping( - param, - column_name - ); - }} - /> - )} -
    -
    - ); - } - )} - - {!isCheck && ( - <> -
    { - if ( - size(filteredColumnNamesInSelection) === 0 || - isStrategyAutomatic - ) { - switchAddMapping(false); - return; - } - - switchAddMapping(!isAddMapping); - }} - > -
    - {t('data-configs.type.edge.add-map.title')} -
    - expand -
    - {isAddMapping && ( -
    -
    - - { - if (isEdit) { - const isIndeterminate = - !isEmpty( - dataMapStore.editedEdgeMap?.field_mapping - ) && - size( - dataMapStore.editedEdgeMap?.field_mapping - ) !== - size( - dataMapStore.filteredColumnNamesInEdgeEditSelection - ); - - dataMapStore.toggleEdgeSelectAllFieldMapping( - 'edit', - // if isIndeterminate is true, e.target.checked is false - isIndeterminate || e.target.checked, - selectedEdge - ); - } else { - const isIndeterminate = - !isEmpty( - dataMapStore.newEdgeType.field_mapping - ) && - size(dataMapStore.newEdgeType.field_mapping) !== - size( - dataMapStore.filteredColumnNamesInEdgeNewSelection - ); - - dataMapStore.toggleEdgeSelectAllFieldMapping( - 'new', - isIndeterminate || e.target.checked, - selectedEdge - ); - } - }} - > - {t('data-configs.type.edge.select-all')} - - -
    - {filteredColumnNamesInSelection.map((name) => { - const param = isEdit ? 'edit' : 'new'; - - let combinedText = name; - let currentColumnValue = dataMapStore.selectedFileInfo - ?.file_setting.column_values[ - dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( - (columnName) => name === columnName - ) - ] as string; - combinedText += `(${currentColumnValue})`; - - if (getUnicodeLength(combinedText) > 35) { - combinedText = combinedText.slice(0, 35) + '...'; - } - - const mappingValue = selectedEdge?.properties.find( - ({ name: propertyName }) => propertyName === name - )?.name; - - return ( -
    - - column_name === name - ) - ) - } - onChange={(e: any) => { - if (e.target.checked) { - dataMapStore.setEdgeFieldMappingKey( - param, - name, - mappingValue - ); - } else { - dataMapStore.removeEdgeFieldMapping( - param, - name - ); - } - }} - > - {combinedText} - - -
    - ); - })} -
    - )} - - )} -
    -
    - -
    - {t('data-configs.type.edge.advance.title')} - {!isCheck && ( - collpaseOrExpand - )} -
    - {(isExpandAdvance || isCheck) && ( - <> -
    - - {t('data-configs.type.edge.advance.nullable-list.title')}: - - {isCheck ? ( - - {dataMapStore - .editedEdgeMap!.null_values.checked.filter( - (value) => value !== 'null' - ) - .map((value) => - value === '' - ? t('addition.common.null-value') - : value === 'NULL' - ? 'NULL/null' - : value - ) - .concat(dataMapStore.editedEdgeMap!.null_values.customized) - .join(',')} - - ) : ( - <> -
    - { - isEdit - ? dataMapStore.editCheckedNullValues( - 'edit', - 'edge', - checkedList - ) - : dataMapStore.editCheckedNullValues( - 'new', - 'edge', - checkedList - ); - }} - value={ - isEdit - ? dataMapStore.editedEdgeMap!.null_values.checked - : dataMapStore.newEdgeType.null_values.checked - } - > - NULL/null - - {t( - 'data-configs.type.edge.advance.nullable-list.empty' - )} - - -
    - { - dataMapStore.toggleCustomNullValue( - isEdit ? 'edit' : 'new', - 'edge', - e.target.checked - ); - - if (e.target.checked) { - dataMapStore.addValidateValueMappingOption( - 'null_values' - ); - } else { - dataMapStore.resetValidateValueMapping( - 'null_values' - ); - } - }} - > - {t( - 'data-configs.type.edge.advance.nullable-list.custom' - )} - -
    -
    -
    - {isEdit ? ( - <> - {dataMapStore.editedEdgeMap?.null_values.customized.map( - (nullValue, nullValueIndex) => ( -
    - { - dataMapStore.editCustomNullValues( - 'edit', - 'edge', - e.value, - nullValueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'null_values', - nullValueIndex - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore.validateAdvanceConfigErrorMessage - .null_values[nullValueIndex] - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'null_values', - nullValueIndex - ); - } - }} - /> -
    - ) - )} - {!isEmpty( - dataMapStore.editedEdgeMap?.null_values.customized - ) && ( -
    - { - const extraNullValues = - dataMapStore.editedEdgeMap?.null_values - .customized; - - if (!extraNullValues?.includes('')) { - dataMapStore.addCustomNullValues( - 'edit', - 'edge' - ); - } - }} - > - {t('data-configs.manipulations.add')} - -
    - )} - - ) : ( - <> - {dataMapStore.newEdgeType.null_values.customized.map( - (nullValue, nullValueIndex) => ( -
    - { - dataMapStore.editCustomNullValues( - 'new', - 'edge', - e.value, - nullValueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'null_values', - nullValueIndex - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore.validateAdvanceConfigErrorMessage - .null_values[nullValueIndex] - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'null_values', - nullValueIndex - ); - } - }} - /> -
    - ) - )} - {!isEmpty( - dataMapStore.newEdgeType.null_values.customized - ) && ( -
    - { - const extraNullValues = - dataMapStore.newEdgeType?.null_values - .customized; - - if (!extraNullValues.includes('')) { - dataMapStore.addCustomNullValues( - 'new', - 'edge' - ); - } - }} - > - {t('data-configs.manipulations.add')} - -
    - )} - - )} -
    - - )} -
    - -
    - - {t('data-configs.type.edge.advance.map-property-value.title')}: - - {!isCheck && - (isEdit - ? isEmpty(dataMapStore.editedEdgeMap?.value_mapping) - : isEmpty(dataMapStore.newEdgeType.value_mapping)) && ( -
    { - if (isStrategyAutomatic) { - return; - } - - isEdit - ? dataMapStore.addEdgeValueMapping('edit') - : dataMapStore.addEdgeValueMapping('new'); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings' - ); - }} - > - {t( - 'data-configs.type.edge.advance.map-property-value.add-value' - )} -
    - )} - - {isCheck && ( -
    - {isEmpty(dataMapStore.editedEdgeMap?.value_mapping) - ? '-' - : dataMapStore.editedEdgeMap?.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - {column_name} -
    - {values.map(({ column_value, mapped_value }) => ( -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.value-map' - )} - - {column_value} - map - {mapped_value} -
    - ))} -
    - ) - )} -
    - )} -
    - - {/* property value mapping form */} - {!isCheck && - (!Boolean(checkOrEdit) - ? dataMapStore.newEdgeType.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - - { - dataMapStore.removeEdgeValueMapping( - 'new', - valueMapIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'edge', - 'new', - 'value_mappings', - valueMapIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - -
    -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.value-map' - )} - : - -
    - {values.map( - ({ column_value, mapped_value }, valueIndex) => ( -
    - { - dataMapStore.editEdgeValueMappingColumnValueName( - 'new', - 'column_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].column_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - } - }} - /> - map - { - dataMapStore.editEdgeValueMappingColumnValueName( - 'new', - 'mapped_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].mapped_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - } - }} - /> - {values.length > 1 && ( - { - dataMapStore.removeEdgeValueMappingValue( - 'new', - valueMapIndex, - valueIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'edge', - 'new', - 'value_mappings_value', - valueMapIndex, - valueIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - - )} -
    - ) - )} -
    -
    - { - if ( - !dataMapStore.allowAddPropertyValueMapping( - 'edge', - valueMapIndex - ) - ) { - return; - } - - dataMapStore.addEdgeValueMappingValue( - 'new', - valueMapIndex - ); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings_value', - valueMapIndex - ); - }} - > - {t( - 'data-configs.type.edge.advance.map-property-value.fields.add-value-map' - )} - -
    -
    -
    -
    -
    - ) - ) - : dataMapStore.editedEdgeMap?.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - - { - dataMapStore.removeEdgeValueMapping( - 'edit', - valueMapIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'edge', - 'edit', - 'value_mappings', - valueMapIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - -
    -
    - - {t( - 'data-configs.type.edge.advance.map-property-value.fields.value-map' - )} - : - -
    - {values.map( - ({ column_value, mapped_value }, valueIndex) => ( -
    - { - dataMapStore.editEdgeValueMappingColumnValueName( - 'edit', - 'column_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].column_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - } - }} - /> - map - { - dataMapStore.editEdgeValueMappingColumnValueName( - 'edit', - 'mapped_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].mapped_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'edge', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - } - }} - /> - {values.length > 1 && ( - { - dataMapStore.removeEdgeValueMappingValue( - 'edit', - valueMapIndex, - valueIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'edge', - 'edit', - 'value_mappings_value', - valueMapIndex, - valueIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - - )} -
    - ) - )} -
    -
    - { - if ( - !dataMapStore.allowAddPropertyValueMapping( - 'edge', - valueMapIndex - ) - ) { - return; - } - - dataMapStore.addEdgeValueMappingValue( - 'edit', - valueMapIndex - ); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings_value', - valueMapIndex - ); - }} - > - {t( - 'data-configs.type.edge.advance.map-property-value.fields.add-value-map' - )} - -
    -
    -
    -
    -
    - ) - ))} - - {!isCheck && - (isEdit - ? !isEmpty(dataMapStore.editedEdgeMap?.value_mapping) - : !isEmpty(dataMapStore.newEdgeType.value_mapping)) && ( -
    { - if (!dataMapStore.allowAddPropertyMapping('edge')) { - return; - } - - isEdit - ? dataMapStore.addEdgeValueMapping('edit') - : dataMapStore.addEdgeValueMapping('new'); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings' - ); - }} - > - {t( - 'data-configs.type.edge.advance.map-property-value.add-value' - )} -
    - )} - - )} - - {!isCheck && ( - - isEmpty(mapped_name) - ) || - !dataMapStore.allowAddPropertyMapping('edge') || - !dataMapStore.isValidateSave - } - onCreate={async () => { - dataMapStore.switchAddNewTypeConfig(false); - dataMapStore.switchEditTypeConfig(false); - - isEdit - ? await dataMapStore.updateEdgeMap( - 'upgrade', - dataMapStore.selectedFileId - ) - : await dataMapStore.updateEdgeMap( - 'add', - dataMapStore.selectedFileId - ); - - if (dataMapStore.requestStatus.updateEdgeMap === 'failed') { - Message.error({ - content: dataMapStore.errorInfo.updateEdgeMap.message, - size: 'medium', - showCloseIcon: false - }); - } - - onCancelCreateEdge(); - dataMapStore.resetNewMap('edge'); - }} - onCancel={() => { - dataMapStore.switchAddNewTypeConfig(false); - dataMapStore.switchEditTypeConfig(false); - - if (!isEdit) { - dataMapStore.resetNewMap('edge'); - } else { - dataMapStore.resetEditMapping('edge'); - } - - onCancelCreateEdge(); - dataMapStore.resetNewMap('edge'); - dataMapStore.resetValidateValueMapping('all'); - }} - /> - )} -
    - ); - } -); - -export default EdgeMap; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx deleted file mode 100644 index d8f9cc00f..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx +++ /dev/null @@ -1,395 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { range, rangeRight } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Radio, Switch, Input, Select, Button, Message } from 'hubble-ui'; - -import { DataImportRootStoreContext } from '../../../../../stores'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; - -const separators = [',', ';', '\\t', ' ']; -const charsets = ['UTF-8', 'GBK', 'ISO-8859-1', 'US-ASCII']; -const dateFormat = [ - 'yyyy-MM-dd', - 'yyyy-MM-dd HH:mm:ss', - 'yyyy-MM-dd HH:mm:ss.SSS' -]; - -const timezones = rangeRight(1, 13) - .map((num) => `GMT-${num}`) - .concat(['GMT']) - .concat(range(1, 13).map((num) => `GMT+${num}`)); - -const styles = { - smallGap: { - marginBottom: 18 - }, - mediumGap: { - marginBottom: 23 - } -}; - -const FileConfigs: React.FC = observer(() => { - const { dataMapStore, serverDataImportStore } = useContext( - DataImportRootStoreContext - ); - const { t } = useTranslation(); - - const expandClassName = classnames({ - 'import-tasks-step-content-header-expand': dataMapStore.isExpandFileConfig, - 'import-tasks-step-content-header-collpase': !dataMapStore.isExpandFileConfig - }); - - const handleExpand = () => { - dataMapStore.switchExpand('file', !dataMapStore.isExpandFileConfig); - }; - - return ( - dataMapStore.selectedFileInfo && ( -
    -
    - {t('data-configs.file.title')} - collpaseOrExpand -
    - {dataMapStore.isExpandFileConfig && ( - <> -
    - - {t('data-configs.file.include-header')}: - - { - dataMapStore.setFileConfig('has_header', checked); - }} - /> -
    -
    - - {t('data-configs.file.delimiter.title')}: - -
    - ) => { - if (e.target.value === 'custom') { - dataMapStore.setFileConfig('delimiter', ''); - } else { - dataMapStore.setFileConfig('delimiter', e.target.value); - // reset validate error message of delimiter - dataMapStore.validateFileInfo('delimiter'); - } - }} - > - - {t('data-configs.file.delimiter.comma')} - - - {t('data-configs.file.delimiter.semicolon')} - - - {t('data-configs.file.delimiter.tab')} - - - {t('data-configs.file.delimiter.space')} - - - {t('data-configs.file.delimiter.custom')} - - -
    - {!separators.includes( - dataMapStore.selectedFileInfo!.file_setting.delimiter - ) && ( -
    - { - dataMapStore.setFileConfig('delimiter', e.value); - dataMapStore.validateFileInfo('delimiter'); - }} - errorMessage={ - dataMapStore.validateFileInfoErrorMessage.delimiter - } - errorLocation="layer" - originInputProps={{ - onBlur: () => { - dataMapStore.validateFileInfo('delimiter'); - } - }} - /> -
    - )} -
    -
    - - {t('data-configs.file.code-type.title')}: - -
    - ) => { - if (e.target.value === 'custom') { - dataMapStore.setFileConfig('charset', ''); - } else { - dataMapStore.setFileConfig('charset', e.target.value); - dataMapStore.validateFileInfo('charset'); - } - }} - > - - {t('data-configs.file.code-type.UTF-8')} - - - {t('data-configs.file.code-type.GBK')} - - - {t('data-configs.file.code-type.ISO-8859-1')} - - - {t('data-configs.file.code-type.US-ASCII')} - - - {t('data-configs.file.code-type.custom')} - - -
    - {!charsets.includes( - dataMapStore.selectedFileInfo!.file_setting.charset - ) && ( -
    - { - dataMapStore.setFileConfig('charset', e.value); - dataMapStore.validateFileInfo('charset'); - }} - errorMessage={ - dataMapStore.validateFileInfoErrorMessage.charset - } - errorLocation="layer" - originInputProps={{ - onBlur: () => { - dataMapStore.validateFileInfo('charset'); - } - }} - /> -
    - )} -
    -
    - - {t('data-configs.file.date-type.title')}: - -
    - ) => { - if (e.target.value === 'custom') { - dataMapStore.setFileConfig('date_format', ''); - } else { - dataMapStore.setFileConfig('date_format', e.target.value); - dataMapStore.validateFileInfo('date_format'); - } - }} - > - yyyy-MM-dd - yyyy-MM-dd HH:MM:SS - - yyyy-MM-dd HH:mm:ss.SSS - - - {t('data-configs.file.code-type.custom')} - - - {!dateFormat.includes( - dataMapStore.selectedFileInfo!.file_setting.date_format - ) && ( -
    - { - dataMapStore.setFileConfig('date_format', e.value); - dataMapStore.validateFileInfo('date_format'); - }} - errorMessage={ - dataMapStore.validateFileInfoErrorMessage.date_format - } - errorLocation="layer" - originInputProps={{ - onBlur: () => { - dataMapStore.validateFileInfo('date_format'); - } - }} - /> -
    - )} -
    -
    -
    - - {t('data-configs.file.skipped-line')}: - - { - dataMapStore.setFileConfig('skipped_line', e.value); - dataMapStore.validateFileInfo('skipped_line'); - }} - errorLocation="layer" - errorMessage={ - dataMapStore.validateFileInfoErrorMessage.skipped_line - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateFileInfo('skipped_line'); - } - }} - /> -
    -
    - - {t('data-configs.file.timezone')}: - - -
    - {!dataMapStore.readOnly && !dataMapStore.lock && ( -
    - - -
    - )} - - )} -
    - ) - ); -}); - -export default FileConfigs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx deleted file mode 100644 index 61cb5c877..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { observer } from 'mobx-react'; -import { useTranslation } from 'react-i18next'; -import { Button } from 'hubble-ui'; - -interface TypeConfigManipulationsProps { - type: 'vertex' | 'edge'; - status: 'add' | 'edit'; - disableSave?: boolean; - onCreate: () => void; - onCancel: () => void; -} - -const TypeConfigManipulations: React.FC = observer( - ({ type, status, onCreate, onCancel, disableSave = false }) => { - const { t } = useTranslation(); - - return ( -
    - -
    - - -
    -
    - ); - } -); - -export default TypeConfigManipulations; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx deleted file mode 100644 index f50a71637..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState, useEffect, useRef } from 'react'; -import { observer } from 'mobx-react'; -import { isEmpty, size } from 'lodash-es'; -import { useLocation } from 'wouter'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Button } from 'hubble-ui'; - -import { DataImportRootStoreContext } from '../../../../../stores'; - -import { Tooltip } from '../../../../common'; -import TypeInfo from './TypeInfo'; -import VertexMap from './VertexMap'; -import EdgeMap from './EdgeMap'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; - -const TypeConfigs: React.FC = observer(() => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const [isExpand, switchExpand] = useState(true); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [isCreateVertexMap, switchCreateVertexMap] = useState(false); - const [isCreateEdgeMap, switchCreateEdgeMap] = useState(false); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const shouldRevealInitalButtons = - !isCreateVertexMap && - !isCreateEdgeMap && - isEmpty(dataMapStore.selectedFileInfo?.vertex_mappings) && - isEmpty(dataMapStore.selectedFileInfo?.edge_mappings); - - const invalidFileMaps = !dataMapStore.isIrregularProcess - ? dataMapStore.fileMapInfos.filter( - ({ name, vertex_mappings, edge_mappings }) => - dataImportRootStore.successFileUploadTaskNames.includes(name) && - isEmpty(vertex_mappings) && - isEmpty(edge_mappings) - ) - : dataMapStore.fileMapInfos.filter( - ({ vertex_mappings, edge_mappings }) => - isEmpty(vertex_mappings) && isEmpty(edge_mappings) - ); - - const expandClassName = classnames({ - 'import-tasks-step-content-header-expand': isExpand, - 'import-tasks-step-content-header-collpase': !isExpand - }); - - const nextButtonTooltipClassName = classnames({ - 'import-tasks-data-map-tooltip': true, - 'no-display': size(invalidFileMaps) === 0 - }); - - const handleExpand = () => { - switchExpand(!isExpand); - }; - - const handleCreate = (type: 'vertex' | 'edge', flag: boolean) => () => { - dataMapStore.switchExpand('file', false); - // Adding a new type config counts editing as well - dataMapStore.switchAddNewTypeConfig(flag); - - if (type === 'vertex') { - switchCreateVertexMap(flag); - } else { - switchCreateEdgeMap(flag); - } - }; - - useEffect(() => { - // close dashboard when user selects another file - // since the state is not in mobx store, we have to do this for now - switchCreateVertexMap(false); - switchCreateEdgeMap(false); - switchExpand(true); - }, [dataMapStore.selectedFileId]); - - return ( -
    -
    - - {t('data-configs.type.title')} - - collpaseOrExpand - {!dataMapStore.readOnly && - !dataMapStore.lock && - !shouldRevealInitalButtons && ( - - )} -
    - {!dataMapStore.readOnly && - !dataMapStore.lock && - shouldRevealInitalButtons && ( - - )} - {isExpand && ( - <> - {isCreateVertexMap && ( - - )} - {isCreateEdgeMap && ( - - )} - {dataMapStore.selectedFileInfo?.vertex_mappings - .map((mapping, index) => ( - - )) - .reverse()} - {dataMapStore.selectedFileInfo?.edge_mappings - .map((mapping, index) => ( - - )) - .reverse()} - - )} - {!dataMapStore.readOnly && ( -
    - {!serverDataImportStore.isServerStartImport && ( - - )} - -
    - {t('data-configs.type.hint.no-vertex-or-edge-mapping')} -
    - {invalidFileMaps.map(({ name }) => ( -
    - {name} -
    - ))} - - } - > - -
    -
    - )} -
    - ); -}); - -export interface TypeConfigMapCreationsProps { - onCreateVertex: () => void; - onCreateEdge: () => void; - disabled?: boolean; -} - -const TypeConfigMapCreations: React.FC = observer( - ({ onCreateVertex, onCreateEdge, disabled = false }) => { - const { t } = useTranslation(); - - return ( -
    - - -
    - ); - } -); - -export default TypeConfigs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx deleted file mode 100644 index 2274f54e6..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useState, - useRef, - useContext, - useCallback, - useEffect -} from 'react'; -import { observer } from 'mobx-react'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Button } from 'hubble-ui'; - -import { Tooltip } from '../../../../common'; -import { DataImportRootStoreContext } from '../../../../../stores'; -import VertexMap from './VertexMap'; -import EdgeMap from './EdgeMap'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; -import { VertexType } from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -export interface TypeInfoProps { - type: 'vertex' | 'edge'; - mapIndex: number; -} - -const TypeInfo: React.FC = observer(({ type, mapIndex }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [isExpand, switchExpand] = useState(false); - const [isDeletePop, switchDeletePop] = useState(false); - const [checkOrEdit, setCheckOrEdit] = useState<'check' | 'edit' | boolean>( - false - ); - const typeInfoWrapperRef = useRef(null); - const manipulationAreaRef = useRef(null); - const editButtonRef = useRef(null); - const deleteButtonRef = useRef(null); - const deleteWrapperRef = useRef(null); - const { t } = useTranslation(); - - let vertexInfo: VertexType | undefined; - let sourceVertexInfo: VertexType | undefined; - let targetVertexInfo: VertexType | undefined; - - if (type === 'vertex') { - vertexInfo = dataImportRootStore.vertexTypes.find( - ({ name }) => - name === dataMapStore.selectedFileInfo?.vertex_mappings[mapIndex].label - ); - } else { - const edgeInfo = dataImportRootStore.edgeTypes.find( - ({ name }) => - name === dataMapStore.selectedFileInfo!.edge_mappings[mapIndex].label - ); - - sourceVertexInfo = dataImportRootStore.vertexTypes.find( - ({ name }) => name === edgeInfo?.source_label - ); - - targetVertexInfo = dataImportRootStore.vertexTypes.find( - ({ name }) => name === edgeInfo?.target_label - ); - } - - const handleImgClickExpand = () => { - switchExpand(!isExpand); - - if (Boolean(checkOrEdit)) { - if (checkOrEdit === 'edit') { - dataMapStore.switchEditTypeConfig(false); - } - - setCheckOrEdit(false); - } else { - if (type === 'vertex') { - dataMapStore.syncEditMap('vertex', mapIndex); - } else { - dataMapStore.syncEditMap('edge', mapIndex); - } - - setCheckOrEdit('check'); - } - }; - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isDeletePop && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchDeletePop(false); - } - }, - [isDeletePop] - ); - - const handleTypeInfoExpandClick = useCallback( - (e: MouseEvent) => { - if ( - manipulationAreaRef.current && - !manipulationAreaRef.current?.contains(e.target as Element) - ) { - handleImgClickExpand(); - } - }, - [handleImgClickExpand] - ); - - const expandClassName = classnames({ - expand: isExpand, - collpase: !isExpand - }); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - typeInfoWrapperRef.current!.addEventListener( - 'click', - handleTypeInfoExpandClick, - false - ); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - typeInfoWrapperRef.current!.removeEventListener( - 'click', - handleTypeInfoExpandClick, - false - ); - }; - }, [handleOutSideClick, handleTypeInfoExpandClick]); - - return ( -
    -
    -
    -
    - collpaseOrExpand -
    -
    - - {t('data-configs.type.info.type')} - - - {type === 'vertex' - ? t('data-configs.type.vertex.type') - : t('data-configs.type.edge.type')} - -
    -
    -
    - - {t('data-configs.type.info.name')} - - - {type === 'vertex' - ? dataMapStore.selectedFileInfo?.vertex_mappings[mapIndex].label - : dataMapStore.selectedFileInfo?.edge_mappings[mapIndex].label} - -
    -
    - - {t('data-configs.type.info.ID-strategy')} - - - {type === 'vertex' - ? t(`data-configs.type.ID-strategy.${vertexInfo?.id_strategy}`) + - (vertexInfo?.id_strategy === 'PRIMARY_KEY' - ? '-' + vertexInfo?.primary_keys.join(',') - : '') - : `${t('addition.common.source')}:${ - t( - `data-configs.type.ID-strategy.${sourceVertexInfo?.id_strategy}` - ) + - (sourceVertexInfo?.id_strategy === 'PRIMARY_KEY' - ? '-' + sourceVertexInfo?.primary_keys.join(',') - : '') - } ${t('addition.common.target')}:${ - t( - `data-configs.type.ID-strategy.${targetVertexInfo?.id_strategy}` - ) + - (targetVertexInfo?.id_strategy === 'PRIMARY_KEY' - ? '-' + targetVertexInfo?.primary_keys.join(',') - : '') - }`} - -
    -
    - {!dataMapStore.readOnly && !dataMapStore.lock && ( - <> - - -

    - {t('data-configs.manipulations.hints.delete-confirm')} -

    -

    {t('data-configs.manipulations.hints.warning')}

    -
    - - -
    -
    - } - childrenProps={{ - onClick() { - switchDeletePop(true); - } - }} - > - - - - )} -
    -
    - {isExpand && Boolean(checkOrEdit) && type === 'vertex' && ( - { - setCheckOrEdit(false); - switchExpand(false); - }} - vertexMapIndex={mapIndex} - /> - )} - {isExpand && Boolean(checkOrEdit) && type === 'edge' && ( - { - setCheckOrEdit(false); - switchExpand(false); - }} - edgeMapIndex={mapIndex} - /> - )} - - ); -}); - -export default TypeInfo; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx deleted file mode 100644 index b9e2f283e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx +++ /dev/null @@ -1,1628 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useCallback, - useRef, - useEffect -} from 'react'; -import { observer } from 'mobx-react'; -import { isUndefined, isEmpty, size, cloneDeep } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Input, Select, Checkbox, Message } from 'hubble-ui'; - -import { Tooltip } from '../../../../common'; -import TypeConfigManipulations from './TypeConfigManipulations'; -import { DataImportRootStoreContext } from '../../../../../stores'; -import { VertexType } from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; -import { getUnicodeLength } from '../../../../../utils'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; -import BlueArrowIcon from '../../../../../assets/imgs/ic_arrow_blue.svg'; -import CloseIcon from '../../../../../assets/imgs/ic_close_16.svg'; -import MapIcon from '../../../../../assets/imgs/ic_yingshe_16.svg'; - -export interface VertexMapProps { - checkOrEdit: 'check' | 'edit' | boolean; - onCancelCreateVertex: () => void; - vertexMapIndex?: number; -} - -const VertexMap: React.FC = observer( - ({ checkOrEdit, onCancelCreateVertex, vertexMapIndex }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore } = dataImportRootStore; - const [isAddMapping, switchAddMapping] = useState(false); - const [isExpandAdvance, switchExpandAdvance] = useState(false); - const addMappingWrapperRef = useRef(null); - const { t } = useTranslation(); - - const isCheck = checkOrEdit === 'check'; - const isEdit = checkOrEdit === 'edit'; - const vertexMap = - checkOrEdit !== false - ? dataMapStore.editedVertexMap! - : dataMapStore.newVertexType; - const filteredColumnNamesInSelection = - checkOrEdit !== false - ? dataMapStore.filteredColumnNamesInVertexEditSelection - : dataMapStore.filteredColumnNamesInVertexNewSelection; - - const findVertex = (collection: VertexType[], label: string) => - collection.find(({ name }) => name === label); - - const selectedVertex = findVertex( - dataImportRootStore.vertexTypes, - vertexMap.label - ); - - const isStrategyAutomatic = selectedVertex?.id_strategy === 'AUTOMATIC'; - - const handleAdvanceExpand = () => { - switchExpandAdvance(!isExpandAdvance); - }; - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - isAddMapping && - addMappingWrapperRef.current && - !addMappingWrapperRef.current.contains(e.target as Element) - ) { - switchAddMapping(false); - } - }, - [isAddMapping] - ); - - const wrapperName = classnames({ - 'import-tasks-data-map-config-card': !Boolean(checkOrEdit), - 'import-tasks-data-map-config-view': Boolean(checkOrEdit) - }); - - const expandAdvanceClassName = classnames({ - 'import-tasks-step-content-header-expand': isExpandAdvance, - 'import-tasks-step-content-header-collpase': !isExpandAdvance - }); - - const expandAddMapClassName = classnames({ - 'import-tasks-step-content-header-expand': isAddMapping, - 'import-tasks-step-content-header-collpase': !isAddMapping - }); - - const addMappingManipulationClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': - size(filteredColumnNamesInSelection) === 0 || isStrategyAutomatic - }); - - const addNullValueClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': isEdit - ? dataMapStore.editedVertexMap!.null_values.customized.includes('') - : dataMapStore.newVertexType.null_values.customized.includes('') - }); - - const addPropertyMapClassName = classnames({ - 'import-tasks-manipulation': true, - 'import-tasks-manipulation-disabled': - !dataMapStore.allowAddPropertyMapping('vertex') || isStrategyAutomatic - }); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
    - {Boolean(checkOrEdit) ? ( -
    - {t('data-configs.type.basic-settings')} -
    - ) : ( -
    - {t('data-configs.type.vertex.title')} - collpaseOrExpand -
    - )} -
    - - {t('data-configs.type.vertex.type')}: - - {isCheck ? ( - {dataMapStore.editedVertexMap!.label} - ) : ( - - )} -
    - {!isUndefined(selectedVertex) && ( -
    - - {t('data-configs.type.vertex.ID-strategy')}: - - - {t('data-configs.type.hint.lack-support-for-automatic')} - - } - > - {t(`data-configs.type.ID-strategy.${selectedVertex.id_strategy}`)} - {selectedVertex.id_strategy === 'PRIMARY_KEY' && - `-${selectedVertex.primary_keys.join(',')}`} - -
    - )} - {vertexMap.id_fields.map((idField, fieldIndex) => { - return ( -
    - - {t('data-configs.type.vertex.ID-column') + - (selectedVertex?.id_strategy === 'PRIMARY_KEY' - ? fieldIndex + 1 - : '')} - : - - {isCheck ? ( - {idField} - ) : ( - - )} -
    - ); - })} - -
    - - {t('data-configs.type.vertex.map-settings')}: - -
    - {isCheck && - isEmpty(dataMapStore.editedVertexMap?.field_mapping) && - '-'} - - {((Boolean(checkOrEdit) === false && - !isEmpty(dataMapStore.newVertexType.field_mapping)) || - (Boolean(checkOrEdit) !== false && - !isEmpty(dataMapStore.editedVertexMap!.field_mapping))) && ( -
    -
    - {t('data-configs.type.vertex.add-map.name')} -
    -
    - {t('data-configs.type.vertex.add-map.sample')} -
    -
    - {t('data-configs.type.vertex.add-map.property')} -
    -
    - {!isCheck && ( - { - isEdit - ? dataMapStore.toggleVertexSelectAllFieldMapping( - 'edit', - false, - selectedVertex - ) - : dataMapStore.toggleVertexSelectAllFieldMapping( - 'new', - false, - selectedVertex - ); - }} - > - {t('data-configs.type.vertex.add-map.clear')} - - )} -
    -
    - )} - - {vertexMap.field_mapping.map( - ({ column_name, mapped_name }, fieldIndex) => { - const param = checkOrEdit === false ? 'new' : 'edit'; - - return ( -
    -
    - {column_name} -
    -
    - { - dataMapStore.selectedFileInfo?.file_setting - .column_values[ - dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( - (name) => column_name === name - ) - ] - } -
    -
    - {isCheck ? ( - {mapped_name} - ) : ( - - )} -
    -
    - {!isCheck && ( - close { - dataMapStore.removeVertexFieldMapping( - param, - column_name - ); - }} - /> - )} -
    -
    - ); - } - )} - - {!isCheck && ( - <> -
    { - if ( - size(filteredColumnNamesInSelection) === 0 || - isStrategyAutomatic - ) { - switchAddMapping(false); - return; - } - - switchAddMapping(!isAddMapping); - }} - > -
    - {t('data-configs.type.vertex.add-map.title')} -
    - expand -
    - {isAddMapping && ( -
    -
    - - { - if (isEdit) { - const isIndeterminate = - !isEmpty( - dataMapStore.editedVertexMap?.field_mapping - ) && - size( - dataMapStore.editedVertexMap?.field_mapping - ) !== - size( - dataMapStore.filteredColumnNamesInVertexEditSelection - ); - - dataMapStore.toggleVertexSelectAllFieldMapping( - 'edit', - // if isIndeterminate is true, e.target.checked is false - isIndeterminate || e.target.checked, - selectedVertex - ); - } else { - const isIndeterminate = - !isEmpty( - dataMapStore.newVertexType.field_mapping - ) && - size( - dataMapStore.newVertexType.field_mapping - ) !== - size( - dataMapStore.filteredColumnNamesInVertexNewSelection - ); - - dataMapStore.toggleVertexSelectAllFieldMapping( - 'new', - isIndeterminate || e.target.checked, - selectedVertex - ); - } - }} - > - {t('data-configs.type.vertex.select-all')} - - -
    - {dataMapStore.selectedFileInfo?.file_setting.column_names - .filter((name) => !vertexMap.id_fields.includes(name)) - .map((name) => { - let combinedText = name; - let currentColumnValue = dataMapStore.selectedFileInfo - ?.file_setting.column_values[ - dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( - (columnName) => name === columnName - ) - ] as string; - combinedText += `(${currentColumnValue})`; - - if (getUnicodeLength(combinedText) > 35) { - combinedText = combinedText.slice(0, 35) + '...'; - } - - const mappingValue = selectedVertex?.properties.find( - ({ name: propertyName }) => propertyName === name - )?.name; - - return ( -
    - - column_name === name - ) - ) - } - onChange={(e: any) => { - if (e.target.checked) { - isEdit - ? dataMapStore.setVertexFieldMappingKey( - 'edit', - name, - mappingValue - ) - : dataMapStore.setVertexFieldMappingKey( - 'new', - name, - mappingValue - ); - } else { - isEdit - ? dataMapStore.removeVertexFieldMapping( - 'edit', - name - ) - : dataMapStore.removeVertexFieldMapping( - 'new', - name - ); - } - }} - > - {combinedText} - - -
    - ); - })} -
    - )} - - )} -
    -
    - -
    - {t('data-configs.type.vertex.advance.title')} - {!isCheck && ( - collpaseOrExpand - )} -
    - {(isExpandAdvance || isCheck) && ( - <> -
    - - {t('data-configs.type.vertex.advance.nullable-list.title')}: - - {isCheck ? ( - - {dataMapStore - .editedVertexMap!.null_values.checked.filter( - (value) => value !== 'null' - ) - .map((value) => - value === '' - ? t('addition.common.null-value') - : value === 'NULL' - ? 'NULL/null' - : value - ) - .concat( - dataMapStore.editedVertexMap!.null_values.customized - ) - .join(',')} - - ) : ( - <> -
    - { - isEdit - ? dataMapStore.editCheckedNullValues( - 'edit', - 'vertex', - checkedList - ) - : dataMapStore.editCheckedNullValues( - 'new', - 'vertex', - checkedList - ); - }} - value={ - isEdit - ? dataMapStore.editedVertexMap!.null_values.checked - : dataMapStore.newVertexType.null_values.checked - } - > - NULL/null - - {t( - 'data-configs.type.vertex.advance.nullable-list.empty' - )} - - -
    - { - dataMapStore.toggleCustomNullValue( - isEdit ? 'edit' : 'new', - 'vertex', - e.target.checked - ); - - if (e.target.checked) { - dataMapStore.addValidateValueMappingOption( - 'null_values' - ); - } else { - dataMapStore.resetValidateValueMapping( - 'null_values' - ); - } - }} - > - {t( - 'data-configs.type.vertex.advance.nullable-list.custom' - )} - -
    -
    -
    - {isEdit ? ( - <> - {dataMapStore.editedVertexMap?.null_values.customized.map( - (nullValue, nullValueIndex) => ( -
    - { - dataMapStore.editCustomNullValues( - 'edit', - 'vertex', - e.value, - nullValueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'null_values', - nullValueIndex - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore.validateAdvanceConfigErrorMessage - .null_values[nullValueIndex] - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'null_values', - nullValueIndex - ); - } - }} - /> -
    - ) - )} - {!isEmpty( - dataMapStore.editedVertexMap?.null_values.customized - ) && ( -
    - { - const extraNullValues = - dataMapStore.editedVertexMap?.null_values - .customized; - - if (!extraNullValues?.includes('')) { - dataMapStore.addCustomNullValues( - 'edit', - 'vertex' - ); - } - }} - > - {t('data-configs.manipulations.add')} - -
    - )} - - ) : ( - <> - {dataMapStore.newVertexType.null_values.customized.map( - (nullValue, nullValueIndex) => ( -
    - { - dataMapStore.editCustomNullValues( - 'new', - 'vertex', - e.value, - nullValueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'null_values', - nullValueIndex - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore.validateAdvanceConfigErrorMessage - .null_values[nullValueIndex] - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'null_values', - nullValueIndex - ); - } - }} - /> -
    - ) - )} - {!isEmpty( - dataMapStore.newVertexType.null_values.customized - ) && ( -
    - { - const extraNullValues = - dataMapStore.newVertexType?.null_values - .customized; - - if (!extraNullValues.includes('')) { - dataMapStore.addCustomNullValues( - 'new', - 'vertex' - ); - } - }} - > - {t('data-configs.manipulations.add')} - -
    - )} - - )} -
    - - )} -
    - -
    - - {t('data-configs.type.vertex.advance.map-property-value.title')} - : - - {!isCheck && - (isEdit - ? isEmpty(dataMapStore.editedVertexMap?.value_mapping) - : isEmpty(dataMapStore.newVertexType.value_mapping)) && ( -
    { - if (isStrategyAutomatic) { - return; - } - - isEdit - ? dataMapStore.addVertexValueMapping('edit') - : dataMapStore.addVertexValueMapping('new'); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings' - ); - }} - > - {t( - 'data-configs.type.vertex.advance.map-property-value.add-value' - )} -
    - )} - - {isCheck && ( -
    - {isEmpty(dataMapStore.editedVertexMap?.value_mapping) - ? '-' - : dataMapStore.editedVertexMap?.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - {column_name} -
    - {values.map(({ column_value, mapped_value }) => ( -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.value-map' - )} - - {column_value} - map - {mapped_value} -
    - ))} -
    - ) - )} -
    - )} -
    - - {/* property value mapping form */} - {!isCheck && - (!Boolean(checkOrEdit) - ? dataMapStore.newVertexType.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - - { - dataMapStore.removeVertexValueMapping( - 'new', - valueMapIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'vertex', - 'new', - 'value_mappings', - valueMapIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - -
    -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.value-map' - )} - : - -
    - {values.map( - ({ column_value, mapped_value }, valueIndex) => ( -
    - { - dataMapStore.editVertexValueMappingColumnValueName( - 'new', - 'column_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].column_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - } - }} - /> - map - { - dataMapStore.editVertexValueMappingColumnValueName( - 'new', - 'mapped_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].mapped_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'new', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - } - }} - /> - {values.length > 1 && ( - { - dataMapStore.removeVertexValueMappingValue( - 'new', - valueMapIndex, - valueIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'vertex', - 'new', - 'value_mappings_value', - valueMapIndex, - valueIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - - )} -
    - ) - )} -
    -
    - { - if ( - !dataMapStore.allowAddPropertyValueMapping( - 'vertex', - valueMapIndex - ) - ) { - return; - } - - dataMapStore.addVertexValueMappingValue( - 'new', - valueMapIndex - ); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings_value', - valueMapIndex - ); - }} - > - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.add-value-map' - )} - -
    -
    -
    -
    -
    - ) - ) - : dataMapStore.editedVertexMap?.value_mapping.map( - ({ column_name, values }, valueMapIndex) => ( -
    -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.property' - )} - {valueMapIndex + 1}: - - - { - dataMapStore.removeVertexValueMapping( - 'edit', - valueMapIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'vertex', - 'edit', - 'value_mappings', - valueMapIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - -
    -
    - - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.value-map' - )} - : - -
    - {values.map( - ({ column_value, mapped_value }, valueIndex) => ( -
    - { - dataMapStore.editVertexValueMappingColumnValueName( - 'edit', - 'column_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].column_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'column_value', - valueIndex: valueIndex - } - ); - } - }} - /> - map - { - dataMapStore.editVertexValueMappingColumnValueName( - 'edit', - 'mapped_value', - e.value, - valueMapIndex, - valueIndex - ); - - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - }} - errorLocation="layer" - errorMessage={ - dataMapStore - .validateAdvanceConfigErrorMessage - .value_mapping[valueMapIndex].values[ - valueIndex - ].mapped_value - } - originInputProps={{ - onBlur: () => { - dataMapStore.validateValueMapping( - 'vertex', - 'edit', - 'value_mappings', - valueMapIndex, - { - field: 'mapped_value', - valueIndex: valueIndex - } - ); - } - }} - /> - {values.length > 1 && ( - { - dataMapStore.removeVertexValueMappingValue( - 'edit', - valueMapIndex, - valueIndex - ); - - dataMapStore.removeValidateValueMappingOption( - 'vertex', - 'edit', - 'value_mappings_value', - valueMapIndex, - valueIndex - ); - }} - > - {t('data-configs.manipulations.delete')} - - )} -
    - ) - )} -
    -
    - { - if ( - !dataMapStore.allowAddPropertyValueMapping( - 'vertex', - valueMapIndex - ) - ) { - return; - } - - dataMapStore.addVertexValueMappingValue( - 'edit', - valueMapIndex - ); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings_value', - valueMapIndex - ); - }} - > - {t( - 'data-configs.type.vertex.advance.map-property-value.fields.add-value-map' - )} - -
    -
    -
    -
    -
    - ) - ))} - - {!isCheck && - (isEdit - ? !isEmpty(dataMapStore.editedVertexMap?.value_mapping) - : !isEmpty(dataMapStore.newVertexType.value_mapping)) && ( -
    { - if (!dataMapStore.allowAddPropertyMapping('vertex')) { - return; - } - - isEdit - ? dataMapStore.addVertexValueMapping('edit') - : dataMapStore.addVertexValueMapping('new'); - - dataMapStore.addValidateValueMappingOption( - 'value_mappings' - ); - }} - > - {t( - 'data-configs.type.vertex.advance.map-property-value.add-value' - )} -
    - )} - - )} - - {!isCheck && ( - - isEmpty(mapped_name) - ) || - !dataMapStore.allowAddPropertyMapping('vertex') || - !dataMapStore.isValidateSave - } - onCreate={async () => { - dataMapStore.switchAddNewTypeConfig(false); - dataMapStore.switchEditTypeConfig(false); - - // really weird! if import task comes from import-manager - // datamapStore.fileMapInfos cannot be updated in - // though it's already re-rendered - if (dataMapStore.isIrregularProcess) { - isEdit - ? await dataMapStore.updateVertexMap( - 'upgrade', - dataMapStore.selectedFileId - ) - : await dataMapStore.updateVertexMap( - 'add', - dataMapStore.selectedFileId - ); - - dataMapStore.fetchDataMaps(); - } else { - isEdit - ? await dataMapStore.updateVertexMap( - 'upgrade', - dataMapStore.selectedFileId - ) - : await dataMapStore.updateVertexMap( - 'add', - dataMapStore.selectedFileId - ); - } - - if (dataMapStore.requestStatus.updateVertexMap === 'failed') { - Message.error({ - content: dataMapStore.errorInfo.updateVertexMap.message, - size: 'medium', - showCloseIcon: false - }); - } - - onCancelCreateVertex(); - dataMapStore.resetNewMap('vertex'); - }} - onCancel={() => { - dataMapStore.switchAddNewTypeConfig(false); - dataMapStore.switchEditTypeConfig(false); - - if (!isEdit) { - dataMapStore.resetNewMap('vertex'); - } else { - dataMapStore.resetEditMapping('vertex'); - } - - onCancelCreateVertex(); - dataMapStore.resetNewMap('vertex'); - dataMapStore.resetValidateValueMapping('all'); - }} - /> - )} -
    - ); - } -); - -export default VertexMap; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts deleted file mode 100644 index 44d62e9c2..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import DataMapConfigs from './DataMapConfigs'; - -export { DataMapConfigs }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less deleted file mode 100644 index ca243f647..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.job-error-logs { - width: 75vw; - position: relative; - top: 76px; - margin: 0 auto; - font-size: 14px; - - &-title { - margin-bottom: 16px; - color: #333; - line-height: 22px; - font-weight: 900; - } - - &-content-wrapper { - display: flex; - height: calc(100vh - 139px); - padding-top: 25px; - padding-right: 16px; - background-color: #fff; - } - - &-content { - margin-left: 19px; - overflow: auto; - line-height: 2; - - &-item { - display: flex; - - &:nth-child(even) { - margin-bottom: 32px; - } - } - - &-item-title { - word-break: keep-all; - } - - &-item-text { - margin-left: 6px; - } - - &-with-error-only { - margin-left: 16px; - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx deleted file mode 100644 index 0cb48f63c..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect, useState } from 'react'; -import { useRoute } from 'wouter'; -import { observer } from 'mobx-react'; -import { motion } from 'framer-motion'; -import { Menu } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { ImportManagerStoreContext } from '../../../../../stores'; - -import './JobErrorLogs.less'; - -const failedReasonVariants = { - initial: { - opacity: 0, - y: -10 - }, - animate: { - opacity: 1, - y: 0, - transition: { - duration: 0.8, - ease: 'easeInOut' - } - } -}; - -const JobErrorLogs: React.FC = observer(() => { - const importManagerStore = useContext(ImportManagerStoreContext); - const { t } = useTranslation(); - const [, params] = useRoute( - '/graph-management/:id/data-import/job-error-log/:jobId' - ); - const [selectedFileName, setSelectedFileName] = useState(''); - - useEffect(() => { - const init = async () => { - await importManagerStore.fetchFailedReason( - Number(params!.id), - Number(params!.jobId) - ); - - if (importManagerStore.requestStatus.fetchFailedReason === 'success') { - setSelectedFileName(importManagerStore.failedReason[0].file_name); - } - }; - - init(); - }, [params!.id, params!.jobId]); - - return ( -
    -
    - {t('addition.message.fail-reason')} -
    - -
    - {importManagerStore.requestStatus.fetchFailedReason === 'failed' ? ( -
    - {importManagerStore.errorInfo.fetchFailedReason.message} -
    - ) : ( - <> - { - setSelectedFileName(e.key); - }} - > - {importManagerStore.failedReason.map(({ file_name }) => ( - - {file_name} - - ))} - -
    - {importManagerStore.failedReason - .find(({ file_name }) => file_name === selectedFileName) - ?.reason.split('\n') - .filter((reason) => reason !== '') - .map((text, index) => ( -
    -
    - {index % 2 === 0 - ? `${t('addition.message.fail-reason')}:` - : `${t('addition.message.fail-position')}:`} -
    -
    - {text.replace('#### INSERT ERROR:', '')} -
    -
    - ))} -
    - - )} -
    -
    -
    - ); -}); - -export default JobErrorLogs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less deleted file mode 100644 index 7e992bfc7..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.task-error-logs { - width: 80vw; - position: relative; - top: 76px; - line-height: 2; - font-size: 14px; - margin: 0 auto 16px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx deleted file mode 100644 index d71097365..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useEffect } from 'react'; -import { useRoute } from 'wouter'; -import { observer } from 'mobx-react'; -import { DataImportRootStoreContext } from '../../../../../stores'; - -import './TaskErrorLogs.less'; - -const TaskErrorLogs: React.FC = observer(() => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { serverDataImportStore } = dataImportRootStore; - const [, params] = useRoute( - '/graph-management/:id/data-import/:jobId/task-error-log/:taskId' - ); - - useEffect(() => { - serverDataImportStore.checkErrorLogs( - Number(params!.id), - Number(params!.jobId), - Number(params!.taskId) - ); - }, [params!.id, params!.jobId, params!.taskId]); - - return ( -
    - {/*
    - {serverDataImportStore.requestStatus.checkErrorLogs === 'failed' - ? serverDataImportStore.errorInfo.checkErrorLogs.message - : serverDataImportStore.errorLogs} -
    */} -
    - {serverDataImportStore.requestStatus.checkErrorLogs === 'failed' - ? serverDataImportStore.errorInfo.checkErrorLogs.message - : serverDataImportStore.errorLogs - .split('\n') - .map((text) =>

    {text}

    )} -
    -
    - ); -}); - -export default TaskErrorLogs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/index.ts deleted file mode 100644 index a694b2fc5..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/error-logs/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import TaskErrorLogs from './TaskErrorLogs'; -import JobErrorLogs from './JobErrorLogs'; - -export { TaskErrorLogs, JobErrorLogs }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/index.ts deleted file mode 100644 index e1324524f..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import ImportTasks from './ImportTasks'; -import ImportManager from './ImportManager'; -import { JobDetails } from './job-details'; - -export { ImportTasks, ImportManager, JobDetails }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx deleted file mode 100644 index 0332c4b83..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useState, useContext, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { isEmpty, isNull, isUndefined } from 'lodash-es'; -import { useRoute } from 'wouter'; -import { motion } from 'framer-motion'; -import { useTranslation } from 'react-i18next'; -import { Button, Modal, Input, Message } from 'hubble-ui'; - -import { ImportManagerStoreContext } from '../../../../../stores'; -import { - GraphManagementStoreContext, - DataImportRootStoreContext -} from '../../../../../stores'; - -const BasicSettings: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [isPopEditModal, switchPopEditModal] = useState(false); - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager/:jobId/details' - ); - const { t } = useTranslation(); - - useEffect(() => { - const init = async () => { - if (isEmpty(importManagerStore.importJobList)) { - graphManagementStore.fetchIdList(); - importManagerStore.setCurrentId(Number(params!.id)); - await importManagerStore.fetchImportJobList(); - } - - if (isNull(importManagerStore.selectedJob)) { - if ( - !isUndefined( - importManagerStore.importJobList.find( - ({ id }) => String(id) === (params && params.jobId) - ) - ) && - params !== null - ) { - importManagerStore.setSelectedJob(Number(params.jobId)); - - // duplicate logic in - // fill in essential data in import-task stores - dataImportRootStore.setCurrentId(Number(params!.id)); - dataImportRootStore.setCurrentJobId(Number(params.jobId)); - - dataImportRootStore.fetchVertexTypeList(); - dataImportRootStore.fetchEdgeTypeList(); - - // fetch related data - await Promise.all([ - dataMapStore.fetchDataMaps(), - serverDataImportStore.fetchAllImportTasks() - ]); - - dataMapStore.setSelectedFileId( - Number(dataMapStore.fileMapInfos[0].id) - ); - dataMapStore.setSelectedFileInfo(); - - // set flags about readonly and irregular process in - dataMapStore.switchReadOnly(true); - dataMapStore.switchIrregularProcess(true); - - // set flags about readonly and irregular process in - serverDataImportStore.switchExpandImportConfig(true); - serverDataImportStore.switchReadOnly(true); - serverDataImportStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - } - } - }; - - init(); - }, []); - - return ( -
    -
    -
    - {t('import-job-details.basic.job-name')} - {importManagerStore.selectedJob?.job_name} -
    -
    - {t('import-job-details.basic.job-description')} - {importManagerStore.selectedJob?.job_remarks} -
    -
    - - { - switchPopEditModal(false); - await importManagerStore.updateJobInfo(); - - if (importManagerStore.requestStatus.updateJobInfo === 'failed') { - Message.error({ - content: importManagerStore.errorInfo.updateJobInfo.message, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if ( - importManagerStore.requestStatus.updateJobInfo === 'success' - ) { - Message.success({ - content: t('import-manager.hint.update-succeed'), - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('import-job-details.basic.modal.manipulations.save')} - , - - ]} - destroyOnClose - needCloseIcon - onCancel={() => { - switchPopEditModal(false); - }} - > -
    -
    -
    - - * - - - {t('import-job-details.basic.modal.edit-job.job-name')} - -
    - { - importManagerStore.mutateEditJob('name', e.value); - importManagerStore.validateJob('edit', 'name'); - }} - originInputProps={{ - onBlur: () => { - importManagerStore.validateJob('edit', 'name'); - } - }} - /> -
    -
    -
    - {t('import-job-details.basic.modal.edit-job.job-description')} -
    -
    - { - importManagerStore.mutateEditJob('description', e.value); - importManagerStore.validateJob('edit', 'description'); - }} - originInputProps={{ - onBlur: () => { - importManagerStore.validateJob('edit', 'description'); - } - }} - /> -
    -
    -
    -
    -
    - ); -}); - -export default BasicSettings; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx deleted file mode 100644 index 21b81eba0..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { observer } from 'mobx-react'; - -import { ServerDataImport } from '../server-data-import'; - -const DataImportDetails: React.FC = observer(() => { - return ( -
    - -
    - ); -}); - -export default DataImportDetails; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx deleted file mode 100644 index 1f205c6ae..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { observer } from 'mobx-react'; - -import DataMapConfigs from '../datamap-configs/DataMapConfigs'; - -import '../datamap-configs/DataMapConfigs.less'; - -const DataMaps: React.FC = observer(() => { - return ( -
    - -
    - ); -}); - -export default DataMaps; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less deleted file mode 100644 index 21bb217ba..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-job-details { - position: absolute; - width: calc(100% - 60px); - padding: 0 16px 16px; - left: 60px; - top: 60px; - - &-with-expand-sidebar { - width: calc(100% - 200px); - left: 200px; - } - - &-breadcrumb-wrapper { - display: flex; - justify-content: space-between; - align-items: center; - margin: 16px 0; - } - - &-content-wrapper { - height: calc(100vh - 201px); - background: #fff; - padding: 24px; - overflow: auto; - } - - &-content-header { - margin-bottom: 16px; - display: flex; - justify-content: flex-end; - } - - &-basic-text { - font-size: 14px; - color: #333; - - & > div { - margin-bottom: 14px; - } - - & span:last-child { - margin-left: 24px; - } - } - - &-uploaded-file-infos { - margin-bottom: 19px; - font-size: 14px; - - &-titles { - width: 300px; - display: flex; - justify-content: space-between; - } - - &-progress-status { - width: 374px; - display: flex; - align-items: center; - } - } -} - -/* override */ - -// reveal error layer in -.new-fc-one-modal-body { - overflow: visible; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx deleted file mode 100644 index 66d7394ff..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { AnimatePresence } from 'framer-motion'; -import { useTranslation } from 'react-i18next'; -import { isEmpty } from 'lodash-es'; -import { Menu } from 'hubble-ui'; - -import { - DataImportRootStoreContext, - ImportManagerStoreContext -} from '../../../../../stores'; - -import BasicSettings from './BasicSettings'; -import UploadedFiles from './UploadedFiles'; -import DataMaps from './DataMaps'; -import DataImportDetails from './DataImportDetails'; - -import './JobDetails.less'; - -const JobDetails: React.FC = observer(() => { - const importManagerStore = useContext(ImportManagerStoreContext); - const { dataMapStore, serverDataImportStore } = useContext( - DataImportRootStoreContext - ); - const { t } = useTranslation(); - - const handleMenuItemChange = ({ key }: { key: string }) => { - importManagerStore.setCurrentJobDetailStep(key); - }; - - const renderListView = () => { - switch (importManagerStore.jobDetailsStep) { - case 'basic': - return ; - case 'upload': - return ; - case 'data-map': - return ; - case 'import-details': - return ; - } - }; - - return ( - <> - - - {t('import-job-details.tabs.basic-settings')} - - - {t('import-job-details.tabs.uploaded-files')} - - - {t('import-job-details.tabs.data-maps')} - - - {t('import-job-details.tabs.import-details')} - - - {renderListView()} - - ); -}); - -export default JobDetails; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx deleted file mode 100644 index 7bcf4e6fc..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Progress } from 'hubble-ui'; - -import { DataImportRootStoreContext } from '../../../../../stores'; - -const UploadedFiles: React.FC = observer(() => { - const { dataMapStore } = useContext(DataImportRootStoreContext); - - return ( -
    - {dataMapStore.fileMapInfos.map(({ name, total_size }) => ( -
    -
    - {name} - {total_size} -
    -
    - -
    -
    - ))} -
    - ); -}); - -export default UploadedFiles; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/index.ts deleted file mode 100644 index 36247d378..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/job-details/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import JobDetails from './JobDetails'; - -export { JobDetails }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx deleted file mode 100644 index 289e9d394..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx +++ /dev/null @@ -1,862 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useCallback, useEffect, useRef } from 'react'; -import { observer } from 'mobx-react'; -import { useLocation } from 'wouter'; -import { isEmpty } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; -import classnames from 'classnames'; -import { Switch, Input, Button, Table, Tooltip, Message } from 'hubble-ui'; - -import { DataImportRootStoreContext } from '../../../../../stores'; -import { useInitDataImport } from '../../../../../hooks'; - -import type { - ImportTasks, - LoadParameter -} from '../../../../../stores/types/GraphManagementStore/dataImportStore'; - -import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; -import HintIcon from '../../../../../assets/imgs/ic_question_mark.svg'; - -const importStatusColorMapping: Record = { - RUNNING: '#2b65ff', - SUCCEED: '#39bf45', - FAILED: '#e64552', - PAUSED: '#a9cbfb', - STOPPED: '#ccc' -}; - -const commonInputProps = { - size: 'medium', - width: 100, - errorLocation: 'layer' -}; - -export interface ImportConfigsProps { - height?: string; -} - -const ImportConfigs: React.FC = observer(({ height }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { serverDataImportStore, dataMapStore } = dataImportRootStore; - const timerId = useRef(NaN); - const isInitReady = useInitDataImport(); - const [, setLocation] = useLocation(); - const { t } = useTranslation(); - - const columnConfigs = [ - { - title: t('server-data-import.import-details.column-titles.file-name'), - dataIndex: 'file_name', - width: '10%', - render(text: string) { - return ( -
    - {text} -
    - ); - } - }, - { - title: t('server-data-import.import-details.column-titles.type'), - dataIndex: 'type', - width: '15%', - render(_: any, rowData: ImportTasks) { - const title = ( -
    - {!isEmpty(rowData.vertices) && ( -
    - {t('server-data-import.import-details.content.vertex')}: - {rowData.vertices.join(' ')} -
    - )} - {!isEmpty(rowData.edges) && ( -
    - {t('server-data-import.import-details.content.edge')}: - {rowData.edges.join(' ')} -
    - )} - {isEmpty(rowData.vertices) && isEmpty(rowData.edges) && '-'} -
    - ); - - return ( - -
    - {!isEmpty(rowData.vertices) && - `${t( - 'server-data-import.import-details.content.vertex' - )}:${rowData.vertices.join(' ')} `} - {!isEmpty(rowData.edges) && - `${t( - 'server-data-import.import-details.content.edge' - )}:${rowData.edges.join(' ')}`} - {isEmpty(rowData.vertices) && isEmpty(rowData.edges) && '-'} -
    -
    - ); - } - }, - { - title: t('server-data-import.import-details.column-titles.import-speed'), - dataIndex: 'load_rate', - width: '12%', - align: 'center', - render(text: string) { - return ( -
    - {text} -
    - ); - } - }, - { - title: t( - 'server-data-import.import-details.column-titles.import-progress' - ), - dataIndex: 'load_progress', - width: '35%', - render(progress: number, rowData: Record) { - return ( -
    -
    -
    -
    -
    {`${progress}%`}
    -
    - ); - } - }, - { - title: t('server-data-import.import-details.column-titles.status'), - dataIndex: 'status', - width: '10%', - render(text: string) { - return ( -
    - {t(`server-data-import.import-details.status.${text}`)} -
    - ); - } - }, - { - title: t('server-data-import.import-details.column-titles.time-consumed'), - dataIndex: 'duration', - align: 'right', - width: '8%', - render(text: string) { - return ( -
    - {text} -
    - ); - } - }, - { - title: !serverDataImportStore.readOnly - ? t('server-data-import.import-details.column-titles.manipulations') - : '', - width: '15%', - render(_: never, rowData: Record, taskIndex: number) { - return !serverDataImportStore.readOnly ? ( -
    - -
    - ) : null; - } - } - ]; - - const handleInputChange = (key: keyof LoadParameter) => (e: any) => { - serverDataImportStore.mutateImportConfigs(key, e.value); - serverDataImportStore.validateImportConfigs(key); - }; - - const handleBlur = (key: keyof LoadParameter) => () => { - serverDataImportStore.validateImportConfigs(key); - }; - - const loopQueryImportData = useCallback(() => { - const loopId = window.setInterval(async () => { - if (serverDataImportStore.isImportFinished) { - window.clearInterval(loopId); - return; - } - - if ( - serverDataImportStore.requestStatus.fetchImportTasks === 'failed' || - serverDataImportStore.requestStatus.fetchAllImportTasks === 'failed' - ) { - Message.error({ - content: - serverDataImportStore.errorInfo.fetchImportTasks.message || - serverDataImportStore.errorInfo.fetchAllImportTasks.message, - size: 'medium', - showCloseIcon: false - }); - - window.clearInterval(loopId); - return; - } - - if (serverDataImportStore.isIrregularProcess) { - serverDataImportStore.fetchAllImportTasks(); - } else { - // stop loops when users click sidebar icon - // (dispose called in , [ids] resets to empty array) - if (isEmpty(serverDataImportStore.fileImportTaskIds)) { - window.clearInterval(loopId); - return; - } - - serverDataImportStore.fetchImportTasks( - serverDataImportStore.fileImportTaskIds - ); - } - }, 1000); - - timerId.current = loopId; - }, []); - - const expandClassName = classnames({ - 'import-tasks-step-content-header-expand': - serverDataImportStore.isExpandImportConfig, - 'import-tasks-step-content-header-collpase': !serverDataImportStore.isExpandImportConfig - }); - - useEffect(() => { - // if comes from import manager or refresh - if ( - (!serverDataImportStore.readOnly || - serverDataImportStore.isIrregularProcess) && - dataImportRootStore.currentStatus === 'LOADING' - ) { - loopQueryImportData(); - } - - return () => { - if (!Object.is(NaN, timerId.current)) { - window.clearInterval(timerId.current); - } - }; - }, [ - isInitReady, - serverDataImportStore.readOnly, - serverDataImportStore.isIrregularProcess, - dataImportRootStore.currentStatus - ]); - - return isInitReady ? ( -
    -
    - {t('server-data-import.import-settings.title')} - collpaseOrExpand { - serverDataImportStore.switchExpandImportConfig( - !serverDataImportStore.isExpandImportConfig - ); - }} - /> -
    - - {serverDataImportStore.isExpandImportConfig && ( -
    -
    -
    -
    - - {t('server-data-import.import-settings.checkIfExist')}: - - - hint - -
    -
    - { - serverDataImportStore.mutateImportConfigs( - 'check_vertex', - checked - ); - }} - disabled={ - serverDataImportStore.readOnly || - serverDataImportStore.importConfigReadOnly - } - /> -
    -
    -
    - - {t( - 'server-data-import.import-settings.maximumAnalyzedErrorRow' - )} - : - - {!serverDataImportStore.readOnly && - !serverDataImportStore.importConfigReadOnly ? ( - - ) : ( -
    - {serverDataImportStore.importConfigs?.max_parse_errors} -
    - )} -
    -
    - - {t( - 'server-data-import.import-settings.maxiumInterpolateErrorRow' - )} - : - - {!serverDataImportStore.readOnly && - !serverDataImportStore.importConfigReadOnly ? ( - - ) : ( -
    - {serverDataImportStore.importConfigs?.max_insert_errors} -
    - )} -
    -
    -
    -
    - - {t( - 'server-data-import.import-settings.requestTimesWhenInterpolationFailed' - )} - : - - {!serverDataImportStore.readOnly && - !serverDataImportStore.importConfigReadOnly ? ( - - ) : ( -
    - {serverDataImportStore.importConfigs?.retry_times} -
    - )} -
    -
    - - {t( - 'server-data-import.import-settings.requestTicksWhenInterpolationFailed' - )} - : - - {!serverDataImportStore.readOnly && - !serverDataImportStore.importConfigReadOnly ? ( - - ) : ( -
    - {serverDataImportStore.importConfigs?.retry_interval} -
    - )} -
    -
    - - {t('server-data-import.import-settings.InterpolationTimeout')}: - - {!serverDataImportStore.readOnly && - !serverDataImportStore.importConfigReadOnly ? ( - - ) : ( -
    - {serverDataImportStore.importConfigs?.insert_timeout} -
    - )} -
    -
    -
    - )} - - {(dataImportRootStore.currentStatus === 'LOADING' || - dataImportRootStore.currentStatus === 'SUCCESS' || - dataImportRootStore.currentStatus === 'FAILED' || - (serverDataImportStore.isIrregularProcess && - serverDataImportStore.readOnly)) && ( - <> -
    - {t('server-data-import.import-details.title')} -
    -
    -
- - - )} - - {!serverDataImportStore.readOnly && ( -
- - -
- )} - - ) : null; -}); - -export interface ImportManipulationsProps { - importStatus: string; - taskIndex: number; - loopQuery: () => void; -} - -const ImportManipulations: React.FC = observer( - ({ importStatus, taskIndex, loopQuery }) => { - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { serverDataImportStore } = dataImportRootStore; - const { t } = useTranslation(); - const manipulations: string[] = []; - - const handleClickManipulation = async (manipulation: string) => { - switch (manipulation) { - case t('server-data-import.import-details.manipulations.pause'): - await serverDataImportStore.pauseImport( - serverDataImportStore.importTasks[taskIndex].id - ); - - if (serverDataImportStore.requestStatus.pauseImport === 'failed') { - Message.error({ - content: serverDataImportStore.errorInfo.pauseImport.message, - size: 'medium', - showCloseIcon: false - }); - } - - break; - case t('server-data-import.import-details.manipulations.abort'): - await serverDataImportStore.abortImport( - serverDataImportStore.importTasks[taskIndex].id - ); - - if (serverDataImportStore.requestStatus.abortImport === 'failed') { - Message.error({ - content: serverDataImportStore.errorInfo.abortImport.message, - size: 'medium', - showCloseIcon: false - }); - } - - serverDataImportStore.fetchAllImportTasks(); - - break; - case t('server-data-import.import-details.manipulations.resume'): - await serverDataImportStore.resumeImport( - serverDataImportStore.importTasks[taskIndex].id - ); - - if (serverDataImportStore.requestStatus.resumeImport === 'failed') { - Message.error({ - content: serverDataImportStore.errorInfo.resumeImport.message, - size: 'medium', - showCloseIcon: false - }); - } - - serverDataImportStore.switchImporting(true); - serverDataImportStore.switchImportFinished(false); - loopQuery(); - break; - case t('server-data-import.import-details.manipulations.failed-cause'): - serverDataImportStore.checkErrorLogs( - dataImportRootStore.currentId!, - dataImportRootStore.currentJobId!, - serverDataImportStore.importTasks[taskIndex].id - ); - break; - case t('server-data-import.import-details.manipulations.retry'): - await serverDataImportStore.retryImport( - serverDataImportStore.importTasks[taskIndex].id - ); - - if (serverDataImportStore.requestStatus.retryImport === 'failed') { - Message.error({ - content: serverDataImportStore.errorInfo.retryImport.message, - size: 'medium', - showCloseIcon: false - }); - } - - serverDataImportStore.switchImporting(true); - serverDataImportStore.switchImportFinished(false); - loopQuery(); - break; - } - }; - - switch (importStatus) { - case 'RUNNING': - manipulations.push( - t('server-data-import.import-details.manipulations.pause'), - t('server-data-import.import-details.manipulations.abort') - ); - break; - case 'FAILED': - manipulations.push( - t('server-data-import.import-details.manipulations.resume'), - t('server-data-import.import-details.manipulations.failed-cause') - ); - break; - case 'PAUSED': - manipulations.push( - t('server-data-import.import-details.manipulations.resume'), - t('server-data-import.import-details.manipulations.abort') - ); - break; - case 'STOPPED': - manipulations.push( - t('server-data-import.import-details.manipulations.retry') - ); - break; - case 'SUCCEED': - break; - default: - throw new Error('Wrong status received from server'); - } - - return ( -
- {manipulations.map((manipulation) => { - if ( - manipulation === - t('server-data-import.import-details.manipulations.failed-cause') - ) { - return ( - { - handleClickManipulation(manipulation); - }} - > - {manipulation} - - ); - } - - return ( - { - serverDataImportStore.switchImportFinished(false); - handleClickManipulation(manipulation); - }} - > - {manipulation} - - ); - })} -
- ); - } -); - -export default ImportConfigs; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less deleted file mode 100644 index 7ba8506e1..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.import-tasks { - &-server-data-import { - &-configs-wrapper { - width: 100%; - margin-bottom: 30px; - } - - &-configs { - display: flex; - width: 100%; - } - - &-config { - height: 128px; - display: flex; - justify-content: space-between; - flex-direction: column; - flex-basis: 50%; - - &:first-child { - align-items: flex-end; - // margin-right: 87px; - } - - &:last-child { - align-items: flex-start; - } - } - - &-config-option { - display: flex; - align-items: center; - - & > div:first-child, - & > span:first-child { - width: 200.7px; - margin-right: 44px; - text-align: right; - color: #333; - font-size: 14px; - } - - &-readonly-data { - width: 100px; - font-size: 14px; - color: #333; - line-height: 20px; - } - } - - &-manipulations { - width: 100%; - margin: 40px 0 6px; - display: flex; - justify-content: center; - } - - &-table-wrapper { - & table { - table-layout: fixed; - } - } - - &-table-tooltip-title { - width: 234px; - } - - &-table-progress { - position: relative; - width: 80%; - height: 8px; - background: #eee; - border-radius: 4px; - margin-right: 8px; - } - - &-table-manipulations { - display: flex; - // justify-content: space-between; - } - } -} - -/* override */ - -.import-tasks-server-data-import-config-option .new-fc-one-input-error.new-fc-one-input-error-layer { - // safari bug - // width: max-content; - word-break: keep-all; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx deleted file mode 100644 index b84fb2870..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { observer } from 'mobx-react'; - -import ImportConfigs from './ImportConfigs'; - -import './ServerDataImport.less'; - -const ServerDataImport: React.FC = observer(() => { - return ( -
- -
- ); -}); - -export default ServerDataImport; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts deleted file mode 100644 index 850e2c888..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import ServerDataImport from './ServerDataImport'; - -export { ServerDataImport }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/index.ts deleted file mode 100644 index 6ff89dc6e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/data-import/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { ImportTasks, ImportManager, JobDetails } from './import-tasks'; - -export { ImportTasks, ImportManager, JobDetails }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/index.ts deleted file mode 100644 index c92bd3ece..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import GraphManagement from './GraphManagement'; -import { DataAnalyze } from './data-analyze'; -import { MetadataConfigs } from './metadata-configs'; -import { ImportTasks, ImportManager, JobDetails } from './data-import'; -import { AsyncTaskList } from './async-tasks'; - -export { - GraphManagement, - DataAnalyze, - MetadataConfigs, - ImportTasks, - ImportManager, - JobDetails, - AsyncTaskList -}; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.less deleted file mode 100644 index f5a0cf5bb..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.less +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.metadata-configs { - position: absolute; - width: calc(100% - 60px); - padding: 0 16px 16px 16px; - left: 60px; - top: 60px; - - &-with-expand-sidebar { - width: calc(100% - 200px); - left: 200px; - } - - &-content { - &-wrapper { - margin-top: 16px; - padding: 16px; - background: #fff; - border: 1px solid #eee; - border-radius: 3px; - } - - &-loading-wrapper { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - } - - &-loading-bg { - width: 144px; - height: 144px; - position: relative; - margin-bottom: 10px; - } - - &-loading-back { - position: absolute; - left: 22px; - top: 20px; - } - - &-loading-front { - position: absolute; - left: 57.1px; - top: 52.1px; - animation: loading-rotate 2s linear infinite; - } - - &-mode { - margin: 16px 0; - - &-button { - display: flex; - align-items: center; - - & > img { - margin-right: 6px; - } - } - } - - &-header { - margin-bottom: 16px; - display: flex; - justify-content: flex-end; - } - - &-dropdown { - width: 382px; - max-height: 332px; - overflow: auto; - background: #fff; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - color: #333; - - & > div { - padding: 0 16px; - height: 32px; - display: flex; - align-items: center; - } - } - } - - &-drawer { - font-size: 14px; - margin-top: 4px; - } - - &-sorted-multiSelect-option { - display: flex; - - & > div:first-child { - margin: 8px 8px 0; - width: 16px; - height: 16px; - border: 1px solid #ccc; - background: #fff; - border-radius: 2px; - } - - & > div:last-child { - width: 80%; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - } - - &-selected { - & > div:first-child { - margin: 8px 8px 0; - width: 16px; - height: 16px; - background: #2b65ff; - border-radius: 2px; - text-align: center; - line-height: 14px; - color: #fff; - } - } - } -} - -.metadata-properties-tooltips { - background: #fff; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - padding: 24px; - font-size: 14px; - color: #333; - - &-title { - font-size: 16px; - font-weight: 900; - margin-bottom: 16px; - } - - &-footer { - display: flex; - margin-top: 24px; - } - - // & p { - // margin: 0; - // line-height: 28px; - // } -} - -.metadata-title { - font-family: - 'PingFangSC-Medium', - 'Microsoft YaHei', - '微软雅黑', - Arial, - sans-serif; - font-weight: bold; - font-size: 16px; - color: #000; - letter-spacing: 0; - line-height: 24px; -} - -.metadata-drawer { - &-options { - margin-bottom: 12px; - display: flex; - - &-disabled { - color: #ccc; - } - - &-name { - width: 98px; - text-align: right; - margin-right: 9px; - } - - &-list { - width: calc(100% - 155px); - - &-row { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 16px; - - &-normal { - & > div, - & > span { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - - &:nth-child(1) { - flex: 0 1 30%; - } - - &:nth-child(2) { - flex: 0 1 32%; - } - - &:nth-child(3) { - flex: 0 1 38%; - display: flex; - align-items: center; - - & > img { - margin-left: 4px; - } - } - } - } - - &:last-child { - margin-bottom: 0; - } - } - } - } -} - -.metadata-selected-properties { - display: flex; - justify-content: space-between; - margin: 12px 0; -} - -.metdata-essential-form-options { - color: #fb4b53; -} - -// override -.metadata-configs { - table { - table-layout: fixed; - } - - .new-fc-one-table { - overflow: visible; - border: 0; - } - - .new-fc-one-table table { - overflow: visible; - } - - .new-fc-one-menu { - background: transparent; - } - - .new-fc-one-select-dropdown-menu-item.new-fc-one-select-dropdown-menu-item-selected { - color: #2b65ff; - font-weight: 900; - } -} - -// override -.metadata-drawer-options-list-row { - .new-fc-one-select-search-ul { - .new-fc-one-select-search.new-fc-one-select-search--inline { - display: none; - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.tsx deleted file mode 100644 index e0c9ce130..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/MetadataConfigs.tsx +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useState, useEffect, useContext } from 'react'; -import { observer } from 'mobx-react'; -import { useRoute, useLocation, Params } from 'wouter'; -import classnames from 'classnames'; -import { AnimatePresence } from 'framer-motion'; -import { Radio, Menu, Modal, Button } from 'hubble-ui'; - -import { MetadataProperties } from './property'; -import { VertexTypeList } from './vertex-type'; -import { EdgeTypeList } from './edge-type'; -import { PropertyIndex } from './property-index'; -import { GraphView } from './graph-view'; -import DataAnalyzeStore from '../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import MetadataConfigsRootStore from '../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import './MetadataConfigs.less'; -import { AppStoreContext, GraphManagementStoreContext } from '../../../stores'; -import ActiveTableIcon from '../../../assets/imgs/ic_liebiaomoshi_white.svg'; -import TableIcon from '../../../assets/imgs/ic_liebiaomoshi_black.svg'; -import ActiveShowGraphIcon from '../../../assets/imgs/ic_tumoshi_white.svg'; -import ShowGraphIcon from '../../../assets/imgs/ic_tumoshi_black.svg'; -import { useTranslation } from 'react-i18next'; - -const MetadataConfig: React.FC = observer(() => { - const appStore = useContext(AppStoreContext); - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const graphManagementStore = useContext(GraphManagementStoreContext); - const metadataConfigRootStore = useContext(MetadataConfigsRootStore); - const [viewMode, setViewMode] = useState('list'); - const [selectedMenuItem, setSelectedMenuItem] = useState('property'); - const [match, params] = useRoute('/graph-management/:id/metadata-configs'); - const [_, setLocation] = useLocation(); - const { t } = useTranslation(); - - const handleRadioGroupChange = (e: React.ChangeEvent) => { - setViewMode(e.target.value); - }; - - const handleMenuItemChange = ({ key }: { key: string }) => { - // reset store current tab status to default - switch (selectedMenuItem) { - case 'property': - metadataConfigRootStore.metadataPropertyStore.changeCurrentTabStatus( - 'list' - ); - case 'vertex-type': - metadataConfigRootStore.vertexTypeStore.changeCurrentTabStatus('list'); - case 'edge-type': - metadataConfigRootStore.edgeTypeStore.changeCurrentTabStatus('list'); - } - - setSelectedMenuItem(key); - }; - - const wrapperClassName = classnames({ - 'metadata-configs': true, - 'metadata-configs-with-expand-sidebar': graphManagementStore.isExpanded - }); - - const renderListView = () => { - switch (selectedMenuItem) { - case 'property': - return ; - case 'vertex-type': - return ; - case 'edge-type': - return ; - case 'property-index': - return ; - } - }; - - // Caution: Preitter will automatically add 'params' behind 'match' in array, - // which is not equal each time - /* eslint-disable */ - useEffect(() => { - window.scrollTo(0, 0); - graphManagementStore.fetchIdList(); - - if (match && params !== null) { - appStore.setCurrentId(Number(params.id)); - // fetch node colors - dataAnalyzeStore.setCurrentId(Number(params.id)); - dataAnalyzeStore.fetchAllNodeStyle(); - dataAnalyzeStore.fetchAllEdgeStyle(); - metadataConfigRootStore.setCurrentId(Number(params.id)); - // metadataConfigRootStore.fetchIdList(); - } - - return () => { - metadataConfigRootStore.dispose(); - }; - }, [metadataConfigRootStore, match, params?.id]); - - return ( -
-
-
- - -
- table mode - {t('addition.menu.list-mode')} -
-
- -
- graph mode - {t('addition.menu.chart-mode')} -
-
-
-
- {viewMode === 'list' ? ( - <> - - - {t('addition.common.property')} - - - {t('addition.common.vertex-type')} - - - {t('addition.common.edge-type')} - - - {t('addition.common.property-index')} - - - - {renderListView()} - - - ) : ( - - )} -
- { - metadataConfigRootStore.setCurrentId(null); - setLocation('/'); - }} - > - {t('addition.dataAnalyze.return-home')} - - ]} - visible={graphManagementStore.graphData.some( - ({ id, enabled }) => - metadataConfigRootStore.currentId === id && !enabled - )} - destroyOnClose - needCloseIcon={false} - > -
- {metadataConfigRootStore.metadataPropertyStore.errorMessage} -
-
-
- ); -}); - -export default MetadataConfig; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx deleted file mode 100644 index cc38c32eb..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import { observer } from 'mobx-react'; - -import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; -import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; - -import i18next from '../../../../i18n'; -export interface LoadingDataViewProps { - isLoading: boolean; - emptyText?: string; -} - -const LoadingDataView: React.FC = observer( - ({ isLoading, emptyText }) => - isLoading ? ( -
-
- load background - load spinner -
- {i18next.t('addition.message.data-loading')}... -
- ) : emptyText ? ( - {emptyText} - ) : null -); - -export default LoadingDataView; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less deleted file mode 100644 index a6874e139..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.edge-type-list-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx deleted file mode 100644 index a29c32ddd..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx +++ /dev/null @@ -1,1957 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { - isEmpty, - isUndefined, - cloneDeep, - intersection, - size, - without -} from 'lodash-es'; -import { useLocation } from 'wouter'; -import classnames from 'classnames'; -import { motion } from 'framer-motion'; -import { - Button, - Table, - Switch, - Modal, - Drawer, - Input, - Select, - Checkbox, - Message, - Loading -} from 'hubble-ui'; - -import { Tooltip, LoadingDataView } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import NewEdgeType from './NewEdgeType'; -import ReuseEdgeTypes from './ReuseEdgeTypes'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { formatVertexIdText } from '../../../../stores/utils'; - -import type { - EdgeTypeValidatePropertyIndexes, - EdgeType -} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import AddIcon from '../../../../assets/imgs/ic_add.svg'; -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; -import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; -import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; -import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; -import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; -import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -import './EdgeTypeList.less'; - -const styles = { - button: { - marginLeft: 12, - width: 78 - }, - header: { - marginBottom: 16 - }, - manipulation: { - marginRight: 12 - }, - deleteWrapper: { - display: 'flex', - justifyContent: 'flex-end' - }, - loading: { - padding: 0, - marginRight: 4 - } -}; - -const variants = { - initial: { - opacity: 0 - }, - animate: { - opacity: 1, - transition: { - duration: 0.7 - } - }, - exit: { - opacity: 0, - transition: { - duration: 0.3 - } - } -}; - -const propertyIndexTypeMappings: Record = { - SECONDARY: i18next.t('addition.menu.secondary-index'), - RANGE: i18next.t('addition.menu.range-index'), - SEARCH: i18next.t('addition.menu.full-text-index') -}; - -const EdgeTypeList: React.FC = observer(() => { - const { t } = useTranslation(); - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { metadataPropertyStore, edgeTypeStore } = metadataConfigsRootStore; - const [preLoading, switchPreLoading] = useState(true); - const [sortOrder, setSortOrder] = useState(''); - const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); - const [isShowModal, switchShowModal] = useState(false); - const [isAddProperty, switchIsAddProperty] = useState(false); - const [isEditEdge, switchIsEditEdge] = useState(false); - const [ - deleteExistPopIndexInDrawer, - setDeleteExistPopIndexInDrawer - ] = useState(null); - const [ - deleteAddedPopIndexInDrawer, - setDeleteAddedPopIndexInDrawer - ] = useState(null); - const [, setLocation] = useLocation(); - - const dropdownWrapperRef = useRef(null); - const deleteWrapperInDrawerRef = useRef(null); - - const isLoading = - preLoading || edgeTypeStore.requestStatus.fetchEdgeTypeList === 'pending'; - - const currentSelectedRowKeys = intersection( - selectedRowKeys, - edgeTypeStore.edgeTypes.map(({ name }) => name) - ); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isAddProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddProperty(false); - } - - if ( - (deleteExistPopIndexInDrawer || deleteAddedPopIndexInDrawer) && - deleteWrapperInDrawerRef.current && - !deleteWrapperInDrawerRef.current.contains(e.target as Element) - ) { - setDeleteExistPopIndexInDrawer(null); - setDeleteAddedPopIndexInDrawer(null); - } - }, - [deleteExistPopIndexInDrawer, deleteWrapperInDrawerRef, isAddProperty] - ); - - const handleSelectedTableRow = (newSelectedRowKeys: string[]) => { - mutateSelectedRowKeys(newSelectedRowKeys); - }; - - const handleCloseDrawer = () => { - switchIsAddProperty(false); - switchIsEditEdge(false); - edgeTypeStore.selectEdgeType(null); - edgeTypeStore.resetEditedSelectedEdgeType(); - }; - - const handleSortClick = () => { - switchPreLoading(true); - - if (sortOrder === 'descend') { - edgeTypeStore.mutatePageSort('asc'); - setSortOrder('ascend'); - } else { - edgeTypeStore.mutatePageSort('desc'); - setSortOrder('descend'); - } - - edgeTypeStore.fetchEdgeTypeList(); - }; - - const batchDeleteProperties = async () => { - switchShowModal(false); - // need to set a copy in store since local row key state would be cleared - edgeTypeStore.mutateSelectedEdgeTypeNames(currentSelectedRowKeys); - // mutateSelectedRowKeys([]); - await edgeTypeStore.deleteEdgeType(currentSelectedRowKeys); - // edgeTypeStore.mutateSelectedEdgeTypeNames([]); - - if (edgeTypeStore.requestStatus.deleteEdgeType === 'success') { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - - mutateSelectedRowKeys( - without(selectedRowKeys, ...currentSelectedRowKeys) - ); - - await edgeTypeStore.fetchEdgeTypeList(); - - // fetch previous page data if it's empty - if ( - edgeTypeStore.requestStatus.fetchEdgeTypeList === 'success' && - size(edgeTypeStore.edgeTypes) === 0 && - edgeTypeStore.edgeTypeListPageConfig.pageNumber > 1 - ) { - edgeTypeStore.mutatePageNumber( - edgeTypeStore.edgeTypeListPageConfig.pageNumber - 1 - ); - - edgeTypeStore.fetchEdgeTypeList(); - } - - return; - } - - if (edgeTypeStore.requestStatus.deleteEdgeType === 'failed') { - Message.error({ - content: edgeTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - }; - - const columnConfigs = [ - { - title: t('addition.common.edge-type-name'), - dataIndex: 'name', - sorter: true, - sortOrder, - width: '14%', - render(text: string, records: any[], index: number) { - return ( -
{ - edgeTypeStore.selectEdgeType(index); - - // check also need style infos - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - style: { - color: edgeTypeStore.selectedEdgeType!.style.color, - icon: null, - with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, - thickness: edgeTypeStore.selectedEdgeType!.style.thickness, - display_fields: edgeTypeStore.selectedEdgeType!.style - .display_fields - } - }); - }} - > - {text} -
- ); - } - }, - { - title: t('addition.common.source-type'), - dataIndex: 'source_label', - width: '14%', - render(text: string, records: any[], index: number) { - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.common.target-type'), - dataIndex: 'target_label', - width: '14%', - render(text: string, records: any[], index: number) { - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.common.association-property'), - dataIndex: 'properties', - width: '14%', - render(properties: { name: string; nullable: boolean }[]) { - const text = - properties.length !== 0 - ? properties.map(({ name }) => name).join('; ') - : '-'; - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.common.distinguishing-key'), - dataIndex: 'sort_keys', - width: '10%', - render(values: string[]) { - const text = values.length !== 0 ? values.join(';') : '-'; - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.menu.type-index'), - dataIndex: 'open_label_index', - width: '8%', - render(value: boolean) { - return ( - - ); - } - }, - { - title: t('addition.common.property-index'), - dataIndex: 'property_indexes', - width: '14%', - render(indexes: { name: string; type: string; fields: string[] }[]) { - const text = - indexes.length !== 0 - ? indexes.map(({ name }) => name).join('; ') - : '-'; - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '12%', - render(_: any, records: EdgeType, index: number) { - return ( - - ); - } - } - ]; - - const metadataDrawerOptionClass = classnames({ - 'metadata-drawer-options': true, - 'metadata-drawer-options-disabled': isEditEdge - }); - - useEffect(() => { - setTimeout(() => { - switchPreLoading(false); - }, 500); - }, [sortOrder]); - - useEffect(() => { - return () => { - const messageComponents = document.querySelectorAll( - '.new-fc-one-message' - ) as NodeListOf; - - messageComponents.forEach((messageComponent) => { - messageComponent.style.display = 'none'; - }); - }; - }); - - useEffect(() => { - if (metadataConfigsRootStore.currentId !== null) { - metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); - edgeTypeStore.fetchEdgeTypeList(); - } - - return () => { - edgeTypeStore.dispose(); - }; - }, [ - metadataPropertyStore, - metadataConfigsRootStore.currentId, - edgeTypeStore - ]); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - if (edgeTypeStore.currentTabStatus === 'new') { - return ; - } - - if (edgeTypeStore.currentTabStatus === 'reuse') { - return ; - } - - return ( - -
-
- - -
- {size(currentSelectedRowKeys) !== 0 && ( -
-
- {t('addition.message.selected')} - {size(currentSelectedRowKeys)} - {t('addition.common.term')} -
- - {t('addition.common.close')} { - mutateSelectedRowKeys([]); - }} - /> -
- )} -
rowData.name} - locale={{ - emptyText: ( - } - /> - ) - }} - rowSelection={{ - selectedRowKeys, - onChange: handleSelectedTableRow - }} - onSortClick={handleSortClick} - dataSource={isLoading ? [] : edgeTypeStore.edgeTypes} - pagination={ - isLoading - ? null - : { - hideOnSinglePage: false, - pageNo: edgeTypeStore.edgeTypeListPageConfig.pageNumber, - pageSize: 10, - showSizeChange: false, - showPageJumper: false, - total: edgeTypeStore.edgeTypeListPageConfig.pageTotal, - onPageNoChange: (e: React.ChangeEvent) => { - // mutateSelectedRowKeys([]); - edgeTypeStore.mutatePageNumber(Number(e.target.value)); - edgeTypeStore.fetchEdgeTypeList(); - } - } - } - /> - { - switchShowModal(false); - }} - > -
-
- {t('addition.common.del-comfirm')} - {t('addition.common.close')} { - switchShowModal(false); - }} - /> -
-
- {t('addition.message.edge-del-confirm')} -
-
- {t('addition.message.long-time-notice')} -
-
) { - return ( - - {text} - - ); - } - } - ]} - dataSource={currentSelectedRowKeys.map((name) => ({ - name - }))} - pagination={false} - /> - - - { - if (!isEditEdge) { - switchIsEditEdge(true); - edgeTypeStore.validateEditEdgeType(); - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - style: { - color: edgeTypeStore.selectedEdgeType!.style.color, - icon: null, - with_arrow: edgeTypeStore.selectedEdgeType!.style - .with_arrow, - thickness: edgeTypeStore.selectedEdgeType!.style - .thickness, - display_fields: edgeTypeStore.selectedEdgeType!.style - .display_fields - } - }); - } else { - await edgeTypeStore.updateEdgeType(); - - if (edgeTypeStore.requestStatus.updateEdgeType === 'failed') { - Message.error({ - content: edgeTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if ( - edgeTypeStore.requestStatus.updateEdgeType === 'success' - ) { - if ( - isEmpty( - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes - ) - ) { - Message.success({ - content: t('addition.operate.modify-success'), - size: 'medium', - showCloseIcon: false - }); - } else { - Message.success({ - content: ( -
-
- {t('addition.common.save-scuccess')} -
-
- {t('addition.message.index-long-time-notice')} -
-
{ - setLocation( - `/graph-management/${metadataConfigsRootStore.currentId}/async-tasks` - ); - }} - > - {t('addition.operate.view-task-management')} -
-
- ), - duration: 60 * 60 * 24 - }); - } - } - - switchIsEditEdge(false); - edgeTypeStore.selectEdgeType(null); - edgeTypeStore.fetchEdgeTypeList(); - edgeTypeStore.resetEditedSelectedEdgeType(); - } - }} - > - {isEditEdge - ? t('addition.common.save') - : t('addition.common.edit')} - , - - ]} - > - {!isEmpty(edgeTypeStore.selectedEdgeType) && ( -
-
-
- {t('addition.menu.base-info')} -
-
-
- {t('addition.common.edge-type-name')}: -
-
- {edgeTypeStore.selectedEdgeType!.name} -
-
-
-
- - {t('addition.common.edge-style')}: - -
-
- -
-
- -
-
- -
-
- -
-
- {t('addition.common.source-type')}: -
-
- {edgeTypeStore.selectedEdgeType!.source_label} -
-
-
-
- {t('addition.common.target-type')}: -
-
- {edgeTypeStore.selectedEdgeType!.target_label} -
-
-
-
- - {t('addition.common.allow-multiple-connections')}: - -
- -
-
-
- {t('addition.common.association-property')}: -
-
-
- {t('addition.common.property')} - {t('addition.common.allow-null')} -
- {edgeTypeStore.selectedEdgeType!.properties.map( - ({ name, nullable }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditEdge && - edgeTypeStore.editedSelectedEdgeType.append_properties.map( - ({ name }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditEdge && ( -
{ - switchIsAddProperty(!isAddProperty); - }} - > - - {t('addition.common.add-property')} - - toogleAddProperties -
- )} - {isEditEdge && isAddProperty && ( -
- {metadataPropertyStore.metadataProperties - .filter( - (property) => - edgeTypeStore.selectedEdgeType!.properties.find( - ({ name }) => name === property.name - ) === undefined - ) - .map((property) => ( -
- - - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - edgeTypeStore.addedPropertiesInSelectedEdgeType; - - addedPropertiesInSelectedVertextType.has( - property.name - ) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = edgeTypeStore.newEdgeType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined( - currentProperty - ) - ? currentProperty.nullable - : true - }; - }) - }); - }} - > - {property.name} - - -
- ))} -
- )} -
-
-
-
- - {t('addition.common.distinguishing-key-property')}: - -
-
- {edgeTypeStore.selectedEdgeType!.sort_keys.join(';')} -
-
-
-
- - {t('addition.edge.display-content')}: - -
- {isEditEdge ? ( - - ) : ( -
- {edgeTypeStore.selectedEdgeType?.style.display_fields - .map((field) => - formatVertexIdText( - field, - t('addition.function-parameter.edge-type') - ) - ) - .join('-')} -
- )} -
-
- {t('addition.edge.index-info')} -
-
-
- {t('addition.menu.type-index')}: -
- -
-
-
- {t('addition.common.property-index')}: -
-
- {(edgeTypeStore.selectedEdgeType!.property_indexes - .length !== 0 || - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes.length !== 0) && ( -
- {t('addition.edge.index-name')} - {t('addition.edge.index-type')} - {t('addition.common.property')} -
- )} - {edgeTypeStore - .selectedEdgeType!.property_indexes.filter( - (propertyIndex) => - isUndefined( - edgeTypeStore.editedSelectedEdgeType.remove_property_indexes.find( - (removedPropertyName) => - removedPropertyName === propertyIndex.name - ) - ) - ) - .map(({ name, type, fields }, index) => { - return ( -
-
{name}
-
{propertyIndexTypeMappings[type]}
-
- - {fields - .map( - (field, index) => index + 1 + '.' + field - ) - .join(';')} - - - {isEditEdge && ( - -

- {t( - 'addition.message.property-del-confirm' - )} -

-

- {t( - 'addition.message.index-del-confirm' - )} -

-
-
{ - const removedPropertyIndex = cloneDeep( - edgeTypeStore - .editedSelectedEdgeType - .remove_property_indexes - ); - - removedPropertyIndex.push( - edgeTypeStore.selectedEdgeType! - .property_indexes[index].name - ); - - edgeTypeStore.mutateEditedSelectedEdgeType( - { - ...edgeTypeStore.editedSelectedEdgeType, - remove_property_indexes: removedPropertyIndex - } - ); - - setDeleteExistPopIndexInDrawer( - null - ); - edgeTypeStore.validateEditEdgeType( - true - ); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeleteExistPopIndexInDrawer( - null - ); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteExistPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> - )} -
-
- ); - })} - {edgeTypeStore.editedSelectedEdgeType.append_property_indexes.map( - ({ name, type, fields }, index) => { - return ( -
-
- { - const propertyIndexEntities = cloneDeep( - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - edgeTypeStore.validateEditEdgeType(); - } - }} - /> -
-
- -
-
- - - -

- {t( - 'addition.message.property-del-confirm' - )} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const appendPropertyIndexes = cloneDeep( - edgeTypeStore.editedSelectedEdgeType! - .append_property_indexes - ); - - appendPropertyIndexes.splice( - index, - 1 - ); - - edgeTypeStore.mutateEditedSelectedEdgeType( - { - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: appendPropertyIndexes - } - ); - - setDeleteAddedPopIndexInDrawer(null); - edgeTypeStore.validateEditEdgeType( - true - ); - }} - > - {t('addition.common.confirm')} -
-
{ - edgeTypeStore.resetEditedSelectedEdgeType(); - setDeleteAddedPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteAddedPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> -
-
- ); - } - )} - {isEditEdge && ( - { - if ( - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes.length === 0 || - edgeTypeStore.isEditReady - ) { - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: [ - ...edgeTypeStore.editedSelectedEdgeType - .append_property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - edgeTypeStore.validateEditEdgeType(true); - } - }} - style={{ - cursor: 'pointer', - color: edgeTypeStore.isEditReady ? '#2b65ff' : '#999' - }} - > - {t('addition.edge.add-group')} - - )} -
-
- - - )} -
- - - ); -}); - -export interface EdgeTypeListManipulation { - edgeName: string; - edgeIndex: number; - switchIsEditEdge: (flag: boolean) => void; -} - -const EdgeTypeListManipulation: React.FC = observer( - ({ edgeName, edgeIndex, switchIsEditEdge }) => { - const { edgeTypeStore } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - const [isPopDeleteModal, switchPopDeleteModal] = useState(false); - const [isDeleting, switchDeleting] = useState(false); - const deleteWrapperRef = useRef(null); - const isDeleteOrBatchDeleting = - isDeleting || - (edgeTypeStore.requestStatus.deleteEdgeType === 'pending' && - edgeTypeStore.selectedEdgeTypeNames.includes(edgeName)); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isPopDeleteModal && - deleteWrapperRef && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchPopDeleteModal(false); - } - }, - [deleteWrapperRef, isPopDeleteModal] - ); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
- { - edgeTypeStore.selectEdgeType(edgeIndex); - edgeTypeStore.validateEditEdgeType(true); - switchIsEditEdge(true); - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - style: { - color: edgeTypeStore.selectedEdgeType!.style.color, - icon: null, - with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, - thickness: edgeTypeStore.selectedEdgeType!.style.thickness, - display_fields: edgeTypeStore.selectedEdgeType!.style - .display_fields - } - }); - }} - > - {t('addition.common.edit')} - -
- {isDeleteOrBatchDeleting && ( - - )} - -

- {t('addition.edge.confirm-del-edge-type')} -

-

{t('addition.edge.confirm-del-edge-type-again')}

-

{t('addition.message.long-time-notice')}

-
- - -
-
- } - childrenProps={{ - className: 'metadata-properties-manipulation', - title: isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del'), - onClick() { - if (isDeleteOrBatchDeleting) { - return; - } - - switchPopDeleteModal(true); - } - }} - > - {isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del')} - -
- - ); - } -); - -const EmptyEdgeTypeHints: React.FC = observer(() => { - const { edgeTypeStore } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - return ( -
- Add new property -
- {t('addition.edge.no-edge-desc')} -
-
- - -
-
- ); -}); - -export default EdgeTypeList; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less deleted file mode 100644 index db945395a..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.new-edge-type-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx deleted file mode 100644 index 4864443af..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx +++ /dev/null @@ -1,1099 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { isUndefined, cloneDeep } from 'lodash-es'; -import { - Input, - Select, - Button, - Switch, - Tooltip, - Checkbox, - Message -} from 'hubble-ui'; - -import { Tooltip as CustomTooltip } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { formatVertexIdText } from '../../../../stores/utils'; - -import type { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; -import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; -import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; -import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; -import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; -import { useTranslation } from 'react-i18next'; - -const NewVertexType: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { t } = useTranslation(); - const { metadataPropertyStore, vertexTypeStore, edgeTypeStore } = useContext( - MetadataConfigsRootStore - ); - const [isAddNewProperty, switchIsAddNewProperty] = useState(false); - const [deletePopIndex, setDeletePopIndex] = useState(null); - const dropdownWrapperRef = useRef(null); - const deleteWrapperRef = useRef(null); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isAddNewProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddNewProperty(false); - } - - if ( - deletePopIndex && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - setDeletePopIndex(null); - } - }, - [deletePopIndex, isAddNewProperty] - ); - - useEffect(() => { - metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); - vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); - edgeTypeStore.validateAllNewEdgeType(true); - }, [edgeTypeStore, metadataPropertyStore, vertexTypeStore]); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
-
-
- {t('addition.menu.base-info')} -
-
-
- * - {t('addition.common.edge-type-name')}: -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - name: e.value - }); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType('name'); - } - }} - /> -
-
-
- * - {t('addition.common.edge-style')}: -
-
- -
-
- -
-
- -
-
- -
-
- * - {t('addition.common.source-type')}: -
- -
-
-
- * - {t('addition.common.target-type')}: -
- -
-
-
- * - {t('addition.common.allow-multiple-connections')}: - - hint - -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - link_multi_times: checked - }); - }} - /> -
-
-
- {edgeTypeStore.newEdgeType.link_multi_times && ( - * - )} - {t('addition.common.association-property')}: -
-
- {edgeTypeStore.newEdgeType.properties.length !== 0 && ( -
-
-
{t('addition.common.property')}
-
{t('addition.common.allow-null')}
-
- {edgeTypeStore.newEdgeType.properties.map((property, index) => { - const currentProperties = cloneDeep( - edgeTypeStore.newEdgeType.properties - ); - - return ( -
-
{property.name}
-
- { - currentProperties[index].nullable = - !currentProperties[index].nullable; - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - properties: currentProperties - }); - - // remove primary keys since it could be empty value - if (checked) { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - sort_keys: - edgeTypeStore.newEdgeType.sort_keys.filter( - (key) => key !== property.name - ) - }); - } - }} - size="large" - /> -
-
- ); - })} -
- )} -
{ - switchIsAddNewProperty(!isAddNewProperty); - }} - > - {t('addition.common.add-property')} - toggleAddProperty -
-
-
- {isAddNewProperty && ( -
-
-
- {metadataPropertyStore.metadataProperties.map((property) => ( -
- - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesIndexInSelectedEdgeType = - edgeTypeStore.addedPropertiesInSelectedEdgeType; - - addedPropertiesIndexInSelectedEdgeType.has( - property.name - ) - ? addedPropertiesIndexInSelectedEdgeType.delete( - property.name - ) - : addedPropertiesIndexInSelectedEdgeType.add( - property.name - ); - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - properties: [ - ...addedPropertiesIndexInSelectedEdgeType - ].map((propertyName) => { - const currentProperty = - edgeTypeStore.newEdgeType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType('properties'); - }} - > - {property.name} - - -
- ))} -
-
- )} - - {edgeTypeStore.newEdgeType.link_multi_times && ( -
-
- * - {t('addition.common.distinguishing-key')}: -
- -
- )} - -
-
- * - {t('addition.edge.display-content')}: -
- -
- -
- - {t('addition.edge.index-info')} - - - hint - -
-
-
- * - {t('addition.menu.type-index')}: -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - open_label_index: checked - }); - }} - /> -
- -
-
- {t('addition.common.property-index')}: -
-
- {edgeTypeStore.newEdgeType.property_indexes.length !== 0 && ( -
-
- {t('addition.edge.index-name')} -
-
- {t('addition.edge.index-type')} -
-
{t('addition.common.property')}
-
- )} - {edgeTypeStore.newEdgeType.property_indexes.map( - ({ name, type, fields }, index) => ( -
-
- { - const propertyIndexEntities = cloneDeep( - edgeTypeStore.newEdgeType.property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType('propertyIndexes'); - } - }} - /> -
-
- -
-
- -
- -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const propertyIndexEntities = cloneDeep( - edgeTypeStore.newEdgeType.property_indexes - ); - - propertyIndexEntities.splice(index, 1); - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: propertyIndexEntities - }); - - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType( - 'propertyIndexes' - ); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeletePopIndex(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: closeIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeletePopIndex(index); - } - }} - childrenWrapperElement="img" - /> -
- ) - )} - { - if ( - edgeTypeStore.newEdgeType.property_indexes.length === 0 || - edgeTypeStore.isAddNewPropertyIndexReady - ) { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: [ - ...edgeTypeStore.newEdgeType.property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - edgeTypeStore.validateAllNewEdgeType(true); - // set isAddNewPropertyIndexReady to false - edgeTypeStore.validateNewEdgeType('propertyIndexes', true); - } - }} - style={{ - cursor: 'pointer', - color: edgeTypeStore.isAddNewPropertyIndexReady - ? '#2b65ff' - : '#999', - lineHeight: '32px' - }} - > - {t('addition.edge.add-group')} - -
-
- -
-
- - -
-
- - ); -}); - -export default NewVertexType; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less deleted file mode 100644 index 71698137e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.reuse-properties-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; - - .reuse-steps { - width: 860px; - margin: 16px auto 18px; - } - - .reuse-properties { - &-row { - display: flex; - align-items: center; - margin: 18px 0 32px; - font-size: 14px; - color: #333; - - &:last-child { - margin-bottom: 24px; - } - - &-name { - width: 98px; - text-align: right; - margin-right: 13.9px; - } - } - - &-manipulations { - display: flex; - justify-content: center; - margin-bottom: 88px; - } - - &-validate { - &-duplicate, - &-exist, - &-pass { - width: 58px; - margin: 0 auto; - border-radius: 2px; - letter-spacing: 0; - line-height: 22px; - text-align: center; - } - - &-duplicate { - background: #fff2f2; - border: 1px solid #ff9499; - color: #e64552; - } - - &-exist, - &-pass { - background: #f2fff4; - border: 1px solid #7ed988; - color: #39bf45; - } - } - - &-complete-hint { - display: flex; - flex-direction: column; - justify-content: center; - margin: 88px auto 327px; - - &-description { - display: flex; - justify-content: center; - - & > div { - margin-left: 20px; - } - } - - &-manipulations { - margin: 42px auto 0; - } - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx deleted file mode 100644 index 6a462e4ad..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx +++ /dev/null @@ -1,1237 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { - Select, - Steps, - Transfer, - Button, - Table, - Input, - Message -} from 'hubble-ui'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import PassIcon from '../../../../assets/imgs/ic_pass.svg'; - -import './ReuseEdgeTypes.less'; -import { cloneDeep } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; - -const ReuseEdgeTypes: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - const { edgeTypeStore } = metadataConfigsRootStore; - const [currentStatus, setCurrentStatus] = useState(1); - // acutally the name, not id in database - const [selectedId, mutateSelectedId] = useState<[] | string>([]); - const [selectedList, mutateSelectedList] = useState([]); - - // step 2 - const [edgeTypeEditIndex, setEdgeTypeEditIndex] = useState( - null - ); - const [vertexTypeEditIndex, setVertexTypeEditIndex] = useState( - null - ); - const [propertyEditIndex, setPropertyEditIndex] = useState( - null - ); - const [propertyIndexEditIndex, setPropertyIndexEditIndex] = useState< - number | null - >(null); - - // hack: need to call @observable at here to dispatch re-render by mobx - // since @action in onBlur() in doesn't dispatch re-render - edgeTypeStore.validateReuseErrorMessage.edgeType.toUpperCase(); - edgeTypeStore.validateReuseErrorMessage.vertexType.toUpperCase(); - edgeTypeStore.validateReuseErrorMessage.property.toUpperCase(); - edgeTypeStore.validateReuseErrorMessage.property_index.toUpperCase(); - - const edgeTypeColumnConfigs = [ - { - title: t('addition.common.edge-type-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== edgeTypeEditIndex) { - return ( -
- {text} -
- ); - } - - return ( - { - edgeTypeStore.resetValidateReuseErrorMessage('edgeType'); - - const editedCheckedReusableData = cloneDeep( - edgeTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.edgelabel_conflicts[index].entity.name = - e.value; - - edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateReuseData( - 'edgeType', - edgeTypeStore.checkedReusableData!.edgelabel_conflicts[index] - .entity.name, - edgeTypeStore.editedCheckedReusableData!.edgelabel_conflicts[ - index - ].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - width: '30%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (edgeTypeStore.reusableEdgeTypeNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - const originalName = edgeTypeStore.checkedReusableData! - .edgelabel_conflicts[index].entity.name; - const changedName = edgeTypeStore.editedCheckedReusableData! - .edgelabel_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - if (edgeTypeEditIndex === index) { - return ( -
- { - if ( - !isChanged || - !edgeTypeStore.validateReuseData( - 'edgeType', - originalName, - changedName - ) - ) { - return; - } - - edgeTypeStore.mutateReuseData( - 'edgeType', - originalName, - changedName - ); - setEdgeTypeEditIndex(null); - edgeTypeStore.mutateReusableEdgeTypeChangeIndexes(index); - }} - > - {t('addition.common.save')} - - { - edgeTypeStore.resetValidateReuseErrorMessage('edgeType'); - setEdgeTypeEditIndex(null); - edgeTypeStore.resetEditedReusableEdgeTypeName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (edgeTypeEditIndex !== null) { - return; - } - - setEdgeTypeEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (edgeTypeEditIndex !== null) { - return; - } - - setEdgeTypeEditIndex(null); - - // remove selected status of the property in - const newSelectedList = [...selectedList].filter( - (property) => - property !== - edgeTypeStore.editedCheckedReusableData! - .edgelabel_conflicts[index].entity.name - ); - - mutateSelectedList(newSelectedList); - - // notice: useState hooks cannot sync updated state value, so the length is still 1 - if (selectedList.length === 1) { - setCurrentStatus(1); - // remove edit status after return previous - edgeTypeStore.clearReusableNameChangeIndexes(); - return; - } - - edgeTypeStore.deleteReuseData('edgelabel_conflicts', index); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - const vertexTypeColumnConfigs = [ - { - title: t('addition.common.vertex-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== vertexTypeEditIndex) { - return text; - } - - return ( - { - edgeTypeStore.resetValidateReuseErrorMessage('vertexType'); - - const editedCheckedReusableData = cloneDeep( - edgeTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.vertexlabel_conflicts[ - index - ].entity.name = e.value; - - edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateReuseData( - 'vertexType', - edgeTypeStore.checkedReusableData!.vertexlabel_conflicts[ - index - ].entity.name, - edgeTypeStore.editedCheckedReusableData! - .vertexlabel_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - width: '30%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (edgeTypeStore.reusableVertexTypeNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - const originalName = edgeTypeStore.checkedReusableData! - .vertexlabel_conflicts[index].entity.name; - const changedName = edgeTypeStore.editedCheckedReusableData! - .vertexlabel_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - if (index === vertexTypeEditIndex) { - return ( -
- { - if ( - !isChanged || - !edgeTypeStore.validateReuseData( - 'vertexType', - originalName, - changedName - ) - ) { - return; - } - - edgeTypeStore.mutateReuseData( - 'vertexType', - originalName, - changedName - ); - setVertexTypeEditIndex(null); - edgeTypeStore.mutateReusableVertexTypeChangeIndexes(index); - }} - > - {t('addition.common.save')} - - { - edgeTypeStore.resetValidateReuseErrorMessage('vertexType'); - setVertexTypeEditIndex(null); - edgeTypeStore.resetEditedReusableVertexTypeName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (vertexTypeEditIndex !== null) { - return; - } - - setVertexTypeEditIndex(index); - }} - > - {t('addition.operate.rename')} - -
- ); - } - } - ]; - - const metadataPropertyColumnConfigs = [ - { - title: t('addition.common.property-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (propertyEditIndex !== index) { - return text; - } - - return ( - { - edgeTypeStore.resetValidateReuseErrorMessage('property'); - - const editedCheckedReusableData = cloneDeep( - edgeTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.propertykey_conflicts[ - index - ].entity.name = e.value; - - edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateReuseData( - 'property', - edgeTypeStore.checkedReusableData!.propertykey_conflicts[ - index - ].entity.name, - edgeTypeStore.editedCheckedReusableData! - .propertykey_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.common.data-type'), - dataIndex: 'data_type', - width: '15%', - render(text: string) { - if (text === 'TEXT') { - return 'string'; - } - - return text.toLowerCase(); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - align: 'center', - width: '15%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (edgeTypeStore.reusablePropertyNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return
{text}
; - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === propertyEditIndex) { - const originalName = edgeTypeStore.checkedReusableData! - .propertykey_conflicts[index].entity.name; - const changedName = edgeTypeStore.editedCheckedReusableData! - .propertykey_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - return ( -
- { - if ( - !isChanged || - !edgeTypeStore.validateReuseData( - 'property', - originalName, - changedName - ) - ) { - return; - } - - edgeTypeStore.mutateReuseData( - 'property', - originalName, - changedName - ); - setPropertyEditIndex(null); - edgeTypeStore.mutateReusablePropertyNameChangeIndexes(index); - }} - > - {t('addition.common.save')} - - { - edgeTypeStore.resetValidateReuseErrorMessage('property'); - setPropertyEditIndex(null); - edgeTypeStore.resetEditedReusablePropertyName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (propertyEditIndex !== null) { - return; - } - - setPropertyEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (propertyEditIndex !== null) { - return; - } - - setPropertyEditIndex(null); - - edgeTypeStore.deleteReuseData('propertykey_conflicts', index); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - const metadataPropertyIndexColumnConfigs = [ - { - title: t('addition.common.property-index-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== propertyIndexEditIndex) { - return text; - } - - return ( - { - edgeTypeStore.resetValidateReuseErrorMessage('property_index'); - - const editedCheckedReusableData = cloneDeep( - edgeTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.propertyindex_conflicts[ - index - ].entity.name = e.value; - - edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateReuseData( - 'property_index', - edgeTypeStore.checkedReusableData!.propertyindex_conflicts[ - index - ].entity.name, - edgeTypeStore.editedCheckedReusableData! - .propertyindex_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.common.corresponding-type'), - dataIndex: 'owner', - width: '15%' - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - align: 'center', - width: '15%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (edgeTypeStore.reusablePropertyIndexNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return
{text}
; - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === propertyIndexEditIndex) { - const originalName = edgeTypeStore.checkedReusableData! - .propertyindex_conflicts[index].entity.name; - const changedName = edgeTypeStore.editedCheckedReusableData! - .propertyindex_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - return ( -
- { - if ( - !isChanged || - !edgeTypeStore.validateReuseData( - 'property_index', - originalName, - changedName - ) - ) { - return; - } - - edgeTypeStore.mutateReuseData( - 'property_index', - originalName, - changedName - ); - setPropertyIndexEditIndex(null); - edgeTypeStore.mutateReusableVertexTypeChangeIndexes(index); - }} - > - {t('addition.common.save')} - - { - edgeTypeStore.resetValidateReuseErrorMessage( - 'property_index' - ); - setPropertyIndexEditIndex(null); - edgeTypeStore.resetEditedReusablePropertyIndexName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (propertyIndexEditIndex !== null) { - return; - } - - setPropertyIndexEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (propertyIndexEditIndex !== null) { - return; - } - - setPropertyIndexEditIndex(null); - - edgeTypeStore.deleteReuseData('propertyindex_conflicts', index); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - useEffect(() => { - // unlike metadata properties, all vertex types only needs here(in reuse) - edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); - }, [edgeTypeStore]); - - return ( -
-
- {t('addition.edge.multiplexing-edge-type')} -
-
- {t('addition.edge.multiplexing-edge-type-notice')} -
-
- - {[ - t('addition.menu.select-reuse-item'), - t('addition.menu.confirm-reuse-item'), - t('addition.menu.complete-reuse') - ].map((title: string, index: number) => ( - index + 1 - ? 'finish' - : 'wait' - } - key={title} - /> - ))} - - - {currentStatus === 1 && ( - <> -
-
- * - {t('addition.newGraphConfig.id')}: -
- -
-
-
- * - {t('addition.edge.multiplexing-edge-type')}: -
- name - )} - selectedList={selectedList} - showSearchBox={false} - candidateTreeStyle={{ - width: 359, - fontSize: 14 - }} - selectedTreeStyle={{ - width: 359, - fontSize: 14 - }} - handleSelect={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleSelectAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDelete={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDeleteAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - /> -
-
- - -
- - )} - - {currentStatus === 2 && ( - <> -
- {t('addition.common.selected-edge-type')} -
-
({ - name: entity.name, - status - }) - ) - : [] - } - pagination={false} - /> - -
- {t('addition.common.selected-vertex-type')} -
-
({ - name: entity.name, - status - }) - ) - : [] - } - pagination={false} - /> - -
- {t('addition.common.selected-property')} -
-
({ - name: entity.name, - data_type: entity.data_type, - status - }) - ) - : [] - } - pagination={false} - /> - -
- {t('addition.common.selected-property-index')} -
-
({ - name: entity.name, - owner: entity.owner, - status - }) - ) - : [] - } - pagination={false} - /> - -
- - -
- - )} - - {currentStatus === 3 && ( -
-
- {t('addition.message.reuse-complete')} -
-
{t('addition.message.reuse-complete')}
-
{t('addition.message.vertex-type-reuse-success')}
-
-
-
- - -
-
- )} - - - ); -}); - -export default ReuseEdgeTypes; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/index.ts deleted file mode 100644 index 2326af6d4..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/edge-type/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import NewEdgeType from './NewEdgeType'; -import EdgeTypeList from './EdgeTypeList'; - -export { NewEdgeType, EdgeTypeList }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx deleted file mode 100644 index 2ff3edae7..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx +++ /dev/null @@ -1,1415 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { cloneDeep, merge, isUndefined, isEmpty } from 'lodash-es'; -import { - Drawer, - Button, - Input, - Select, - Switch, - Checkbox, - Message -} from 'hubble-ui'; - -import { Tooltip } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import { - mapMetadataProperties, - generateGraphModeId, - formatVertexIdText, - edgeWidthMapping -} from '../../../../stores/utils'; - -import type { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; -import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; -import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; -import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -const propertyIndexTypeMappings: Record = { - SECONDARY: i18next.t('addition.menu.secondary-index'), - RANGE: i18next.t('addition.menu.range-index'), - SEARCH: i18next.t('addition.menu.full-text-index') -}; - -const CheckAndEditEdge: React.FC = observer(() => { - const { metadataPropertyStore, edgeTypeStore, graphViewStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const [isAddProperty, switchIsAddProperty] = useState(false); - const [isDeletePop, switchDeletePop] = useState(false); - const [ - deleteExistPopIndexInDrawer, - setDeleteExistPopIndexInDrawer - ] = useState(null); - const [ - deleteAddedPopIndexInDrawer, - setDeleteAddedPopIndexInDrawer - ] = useState(null); - - const deleteWrapperRef = useRef(null); - const dropdownWrapperRef = useRef(null); - const deleteWrapperInDrawerRef = useRef(null); - - const isEditEdge = graphViewStore.currentDrawer === 'edit-edge'; - - const metadataDrawerOptionClass = classnames({ - 'metadata-drawer-options': true, - 'metadata-drawer-options-disabled': isEditEdge - }); - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - const drawerWrapper = document.querySelector( - '.new-fc-one-drawer-content-wrapper' - ); - - if ( - graphViewStore.currentDrawer === 'check-edge' && - drawerWrapper && - !drawerWrapper.contains(e.target as Element) - ) { - /* - handleOutSideClick is being called after the value assignment of data and drawer-name, - we need to judge whether a node or edge is being clicked - */ - if (graphViewStore.isNodeOrEdgeClicked) { - // if node/edge is clicked, reset state and prepare for next outside clicks - graphViewStore.switchNodeOrEdgeClicked(false); - } else { - graphViewStore.setCurrentDrawer(''); - } - } - - if ( - isEditEdge && - isAddProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddProperty(false); - return; - } - - if ( - isDeletePop !== null && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchDeletePop(false); - } - }, - [graphViewStore, isEditEdge, isAddProperty, isDeletePop] - ); - - const handleCloseDrawer = () => { - switchIsAddProperty(false); - graphViewStore.setCurrentDrawer(''); - edgeTypeStore.selectEdgeType(null); - // clear mutations in - edgeTypeStore.resetEditedSelectedEdgeType(); - }; - - const handleDeleteEdge = async () => { - // cache vertex name here before it gets removed - const edgeName = edgeTypeStore.selectedEdgeType!.name; - const edgeId = generateGraphModeId( - edgeName, - edgeTypeStore.selectedEdgeType!.source_label, - edgeTypeStore.selectedEdgeType!.target_label - ); - const edgeInfo = graphViewStore.visDataSet!.edges.get(edgeName); - - switchDeletePop(false); - handleCloseDrawer(); - - graphViewStore.visDataSet!.edges.remove(edgeId); - - await edgeTypeStore.deleteEdgeType([edgeName]); - - if (edgeTypeStore.requestStatus.deleteEdgeType === 'success') { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - - edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); - } - - if (edgeTypeStore.requestStatus.deleteEdgeType === 'failed') { - Message.error({ - content: edgeTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - // if failed, re-add edge - graphViewStore.visDataSet?.edges.add(edgeInfo); - } - }; - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - if (edgeTypeStore.selectedEdgeType === null) { - return null; - } - - return ( - { - if (!isEditEdge) { - graphViewStore.setCurrentDrawer('edit-edge'); - edgeTypeStore.validateEditEdgeType(); - } else { - const id = generateGraphModeId( - edgeTypeStore.selectedEdgeType!.name, - edgeTypeStore.selectedEdgeType!.source_label, - edgeTypeStore.selectedEdgeType!.target_label - ); - const updateInfo: Record = {}; - - if ( - !isEmpty(edgeTypeStore.editedSelectedEdgeType.append_properties) - ) { - const mappedProperties = mapMetadataProperties( - edgeTypeStore.selectedEdgeType!.properties, - metadataPropertyStore.metadataProperties - ); - - const newMappedProperties = mapMetadataProperties( - edgeTypeStore.editedSelectedEdgeType.append_properties, - metadataPropertyStore.metadataProperties - ); - - const mergedProperties = merge( - mappedProperties, - newMappedProperties - ); - - updateInfo.title = ` - - - ${Object.entries(mergedProperties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - return ``; - }) - .join('')} - `; - } - - if (edgeTypeStore.editedSelectedEdgeType.style.color !== null) { - updateInfo.color = { - color: edgeTypeStore.editedSelectedEdgeType.style.color, - highlight: edgeTypeStore.editedSelectedEdgeType.style.color, - hover: edgeTypeStore.editedSelectedEdgeType.style.color - }; - } - - if ( - edgeTypeStore.editedSelectedEdgeType.style.with_arrow !== null - ) { - updateInfo.arrows = - edgeTypeStore.editedSelectedEdgeType.style.with_arrow === true - ? 'to' - : ''; - } - - if ( - edgeTypeStore.editedSelectedEdgeType.style.thickness !== null - ) { - updateInfo.value = - edgeWidthMapping[ - edgeTypeStore.editedSelectedEdgeType.style.thickness - ]; - } - - if (!isEmpty(updateInfo)) { - updateInfo.id = id; - - graphViewStore.visDataSet!.edges.update(updateInfo); - } - await edgeTypeStore.updateEdgeType(); - - if (edgeTypeStore.requestStatus.updateEdgeType === 'failed') { - Message.error({ - content: edgeTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if (edgeTypeStore.requestStatus.updateEdgeType === 'success') { - Message.success({ - content: t('addition.operate.modify-success'), - size: 'medium', - showCloseIcon: false - }); - } - - handleCloseDrawer(); - graphViewStore.visNetwork!.unselectAll(); - edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); - } - }} - key="drawer-manipulation" - > - {isEditEdge ? t('addition.common.save') : t('addition.common.edit')} - , - -

- {t('addition.edge.confirm-del-edge-type')} -

-

{t('addition.edge.confirm-del-edge-careful-notice')}

-

{t('addition.message.long-time-notice')}

-
-
- {t('addition.common.confirm')} -
-
{ - switchDeletePop(false); - }} - > - {t('addition.common.cancel')} -
-
- - } - childrenProps={{ - onClick() { - if (isEditEdge) { - handleCloseDrawer(); - return; - } - - switchDeletePop(true); - } - }} - > - -
- ]} - > -
-
-
- {t('addition.menu.base-info')} -
-
-
- {t('addition.common.edge-type-name')}: -
-
- {edgeTypeStore.selectedEdgeType!.name} -
-
- -
-
- - {t('addition.common.edge-style')}: - -
-
- -
-
- -
-
- -
-
-
-
- {t('addition.common.source-type')}: -
-
- {edgeTypeStore.selectedEdgeType!.source_label} -
-
-
-
- {t('addition.common.target-type')}: -
-
- {edgeTypeStore.selectedEdgeType!.target_label} -
-
-
-
- {t('addition.common.allow-multiple-connections')}: -
- -
-
-
- {t('addition.common.association-property')}: -
-
-
- {t('addition.common.property')} - {t('addition.common.allow-null')} -
- {edgeTypeStore.selectedEdgeType!.properties.map( - ({ name, nullable }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditEdge && - edgeTypeStore.editedSelectedEdgeType.append_properties.map( - ({ name }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditEdge && ( -
{ - switchIsAddProperty(!isAddProperty); - }} - > - - {t('addition.common.add-property')} - - toogleAddProperties -
- )} - {isEditEdge && isAddProperty && ( -
- {metadataPropertyStore.metadataProperties - .filter( - (property) => - edgeTypeStore.selectedEdgeType!.properties.find( - ({ name }) => name === property.name - ) === undefined - ) - .map((property) => ( -
- - - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - edgeTypeStore.addedPropertiesInSelectedEdgeType; - - addedPropertiesInSelectedVertextType.has( - property.name - ) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = edgeTypeStore.newEdgeType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - }} - > - {property.name} - - -
- ))} -
- )} -
-
- -
-
- {t('addition.common.distinguishing-key-property')}: -
-
- {edgeTypeStore.selectedEdgeType!.sort_keys.join(';')} -
-
- -
-
- - {t('addition.edge.display-content')}: - -
- {isEditEdge ? ( - - ) : ( -
- {edgeTypeStore.selectedEdgeType?.style.display_fields - .map((field) => - formatVertexIdText( - field, - t('addition.function-parameter.edge-type') - ) - ) - .join('-')} -
- )} -
- -
- {t('addition.edge.index-info')} -
-
-
- {t('addition.menu.type-index')}: -
- -
-
-
- {t('addition.common.property-index')}: -
-
- {(edgeTypeStore.selectedEdgeType!.property_indexes.length !== 0 || - edgeTypeStore.editedSelectedEdgeType.append_property_indexes - .length !== 0) && ( -
- {t('addition.edge.index-name')} - {t('addition.edge.index-type')} - {t('addition.common.property')} -
- )} - {edgeTypeStore - .selectedEdgeType!.property_indexes.filter((propertyIndex) => - isUndefined( - edgeTypeStore.editedSelectedEdgeType.remove_property_indexes.find( - (removedPropertyName) => - removedPropertyName === propertyIndex.name - ) - ) - ) - .map(({ name, type, fields }, index) => { - return ( -
-
{name}
-
{propertyIndexTypeMappings[type]}
-
- - {fields - .map((field, index) => index + 1 + '.' + field) - .join(';')} - - - {isEditEdge && ( - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const removedPropertyIndex = cloneDeep( - edgeTypeStore.editedSelectedEdgeType - .remove_property_indexes - ); - - removedPropertyIndex.push( - edgeTypeStore.selectedEdgeType! - .property_indexes[index].name - ); - - edgeTypeStore.mutateEditedSelectedEdgeType( - { - ...edgeTypeStore.editedSelectedEdgeType, - remove_property_indexes: removedPropertyIndex - } - ); - - setDeleteExistPopIndexInDrawer(null); - edgeTypeStore.validateEditEdgeType(true); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeleteExistPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteExistPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> - )} -
-
- ); - })} - {edgeTypeStore.editedSelectedEdgeType.append_property_indexes.map( - ({ name, type, fields }, index) => { - return ( -
-
- { - const propertyIndexEntities = cloneDeep( - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - edgeTypeStore.validateEditEdgeType(); - } - }} - /> -
-
- -
-
- - - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const appendPropertyIndexes = cloneDeep( - edgeTypeStore.editedSelectedEdgeType! - .append_property_indexes - ); - - appendPropertyIndexes.splice(index, 1); - - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: appendPropertyIndexes - }); - - setDeleteAddedPopIndexInDrawer(null); - edgeTypeStore.validateEditEdgeType(true); - }} - > - {t('addition.common.confirm')} -
-
{ - edgeTypeStore.resetEditedSelectedEdgeType(); - setDeleteAddedPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteAddedPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> -
-
- ); - } - )} - {isEditEdge && ( -
{ - if ( - edgeTypeStore.editedSelectedEdgeType - .append_property_indexes.length === 0 || - edgeTypeStore.isEditReady - ) { - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - append_property_indexes: [ - ...edgeTypeStore.editedSelectedEdgeType - .append_property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - edgeTypeStore.validateEditEdgeType(true); - } - }} - style={{ - cursor: 'pointer', - color: edgeTypeStore.isEditReady ? '#2b65ff' : '#999' - }} - > - {t('addition.edge.add-group')} -
- )} -
-
- - -
- ); -}); - -export default CheckAndEditEdge; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx deleted file mode 100644 index c8a064209..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx +++ /dev/null @@ -1,1310 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { cloneDeep, isUndefined, merge, isEmpty } from 'lodash-es'; -import { - Drawer, - Button, - Input, - Select, - Switch, - Checkbox, - Message -} from 'hubble-ui'; - -import { Tooltip } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import { - mapMetadataProperties, - formatVertexIdText, - vertexRadiusMapping -} from '../../../../stores/utils'; - -import type { - VertexTypeValidatePropertyIndexes, - VertexTypeProperty -} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -const IDStrategyMappings: Record = { - PRIMARY_KEY: i18next.t('addition.constant.primary-key-id'), - AUTOMATIC: i18next.t('addition.constant.automatic-generation'), - CUSTOMIZE_STRING: i18next.t('addition.constant.custom-string'), - CUSTOMIZE_NUMBER: i18next.t('addition.constant.custom-number'), - CUSTOMIZE_UUID: i18next.t('addition.constant.custom-uuid') -}; - -const propertyIndexTypeMappings: Record = { - SECONDARY: i18next.t('addition.menu.secondary-index'), - RANGE: i18next.t('addition.menu.range-index'), - SEARCH: i18next.t('addition.menu.full-text-index') -}; - -const CheckAndEditVertex: React.FC = observer(() => { - const { metadataPropertyStore, vertexTypeStore, graphViewStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const [isAddProperty, switchIsAddProperty] = useState(false); - const [isDeletePop, switchDeletePop] = useState(false); - const [ - deleteExistPopIndexInDrawer, - setDeleteExistPopIndexInDrawer - ] = useState(null); - const [ - deleteAddedPopIndexInDrawer, - setDeleteAddedPopIndexInDrawer - ] = useState(null); - - const deleteWrapperRef = useRef(null); - const dropdownWrapperRef = useRef(null); - const deleteWrapperInDrawerRef = useRef(null); - - const isEditVertex = graphViewStore.currentDrawer === 'edit-vertex'; - - const metadataDrawerOptionClass = classnames({ - 'metadata-drawer-options': true, - 'metadata-drawer-options-disabled': isEditVertex - }); - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - const drawerWrapper = document.querySelector( - '.new-fc-one-drawer-content-wrapper' - ); - - if ( - graphViewStore.currentDrawer === 'check-vertex' && - drawerWrapper && - !drawerWrapper.contains(e.target as Element) - ) { - /* - handleOutSideClick is being called after the value assignment of data and drawer-name, - we need to judge whether a node or edge is being clicked - */ - if (graphViewStore.isNodeOrEdgeClicked) { - // if node/edge is clicked, reset state and prepare for next outside clicks - graphViewStore.switchNodeOrEdgeClicked(false); - } else { - graphViewStore.setCurrentDrawer(''); - } - } - - if ( - isAddProperty && - isEditVertex && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddProperty(false); - return; - } - - if ( - isDeletePop && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchDeletePop(false); - } - }, - [graphViewStore, isAddProperty, isEditVertex, isDeletePop] - ); - - const handleCloseDrawer = () => { - switchIsAddProperty(false); - graphViewStore.setCurrentDrawer(''); - vertexTypeStore.selectVertexType(null); - // clear mutations in - vertexTypeStore.resetEditedSelectedVertexType(); - }; - - const handleDeleteVertex = async () => { - // cache vertex name here before it gets removed - const vertexName = vertexTypeStore.selectedVertexType!.name; - const vertexInfo = graphViewStore.visDataSet?.nodes.get(vertexName); - const connectedEdgeInfos = graphViewStore.visDataSet?.edges.get( - graphViewStore.visNetwork?.getConnectedEdges(vertexName) - ); - - // close - handleCloseDrawer(); - switchDeletePop(false); - - // if node > 1, delete node on local before send request - if (graphViewStore.visDataSet!.nodes.length > 1) { - graphViewStore.visDataSet!.nodes.remove(vertexName); - } - - await vertexTypeStore.deleteVertexType([vertexName]); - - if (vertexTypeStore.requestStatus.deleteVertexType === 'success') { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - - vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); - - // if delete the last node, fetch graph data to trigger re-render to reveal - if (graphViewStore.visDataSet?.nodes.length === 1) { - graphViewStore.switchGraphDataEmpty(true); - graphViewStore.fetchGraphViewData(); - } - } - - if (vertexTypeStore.requestStatus.deleteVertexType === 'failed') { - Message.error({ - content: vertexTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - // if failed, re-add vertex and edges - graphViewStore.visDataSet!.nodes.add(vertexInfo); - graphViewStore.visDataSet!.edges.add(connectedEdgeInfos); - } - }; - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - if (vertexTypeStore.selectedVertexType === null) { - return null; - } - - return ( - { - if (!isEditVertex) { - graphViewStore.setCurrentDrawer('edit-vertex'); - vertexTypeStore.validateEditVertexType(); - } else { - const id = vertexTypeStore.selectedVertexType!.name; - const updateInfo: Record = {}; - - if ( - !isEmpty( - vertexTypeStore.editedSelectedVertexType.append_properties - ) - ) { - const mappedProperties = mapMetadataProperties( - vertexTypeStore.selectedVertexType!.properties, - metadataPropertyStore.metadataProperties - ); - - const newMappedProperties = mapMetadataProperties( - vertexTypeStore.editedSelectedVertexType.append_properties, - metadataPropertyStore.metadataProperties - ); - - const mergedProperties = merge( - mappedProperties, - newMappedProperties - ); - - updateInfo.title = ` - - - ${Object.entries(mergedProperties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - return ``; - }) - .join('')} - `; - } - - if ( - vertexTypeStore.editedSelectedVertexType.style.color !== null - ) { - updateInfo.color = { - background: - vertexTypeStore.editedSelectedVertexType.style.color, - border: vertexTypeStore.editedSelectedVertexType.style.color - }; - } - - if ( - vertexTypeStore.editedSelectedVertexType.style.size !== null - ) { - updateInfo.value = - vertexRadiusMapping[ - vertexTypeStore.editedSelectedVertexType.style.size - ]; - } - - if (!isEmpty(updateInfo)) { - updateInfo.id = id; - - graphViewStore.visDataSet!.nodes.update(updateInfo); - } - await vertexTypeStore.updateVertexType(); - - if (vertexTypeStore.requestStatus.updateVertexType === 'failed') { - Message.error({ - content: vertexTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if ( - vertexTypeStore.requestStatus.updateVertexType === 'success' - ) { - Message.success({ - content: t('addition.operate.modify-success'), - size: 'medium', - showCloseIcon: false - }); - } - - handleCloseDrawer(); - graphViewStore.visNetwork!.unselectAll(); - vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); - } - }} - key="drawer-manipulation" - > - {isEditVertex ? t('addition.common.save') : t('addition.common.edit')} - , - - {vertexTypeStore.vertexTypeUsingStatus && - vertexTypeStore.vertexTypeUsingStatus[ - vertexTypeStore.selectedVertexType!.name - ] ? ( -

- {t('addition.vertex.using-cannot-delete')} -

- ) : ( - <> -

- {t('addition.vertex.del-vertex-confirm')} -

-

{t('addition.edge.confirm-del-edge-careful-notice')}

-

{t('addition.message.long-time-notice')}

-
-
- {t('addition.common.confirm')} -
-
{ - switchDeletePop(false); - }} - > - {t('addition.common.cancel')} -
-
- - )} - - } - childrenProps={{ - onClick() { - if (isEditVertex) { - handleCloseDrawer(); - return; - } - - switchDeletePop(true); - } - }} - > - -
- ]} - > -
-
- {t('addition.menu.base-info')} -
-
-
- {t('addition.vertex.vertex-type-name')}: -
-
- {vertexTypeStore.selectedVertexType!.name} -
-
- -
-
- - {t('addition.vertex.vertex-style')}: - -
-
- -
-
- -
-
-
-
- {t('addition.common.id-strategy')}: -
- {IDStrategyMappings[vertexTypeStore.selectedVertexType!.id_strategy]} -
-
-
- {t('addition.common.association-property')}: -
-
-
- {t('addition.common.property')} - {t('addition.common.allow-null')} -
- {vertexTypeStore.selectedVertexType!.properties.map( - ({ name, nullable }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditVertex && - vertexTypeStore.editedSelectedVertexType.append_properties.map( - ({ name }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditVertex && ( -
{ - switchIsAddProperty(!isAddProperty); - }} - > - - {t('addition.common.add-property')} - - toogleAddProperties -
- )} - {isEditVertex && isAddProperty && ( -
- {metadataPropertyStore.metadataProperties - .filter( - (property) => - vertexTypeStore.selectedVertexType!.properties.find( - ({ name }) => name === property.name - ) === undefined - ) - .map((property) => ( -
- - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - vertexTypeStore.addedPropertiesInSelectedVertextType; - - addedPropertiesInSelectedVertextType.has( - property.name - ) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - append_properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = vertexTypeStore.newVertexType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - }} - > - {property.name} - - -
- ))} -
- )} -
-
-
-
- {t('addition.common.primary-key-property')}: -
-
- {vertexTypeStore.selectedVertexType!.primary_keys.join(';')} -
-
-
-
- - {t('addition.vertex.vertex-display-content')}: - -
- {isEditVertex ? ( - - ) : ( -
- {vertexTypeStore.selectedVertexType?.style.display_fields - .map((field) => - formatVertexIdText( - field, - t('addition.function-parameter.vertex-id') - ) - ) - .join('-')} -
- )} -
-
- {t('addition.edge.index-info')} -
-
-
- {t('addition.menu.type-index')}: -
- -
-
-
- {t('addition.common.property-index')}: -
-
- {(vertexTypeStore.selectedVertexType!.property_indexes.length !== - 0 || - vertexTypeStore.editedSelectedVertexType.append_property_indexes - .length !== 0) && ( -
- {t('addition.edge.index-name')} - {t('addition.edge.index-type')} - {t('addition.common.property')} -
- )} - {vertexTypeStore - .selectedVertexType!.property_indexes.filter((propertyIndex) => - isUndefined( - vertexTypeStore.editedSelectedVertexType.remove_property_indexes.find( - (removedPropertyName) => - removedPropertyName === propertyIndex.name - ) - ) - ) - .map(({ name, type, fields }, index) => { - return ( -
-
{name}
-
{propertyIndexTypeMappings[type]}
-
- - {fields - .map((field, index) => index + 1 + '.' + field) - .join(';')} - - {isEditVertex && ( - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const removedPropertyIndexes = cloneDeep( - vertexTypeStore.editedSelectedVertexType - .remove_property_indexes - ); - - removedPropertyIndexes.push( - vertexTypeStore.selectedVertexType! - .property_indexes[index].name - ); - - vertexTypeStore.mutateEditedSelectedVertexType( - { - ...vertexTypeStore.editedSelectedVertexType, - remove_property_indexes: removedPropertyIndexes - } - ); - - setDeleteExistPopIndexInDrawer(null); - vertexTypeStore.validateEditVertexType( - true - ); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeleteExistPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteExistPopIndexInDrawer(index); - } - }} - /> - )} -
-
- ); - })} - {vertexTypeStore.editedSelectedVertexType.append_property_indexes.map( - ({ name, type, fields }, index) => { - return ( -
-
- { - const propertyIndexEntities = cloneDeep( - vertexTypeStore.editedSelectedVertexType - .append_property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - vertexTypeStore.validateEditVertexType(); - } - }} - /> -
-
- -
-
- - - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const appendPropertyIndexes = cloneDeep( - vertexTypeStore.editedSelectedVertexType! - .append_property_indexes - ); - - appendPropertyIndexes.splice(index, 1); - - vertexTypeStore.mutateEditedSelectedVertexType( - { - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: appendPropertyIndexes - } - ); - - setDeleteAddedPopIndexInDrawer(null); - vertexTypeStore.validateEditVertexType(true); - }} - > - {t('addition.common.confirm')} -
-
{ - vertexTypeStore.resetEditedSelectedVertexType(); - setDeleteAddedPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteAddedPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> -
-
- ); - } - )} - {isEditVertex && ( -
{ - if ( - vertexTypeStore.editedSelectedVertexType - .append_property_indexes.length === 0 || - vertexTypeStore.isEditReady - ) { - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: [ - ...vertexTypeStore.editedSelectedVertexType - .append_property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - vertexTypeStore.validateEditVertexType(true); - } - }} - style={{ - cursor: 'pointer', - color: vertexTypeStore.isEditReady ? '#2b65ff' : '#999' - }} - > - {t('addition.edge.add-group')} -
- )} -
- - -
- ); -}); - -export default CheckAndEditVertex; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx deleted file mode 100644 index 0bcef5713..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { Drawer, Table, Message } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { Tooltip } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import type { MetadataProperty } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; -import { signal } from 'codemirror'; - -const CheckProperty: React.FC = observer(() => { - const { metadataPropertyStore, graphViewStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const [popIndex, setPopIndex] = useState(null); - const deleteWrapperRef = useRef(null); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // note: .new-fc-one-drawer-content-wrapper sometimes only contain one single element? - // however if you capture .new-fc-one-drawer-wrapper-body-container it still returns itself and contains all children - // thus here we capture body-container as drawer - const drawerWrapper = document.querySelector( - '.new-fc-one-drawer-wrapper-body-container' - ); - - const deleteWrapper = document.querySelector('.metadata-graph-tooltips'); - - if ( - graphViewStore.currentDrawer === 'check-property' && - drawerWrapper && - !drawerWrapper.contains(e.target as Element) - ) { - if ( - deleteWrapper === null && - (e.target as Element).className !== - 'metadata-graph-property-manipulation' - ) { - graphViewStore.setCurrentDrawer(''); - } - - if ( - deleteWrapper && - !deleteWrapper.contains(e.target as Element) && - (e.target as Element).className !== - 'metadata-graph-property-manipulation' - ) { - graphViewStore.setCurrentDrawer(''); - } - } - - if ( - popIndex !== null && - deleteWrapper && - !deleteWrapper.contains(e.target as Element) - ) { - setPopIndex(null); - } - }, - [graphViewStore, popIndex] - ); - - const handleCloseDrawer = () => { - graphViewStore.setCurrentDrawer(''); - }; - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, true); - - return () => { - document.removeEventListener('click', handleOutSideClick, true); - }; - }, [handleOutSideClick]); - - const columnConfigs = [ - { - title: t('addition.common.property-name'), - dataIndex: 'name' - }, - { - title: t('addition.common.data-type'), - dataIndex: 'data_type', - render(text: string) { - const realText = text === 'TEXT' ? 'string' : text.toLowerCase(); - - return realText; - } - }, - { - title: t('addition.common.cardinal-number'), - dataIndex: 'cardinality' - }, - { - title: t('addition.operate.operate'), - render(_: any, records: MetadataProperty, index: number) { - return ( - - {metadataPropertyStore.metadataPropertyUsingStatus && - metadataPropertyStore.metadataPropertyUsingStatus[ - records.name - ] ? ( -

- {t('addition.message.property-using-cannot-delete')} -

- ) : ( - <> -

{t('addition.message.property-del-confirm')}

-

{t('addition.edge.confirm-del-edge-careful-notice')}

-
-
{ - setPopIndex(null); - await metadataPropertyStore.deleteMetadataProperty([ - records.name - ]); - if ( - metadataPropertyStore.requestStatus - .deleteMetadataProperty === 'success' - ) { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - metadataPropertyStore.fetchMetadataPropertyList(); - } - if ( - metadataPropertyStore.requestStatus - .deleteMetadataProperty === 'failed' - ) { - Message.error({ - content: metadataPropertyStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('addition.common.confirm')} -
-
{ - setPopIndex(null); - }} - > - {t('addition.common.cancel')} -
-
- - )} - - } - childrenProps={{ - className: 'metadata-graph-property-manipulation', - async onClick() { - await metadataPropertyStore.checkIfUsing([records.name]); - if ( - metadataPropertyStore.requestStatus.checkIfUsing === 'success' - ) { - setPopIndex(index); - } - } - }} - > - {t('addition.common.del')} -
- ); - } - } - ]; - - return ( - -
-
- - - ); -}); - -export default CheckProperty; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx deleted file mode 100644 index 87268d57b..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx +++ /dev/null @@ -1,1177 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { cloneDeep, isUndefined } from 'lodash-es'; -import { - Drawer, - Button, - Input, - Select, - Switch, - Checkbox, - Tooltip, - Message -} from 'hubble-ui'; - -import { Tooltip as CustomTooltip } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; -import { - mapMetadataProperties, - generateGraphModeId, - edgeWidthMapping, - formatVertexIdText -} from '../../../../stores/utils'; -import { useTranslation } from 'react-i18next'; - -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; -import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; -import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; -import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; -import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; - -const CreateEdge: React.FC = observer(() => { - const { - metadataPropertyStore, - vertexTypeStore, - edgeTypeStore, - graphViewStore - } = useContext(MetadataConfigsRootStore); - const [isAddNewProperty, switchIsAddNewProperty] = useState(false); - const [deletePopIndex, setDeletePopIndex] = useState(null); - const deleteWrapperRef = useRef(null); - const dropdownWrapperRef = useRef(null); - const { t } = useTranslation(); - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - isAddNewProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddNewProperty(false); - } - - if ( - deletePopIndex && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - setDeletePopIndex(null); - } - }, - [deletePopIndex, isAddNewProperty] - ); - - const handleCloseDrawer = () => { - graphViewStore.setCurrentDrawer(''); - edgeTypeStore.resetNewEdgeType(); - edgeTypeStore.resetAddedPropertiesInSelectedEdgeType(); - }; - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( - { - edgeTypeStore.validateAllNewEdgeType(); - - if (!edgeTypeStore.isCreatedReady) { - return; - } - - const { - name, - source_label, - target_label, - properties, - sort_keys, - style, - ...rest - } = edgeTypeStore.newEdgeType; - - const mappedProperties = mapMetadataProperties( - properties, - metadataPropertyStore.metadataProperties - ); - - graphViewStore.visDataSet!.edges.add({ - ...rest, - id: generateGraphModeId(name, source_label, target_label), - label: name.length <= 15 ? name : name.slice(0, 15) + '...', - from: source_label, - to: target_label, - value: edgeWidthMapping[style.thickness], - font: { size: 16, strokeWidth: 0, color: '#666' }, - arrows: style.with_arrow === true ? 'to' : '', - title: ` - - - ${Object.entries(mappedProperties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - const sortKeyIndex = sort_keys.findIndex( - (sortKey) => sortKey === key - ); - - return ``; - }) - .join('')} - `, - color: { - color: style.color, - highlight: style.color, - hover: style.color - } - }); - - await edgeTypeStore.addEdgeType(); - - if (edgeTypeStore.requestStatus.addEdgeType === 'success') { - edgeTypeStore.fetchEdgeTypeList(); - edgeTypeStore.resetNewEdgeType(); - edgeTypeStore.resetAddedPropertiesInSelectedEdgeType(); - graphViewStore.setCurrentDrawer(''); - - Message.success({ - content: t('addition.newGraphConfig.create-scuccess'), - size: 'medium', - showCloseIcon: false - }); - } - - if (edgeTypeStore.requestStatus.addEdgeType === 'failed') { - Message.error({ - content: edgeTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('addition.newGraphConfig.create')} - , - - ]} - > -
-
-
-
- {t('addition.menu.base-info')} -
-
-
- * - {t('addition.common.edge-type-name')}: -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - name: e.value - }); - }} - originInputProps={{ - onBlur() { - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType('name'); - } - }} - /> -
-
-
- * - {t('addition.common.edge-style')}: -
-
- -
- -
- -
- -
- -
-
-
-
- * - {t('addition.common.source-type')}: -
- -
- -
-
- * - {t('addition.common.target-type')}: -
- -
- -
-
- * - {t('addition.common.allow-multiple-connections')}: - - hint - -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - link_multi_times: checked - }); - }} - /> -
- -
-
- {edgeTypeStore.newEdgeType.link_multi_times && ( - * - )} - {t('addition.common.association-property')}: -
-
- {edgeTypeStore.newEdgeType.properties.length !== 0 && ( -
-
-
{t('addition.common.property')}
-
{t('addition.common.allow-null')}
-
- {edgeTypeStore.newEdgeType.properties.map( - (property, index) => { - const currentProperties = cloneDeep( - edgeTypeStore.newEdgeType.properties - ); - - return ( -
-
{property.name}
-
- { - currentProperties[index].nullable = - !currentProperties[index].nullable; - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - properties: currentProperties - }); - }} - size="large" - /> -
-
- ); - } - )} -
- )} -
{ - switchIsAddNewProperty(!isAddNewProperty); - }} - > - {t('addition.common.add-property')} - toggleAddProperty -
-
-
- - {isAddNewProperty && ( -
-
-
- {metadataPropertyStore.metadataProperties.map((property) => ( -
- - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesIndexInSelectedEdgeType = - edgeTypeStore.addedPropertiesInSelectedEdgeType; - - addedPropertiesIndexInSelectedEdgeType.has( - property.name - ) - ? addedPropertiesIndexInSelectedEdgeType.delete( - property.name - ) - : addedPropertiesIndexInSelectedEdgeType.add( - property.name - ); - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - properties: [ - ...addedPropertiesIndexInSelectedEdgeType - ].map((propertyName) => { - const currentProperty = - edgeTypeStore.newEdgeType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType('properties'); - }} - > - {property.name} - - -
- ))} -
-
- )} - - {edgeTypeStore.newEdgeType.link_multi_times && ( -
-
- * - {t('addition.common.distinguishing-key')}: -
- -
- )} -
-
- * - {t('addition.edge.display-content')}: -
- -
-
- - {t('addition.edge.index-info')} - - - hint - -
- -
-
- * - {t('addition.menu.type-index')}: -
- { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - open_label_index: checked - }); - }} - /> -
- -
-
- {t('addition.common.property-index')}: -
-
- {edgeTypeStore.newEdgeType.property_indexes.length !== 0 && ( -
-
- {t('addition.edge.index-name')} -
-
- {t('addition.edge.index-type')} -
-
{t('addition.common.property')}
-
- )} - {edgeTypeStore.newEdgeType.property_indexes.map( - ({ name, type, fields }, index) => ( -
-
- { - const propertyIndexEntities = cloneDeep( - edgeTypeStore.newEdgeType.property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType( - 'propertyIndexes' - ); - } - }} - /> -
-
- -
-
- -
- - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const propertyIndexEntities = cloneDeep( - edgeTypeStore.newEdgeType.property_indexes - ); - - propertyIndexEntities.splice(index, 1); - - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: propertyIndexEntities - }); - - edgeTypeStore.validateAllNewEdgeType(true); - edgeTypeStore.validateNewEdgeType( - 'propertyIndexes' - ); - - setDeletePopIndex(null); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeletePopIndex(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: closeIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeletePopIndex(index); - } - }} - childrenWrapperElement="img" - /> -
- ) - )} - { - if ( - edgeTypeStore.newEdgeType.property_indexes.length === 0 || - edgeTypeStore.isAddNewPropertyIndexReady - ) { - edgeTypeStore.mutateNewEdgeType({ - ...edgeTypeStore.newEdgeType, - property_indexes: [ - ...edgeTypeStore.newEdgeType.property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - edgeTypeStore.validateAllNewEdgeType(true); - // set isAddNewPropertyIndexReady to false - edgeTypeStore.validateNewEdgeType( - 'propertyIndexes', - true - ); - } - }} - style={{ - cursor: 'pointer', - color: edgeTypeStore.isAddNewPropertyIndexReady - ? '#2b65ff' - : '#999', - lineHeight: '32px' - }} - > - {t('addition.edge.add-group')} - -
-
-
-
- -
- ); -}); - -export default CreateEdge; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx deleted file mode 100644 index b4b2d23c8..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext } from 'react'; -import { observer } from 'mobx-react'; -import { Drawer, Button, Input, Select, Message } from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -const dataTypeOptions = [ - 'string', - 'boolean', - 'byte', - 'int', - 'long', - 'float', - 'double', - 'date', - 'uuid', - 'blob' -]; - -const cardinalityOptions = ['single', 'list', 'set']; - -const CreateProperty: React.FC = observer(() => { - const { metadataPropertyStore, graphViewStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const handleCloseDrawer = () => { - graphViewStore.setCurrentDrawer(''); - metadataPropertyStore.resetNewProperties(); - metadataPropertyStore.resetValidateNewProperty(); - }; - - return ( - { - metadataPropertyStore.validateNewProperty(); - - if (!metadataPropertyStore.isCreatedReady) { - return; - } - - await metadataPropertyStore.addMetadataProperty(); - - if ( - metadataPropertyStore.requestStatus.addMetadataProperty === - 'success' - ) { - graphViewStore.setCurrentDrawer(''); - - Message.success({ - content: t('addition.newGraphConfig.create-scuccess'), - size: 'medium', - showCloseIcon: false - }); - } - - if ( - metadataPropertyStore.requestStatus.addMetadataProperty === - 'failed' - ) { - Message.error({ - content: metadataPropertyStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - - metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); - metadataPropertyStore.resetNewProperties(); - }} - > - {t('addition.newGraphConfig.create')} - , - - ]} - > -
-
-
-
-
- * - {t('addition.common.property-name')}: -
- { - metadataPropertyStore.mutateNewProperty({ - ...metadataPropertyStore.newMetadataProperty, - _name: e.value - }); - - metadataPropertyStore.validateNewProperty(); - }} - originInputProps={{ - // no autofocus here, it will automatically dispatch blur action - onBlur() { - metadataPropertyStore.validateNewProperty(); - } - }} - /> -
-
-
- * - {t('addition.common.data-type')}: -
- -
-
-
- * - {t('addition.common.cardinal-number')}: -
- -
-
-
-
-
- ); -}); - -export default CreateProperty; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx deleted file mode 100644 index 9a40be4ee..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx +++ /dev/null @@ -1,1142 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { cloneDeep, isUndefined } from 'lodash-es'; -import { - Drawer, - Button, - Input, - Select, - Radio, - Switch, - Checkbox, - Tooltip, - Message -} from 'hubble-ui'; - -import { Tooltip as CustomTooltip } from '../../../common'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import { - vertexRadiusMapping, - mapMetadataProperties, - formatVertexIdText -} from '../../../../stores/utils'; -import { useTranslation } from 'react-i18next'; - -import type { VertexTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; -import { clearObserving } from 'mobx/lib/internal'; - -const CreateVertex: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { metadataPropertyStore, vertexTypeStore, graphViewStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const [isAddNewProperty, switchIsAddNewProperty] = useState(false); - const [deletePopIndex, setDeletePopIndex] = useState(null); - const deleteWrapperRef = useRef(null); - const dropdownWrapperRef = useRef(null); - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - isAddNewProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddNewProperty(false); - } - - if ( - deletePopIndex && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - setDeletePopIndex(null); - } - }, - [deletePopIndex, isAddNewProperty] - ); - - const handleCloseDrawer = () => { - graphViewStore.setCurrentDrawer(''); - vertexTypeStore.resetNewVertextType(); - vertexTypeStore.resetAddedPropertiesInSelectedVertextType(); - }; - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( - { - vertexTypeStore.validateAllNewVertexType(); - - if (!vertexTypeStore.isCreatedReady) { - return; - } - - const { - name, - properties, - primary_keys, - style, - ...rest - } = vertexTypeStore.newVertexType; - - const mappedProperties = mapMetadataProperties( - properties, - metadataPropertyStore.metadataProperties - ); - - graphViewStore.visDataSet!.nodes.add({ - ...rest, - id: name, - label: name.length <= 15 ? name : name.slice(0, 15) + '...', - vLabel: name, - properties, - value: vertexRadiusMapping[style.size], - font: { size: 16 }, - title: ` - - - ${Object.entries(mappedProperties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - const primaryKeyIndex = primary_keys.findIndex( - (primaryKey) => primaryKey === key - ); - - return ``; - }) - .join('')} - `, - color: { - background: style.color, - border: style.color, - highlight: { - background: '#fb6a02', - border: '#fb6a02' - }, - hover: { background: '#ec3112', border: '#ec3112' } - }, - // reveal label when zoom to max - scaling: { - label: { - max: Infinity, - maxVisible: Infinity - } - }, - chosen: { - node( - values: any, - id: string, - selected: boolean, - hovering: boolean - ) { - if (hovering || selected) { - values.shadow = true; - values.shadowColor = 'rgba(0, 0, 0, 0.6)'; - values.shadowX = 0; - values.shadowY = 0; - values.shadowSize = 25; - } - - if (selected) { - values.size += 5; - } - } - } - }); - - await vertexTypeStore.addVertexType(); - - if (vertexTypeStore.requestStatus.addVertexType === 'success') { - vertexTypeStore.fetchVertexTypeList(); - vertexTypeStore.resetNewVertextType(); - vertexTypeStore.resetAddedPropertiesInSelectedVertextType(); - graphViewStore.setCurrentDrawer(''); - - Message.success({ - content: t('addition.newGraphConfig.create-scuccess'), - size: 'medium', - showCloseIcon: false - }); - - // if vertex is empty before, trigger re-render here to reveal - if (graphViewStore.isGraphVertexEmpty) { - graphViewStore.switchGraphDataEmpty(false); - // need to get node colors again since fetchGraphViewData() will cause re-render in - // the graph use graphNode() rather than local added node - await dataAnalyzeStore.fetchAllNodeStyle(); - graphViewStore.fetchGraphViewData( - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.vertexWritingMappings, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings - ); - } - return; - } - - if (vertexTypeStore.requestStatus.addVertexType === 'failed') { - Message.error({ - content: vertexTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - }} - > - {t('addition.newGraphConfig.create')} - , - - ]} - > -
-
-
-
- {t('addition.menu.base-info')} -
-
-
- * - {t('addition.vertex.vertex-type-name')}: -
- { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - name: e.value - }); - }} - originInputProps={{ - onBlur() { - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('name'); - } - }} - /> -
-
-
- * - {t('addition.vertex.vertex-style')}: -
-
- -
-
- -
-
-
-
- * - {t('addition.common.id-strategy')}: -
- ) => { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - id_strategy: e.target.value - }); - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('primaryKeys'); - }} - > - - {t('addition.constant.primary-key-id')} - - - {t('addition.constant.automatic-generation')} - - - {t('addition.constant.custom-string')} - - - {t('addition.constant.custom-number')} - - - {t('addition.constant.custom-uuid')} - - -
-
-
- {vertexTypeStore.newVertexType.id_strategy === - 'PRIMARY_KEY' && ( - * - )} - {t('addition.common.association-property')}: -
-
- {vertexTypeStore.newVertexType.properties.length !== 0 && ( -
-
-
{t('addition.common.property')}
-
{t('addition.common.allow-null')}
-
- {vertexTypeStore.newVertexType.properties.map( - (property, index) => { - const currentProperties = cloneDeep( - vertexTypeStore.newVertexType.properties - ); - - return ( -
-
{property.name}
-
- { - currentProperties[ - index - ].nullable = !currentProperties[index] - .nullable; - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - properties: currentProperties - }); - }} - size="large" - /> -
-
- ); - } - )} -
- )} -
{ - switchIsAddNewProperty(!isAddNewProperty); - }} - > - {t('addition.common.add-property')} - toggleAddProperty -
-
-
- - {isAddNewProperty && ( -
-
-
- {metadataPropertyStore.metadataProperties.map((property) => ( -
- - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - vertexTypeStore.addedPropertiesInSelectedVertextType; - - addedPropertiesInSelectedVertextType.has( - property.name - ) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = vertexTypeStore.newVertexType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('properties'); - }} - > - {property.name} - - -
- ))} -
-
- )} - - {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( -
-
- * - {t('addition.common.primary-key-property')}: -
- -
- )} - -
-
- * - {t('addition.vertex.vertex-display-content')}: -
- -
- -
- - {t('addition.edge.index-info')} - - - hint - -
- -
-
- * - {t('addition.menu.type-index')}: -
- { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - open_label_index: !vertexTypeStore.newVertexType - .open_label_index - }); - }} - size="large" - /> -
- -
-
- {t('addition.common.property-index')}: -
-
- {vertexTypeStore.newVertexType.property_indexes.length !== - 0 && ( -
-
- {t('addition.edge.index-name')} -
-
- {t('addition.edge.index-type')} -
-
{t('addition.common.property')}
-
- )} - {vertexTypeStore.newVertexType.property_indexes.map( - ({ name, type, fields }, index) => ( -
-
- { - const propertyIndexEntities = cloneDeep( - vertexTypeStore.newVertexType.property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType( - 'propertyIndexes' - ); - } - }} - /> -
-
- -
-
- -
- - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const propertyIndexEntities = cloneDeep( - vertexTypeStore.newVertexType - .property_indexes - ); - - propertyIndexEntities.splice(index, 1); - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: propertyIndexEntities - }); - - vertexTypeStore.validateAllNewVertexType( - true - ); - vertexTypeStore.validateNewVertexType( - 'propertyIndexes' - ); - - setDeletePopIndex(null); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeletePopIndex(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: closeIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeletePopIndex(index); - } - }} - childrenWrapperElement="img" - /> -
- ) - )} - { - if ( - vertexTypeStore.newVertexType.property_indexes.length === - 0 || - vertexTypeStore.isAddNewPropertyIndexReady - ) { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: [ - ...vertexTypeStore.newVertexType.property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - vertexTypeStore.validateAllNewVertexType(true); - // set isAddNewPropertyIndexReady to false - vertexTypeStore.validateNewVertexType( - 'propertyIndexes', - true - ); - } - }} - style={{ - cursor: 'pointer', - color: vertexTypeStore.isAddNewPropertyIndexReady - ? '#2b65ff' - : '#999', - lineHeight: '32px' - }} - > - {t('addition.edge.add-group')} - -
-
-
-
- -
- ); -}); - -export default CreateVertex; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.less deleted file mode 100644 index 3b01eb15e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.less +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.metadata-graph { - &-drawer-wrapper { - .metadata-graph-drawer { - &-title { - font-family: - 'PingFangSC-Medium', - 'Microsoft YaHei Bold', - '微软雅黑', - Arial, - sans-serif; - width: 115px; - font-weight: bold; - margin-bottom: 16px; - text-align: right; - word-break: keep-all; - } - - &-manipulations, - &-options { - margin-bottom: 32px; - display: flex; - align-items: center; - - &-name { - width: 125px; - margin-right: 43.9px; - text-align: right; - color: #333; - font-size: 14px; - word-break: keep-all; - line-height: 32px; - } - - &-expands { - font-size: 14px; - color: #333; - } - } - } - } - - &-view-wrapper { - height: calc(100vh - 222px); - overflow: hidden; - } - - &-view { - margin: -1px; - } - - &-view-empty-wrapper { - height: calc(100vh - 222px); - display: flex; - justify-content: center; - align-items: center; - } - - &-view-empty { - display: flex; - flex-direction: column; - align-items: center; - font-size: 14px; - color: #333; - } - - &-loading { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - height: 100%; - } - - &-loading-bg { - width: 144px; - height: 144px; - position: relative; - margin-bottom: 10px; - } - - &-loading-back { - position: absolute; - left: 22px; - top: 20px; - } - - &-loading-front { - position: absolute; - left: 57.1px; - top: 52.1px; - animation: loading-rotate 2s linear infinite; - } - - @keyframes loading-rotate { - from { - transform: rotate(0deg); - } - - to { - transform: rotate(360deg); - } - } - - &-property-manipulation { - font-size: 14px; - color: #2b65ff; - cursor: pointer; - - &:hover { - color: #527dff; - } - - &:active { - color: #184bcc; - } - } - - &-tooltips { - background: #fff; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - border-radius: 3px; - padding: 16px; - font-size: 14px; - color: #333; - - &-title { - font-size: 16px; - font-weight: 900; - margin-bottom: 16px; - } - } -} - -/* override */ - -// refer to index.less in root dir, this should be fixed in future -.metadata-graph-drawer-wrapper { - .new-fc-one-input-all-container { - position: relative; - } -} - -.metadata-graph-drawer-options-colors { - margin-left: 12px; -} - -.metadata-graph-drawer-options-color { - width: 20px; - height: 20px; -} - -.metadata-graph-drawer-options .metadata-graph-drawer-options-color { - margin-top: 6px; -} - -// refer to NewVertexType.less, color option style in dropdown -.new-fc-one-select-dropdown-menu-container .metadata-graph-drawer-options-color { - width: 20px; - height: 20px; - margin: 6px auto; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx deleted file mode 100644 index bc2c17536..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx +++ /dev/null @@ -1,477 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { isEmpty } from 'lodash-es'; -import vis from 'vis-network'; -import 'vis-network/styles/vis-network.min.css'; -import { Button } from 'hubble-ui'; - -import CreateProperty from './CreateProperty'; -import CreateVertex from './CreateVertex'; -import CreateEdge from './CreateEdge'; -import CheckAndEditVertex from './CheckAndEditVertex'; -import CheckAndEditEdge from './CheckAndEditEdge'; -import CheckProperty from './CheckProperty'; - -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import { generateGraphModeId } from '../../../../stores/utils'; - -import AddIcon from '../../../../assets/imgs/ic_add.svg'; -import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; -import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; -import { useTranslation } from 'react-i18next'; - -import '../../data-analyze/DataAnalyze.less'; -import './GraphView.less'; - -const styles = { - marginLeft: '12px' -}; - -const GraphView: React.FC = observer(() => { - const { - metadataPropertyStore, - vertexTypeStore, - edgeTypeStore, - graphViewStore - } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - useEffect(() => { - metadataPropertyStore.fetchMetadataPropertyList({ - fetchAll: true - }); - - vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); - edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); - - return () => { - metadataPropertyStore.dispose(); - vertexTypeStore.dispose(); - edgeTypeStore.dispose(); - }; - }, [edgeTypeStore, graphViewStore, metadataPropertyStore, vertexTypeStore]); - - return ( -
-
- - - - {/* .outsideClick need id to specify logic here */} - {!isEmpty(metadataPropertyStore.metadataProperties) && ( -
- -
- )} -
- {/* note: components below all have graphView.currentDrawer in render - * if use && at here it will dispatch re-render in this component - * which cause all components below to re-render either - */} - - - - - - - -
- ); -}); - -const GraphDataView: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { - metadataPropertyStore, - vertexTypeStore, - edgeTypeStore, - graphViewStore - } = useContext(MetadataConfigsRootStore); - const [graph, setGraph] = useState(null); - const [showLoadingGraphs, switchShowLoadingGraphs] = useState(true); - const [isGraphDataLoaded, switchIsGraphLoaded] = useState(false); - const { t } = useTranslation(); - const graphWrapper = useRef(null); - const resultWrapper = useRef(null); - - const redrawGraphs = useCallback(() => { - if (graph) { - // list mode may has scrollbar - // when switch to graph mode, scrollbar hides quickly but resize event cannot dispatch - // at this scenario we have to manually calculate the width - // however when set resultWrapper style with overflow: hidden - // window.innerWidth equals to document.body.scrollWidth - // no need to write code below: - - // let width: string; - // if (window.innerWidth - document.body.scrollWidth > 0) { - // width = String(window.innerWidth - 126) + 'px'; - // } else { - // width = getComputedStyle(resultWrapper.current!).width as string; - // } - - if ( - graphViewStore.originalGraphViewData !== null && - graphViewStore.originalGraphViewData.vertices.length === 0 && - graphViewStore.originalGraphViewData.edges.length === 0 - ) { - graph.setSize('0', '0'); - graph.redraw(); - return; - } - - const width = - String( - Number( - (getComputedStyle(resultWrapper.current!).width as string).split( - 'px' - )[0] - ) + 2 - ) + 'px'; - const height = - String( - Number( - (getComputedStyle(resultWrapper.current!).height as string).split( - 'px' - )[0] - ) + 2 - ) + 'px'; - - graph.setSize(width, height); - graph.redraw(); - } - }, [graph, graphViewStore.originalGraphViewData]); - - useEffect(() => { - graphViewStore.fetchGraphViewData( - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.vertexWritingMappings, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings - ); - - return () => { - graphViewStore.dispose(); - }; - }, [ - dataAnalyzeStore.colorMappings, - dataAnalyzeStore.vertexSizeMappings, - dataAnalyzeStore.vertexWritingMappings, - dataAnalyzeStore.edgeColorMappings, - dataAnalyzeStore.edgeThicknessMappings, - dataAnalyzeStore.edgeWithArrowMappings, - dataAnalyzeStore.edgeWritingMappings, - graphViewStore - ]); - - useEffect(() => { - const graphNodes = new vis.DataSet(graphViewStore.graphNodes); - const graphEdges = new vis.DataSet(graphViewStore.graphEdges); - - if (!graph) { - const data = { - nodes: graphNodes, - edges: graphEdges - }; - - const layout: vis.Options = { - nodes: { - shape: 'dot' - }, - edges: { - arrowStrikethrough: false, - color: { - color: 'rgba(92, 115, 230, 0.8)', - hover: 'rgba(92, 115, 230, 1)', - highlight: 'rgba(92, 115, 230, 1)' - }, - scaling: { - min: 1, - max: 3, - label: { - enabled: false - } - } - }, - interaction: { - hover: true - }, - physics: { - maxVelocity: 50, - solver: 'forceAtlas2Based', - forceAtlas2Based: { - avoidOverlap: 0 - }, - timestep: 0.3, - stabilization: { iterations: 150 } - } - }; - - if (graphWrapper.current !== null) { - const network = new vis.Network(graphWrapper!.current, data, layout); - - network.on('click', ({ nodes, edges }) => { - // click on node, note that edges(related) also has value - if (!isEmpty(nodes)) { - // note: cannot abstract switchClickOn...() and clearTimeout - // as common callings with node and edge, since click event - // would be dispatched even if click is not on node and edge - // dataAnalyzeStore.switchClickOnNodeOrEdge(true); - // clearTimeout(timer); - - // caution: nodeId is automatically converted to number - const nodeId = nodes[0]; - - if (graphViewStore.graphViewData !== null) { - const index = vertexTypeStore.vertexTypes.findIndex( - (vertex) => vertex.name === String(nodeId) - ); - - if (index === -1) { - return; - } - - vertexTypeStore.selectVertexType(index); - - // check also needs style infos - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - style: { - color: vertexTypeStore.selectedVertexType!.style.color, - icon: null, - size: vertexTypeStore.selectedVertexType!.style.size, - display_fields: vertexTypeStore.selectedVertexType!.style - .display_fields - } - }); - - graphViewStore.setCurrentDrawer('check-vertex'); - graphViewStore.switchNodeOrEdgeClicked(true); - - // check if vertex type being used - vertexTypeStore.checkIfUsing([ - vertexTypeStore.selectedVertexType!.name - ]); - } - - return; - } - - if (!isEmpty(edges)) { - const edgeId = edges[0]; - - if (graphViewStore.graphViewData !== null) { - const index = edgeTypeStore.edgeTypes.findIndex( - (edge) => - generateGraphModeId( - edge.name, - edge.source_label, - edge.target_label - ) === edgeId - ); - - if (index === -1) { - return; - } - - edgeTypeStore.selectEdgeType(index); - // check also needs style infos - edgeTypeStore.mutateEditedSelectedEdgeType({ - ...edgeTypeStore.editedSelectedEdgeType, - style: { - color: edgeTypeStore.selectedEdgeType!.style.color, - icon: null, - with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, - thickness: edgeTypeStore.selectedEdgeType!.style.thickness, - display_fields: edgeTypeStore.selectedEdgeType!.style - .display_fields - } - }); - - graphViewStore.setCurrentDrawer('check-edge'); - graphViewStore.switchNodeOrEdgeClicked(true); - } - } - }); - - network.on('dragEnd', (e) => { - if (!isEmpty(e.nodes)) { - network.unselectAll(); - } - }); - - network.once('stabilizationIterationsDone', () => { - switchShowLoadingGraphs(false); - }); - - setGraph(network); - graphViewStore.setVisNetwork(network); - } - } else { - // if graph view data arrives, init to graph - if (graphViewStore.originalGraphViewData !== null && !isGraphDataLoaded) { - // switchIsGraphLoaded(true); - - graph.setData({ - nodes: graphNodes, - edges: graphEdges - }); - - graphViewStore.setVisDataSet({ - nodes: graphNodes, - edges: graphEdges - }); - } - - redrawGraphs(); - } - }, [ - graph, - graphViewStore.graphEdges, - graphViewStore.graphNodes, - redrawGraphs, - vertexTypeStore, - edgeTypeStore, - graphViewStore, - isGraphDataLoaded - ]); - - useEffect(() => { - window.addEventListener('resize', redrawGraphs, false); - - return () => { - window.removeEventListener('resize', redrawGraphs); - }; - }, [redrawGraphs]); - - return ( - <> -
-
- {graphViewStore.requestStatus.fetchGraphViewData === 'pending' && ( -
-
- {t('addition.operate.load-background')} - {t('addition.operate.load-spinner')} -
- {t('addition.message.data-loading')}... -
- )} - {graphViewStore.requestStatus.fetchGraphViewData === 'success' && - showLoadingGraphs && - (!isEmpty(graphViewStore.originalGraphViewData!.vertices) || - !isEmpty(graphViewStore.originalGraphViewData!.edges)) && ( -
-
- {t('addition.operate.load-background')} - {t('addition.operate.load-spinner')} -
- {t('addition.operate.rendering')}... -
- )} - {graphViewStore.requestStatus.fetchGraphViewData === 'success' && - graphViewStore.isGraphVertexEmpty && - isEmpty(graphViewStore.originalGraphViewData!.vertices) && - isEmpty(graphViewStore.originalGraphViewData!.edges) && ( - - )} -
- - ); -}); - -const EmptyGraphDataView: React.FC<{ hasProeprties: boolean }> = observer( - ({ hasProeprties }) => { - const { t } = useTranslation(); - return ( -
-
- {t('addition.message.no-metadata-notice')} -
- {hasProeprties - ? t('addition.message.no-vertex-or-edge-notice') - : t('addition.message.no-metadata-notice')} -
-
-
- ); - } -); - -export default GraphView; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/index.ts deleted file mode 100644 index 22850d2f3..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/graph-view/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import GraphView from './GraphView'; - -export { GraphView }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/index.ts deleted file mode 100644 index b242a5f99..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import MetadataConfigs from './MetadataConfigs'; - -export { MetadataConfigs }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less deleted file mode 100644 index a3329baee..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.vertex-index-wrapper { - width: 100%; - background: #fff; - border-radius: 0 3px 3px 3px; - padding: 16px; -} - -.vertex-index-tab-wrapper { - display: flex; - width: 100%; - margin-top: 16px; - - & > .vertex-index-tab-index { - padding: 10px 25px; - height: 40px; - color: #333; - font-size: 14px; - text-align: center; - line-height: 20px; - cursor: pointer; - - &.active { - background-color: #fff; - color: #2b65ff; - border-radius: 3px 3px 0 0; - } - } -} - -.vertex-index-search-highlights { - background: transparent; - color: #2b65ff; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx deleted file mode 100644 index 02502337d..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx +++ /dev/null @@ -1,307 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import Highlighter from 'react-highlight-words'; -import { motion } from 'framer-motion'; -import { Input, Table } from 'hubble-ui'; - -import { LoadingDataView } from '../../../common'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import './PropertyIndex.less'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -const variants = { - initial: { - opacity: 0 - }, - animate: { - opacity: 1, - transition: { - duration: 0.7 - } - }, - exit: { - opacity: 0, - transition: { - duration: 0.3 - } - } -}; - -const IndexTypeMappings: Record = { - SECONDARY: i18next.t('addition.menu.secondary-index'), - RANGE: i18next.t('addition.menu.range-index'), - SEARCH: i18next.t('addition.menu.full-text-index') -}; - -const PropertyIndex: React.FC = observer(() => { - const { metadataPropertyIndexStore } = useContext(MetadataConfigsRootStore); - const [preLoading, switchPreLoading] = useState(true); - const [currentTab, switchCurrentTab] = useState<'vertex' | 'edge'>('vertex'); - const { t } = useTranslation(); - const isLoading = - preLoading || - metadataPropertyIndexStore.requestStatus.fetchMetadataPropertIndexes === - 'pending'; - - const handleSearchChange = (e: React.ChangeEvent) => { - metadataPropertyIndexStore.mutateSearchWords(e.target.value); - }; - - const handleSearch = () => { - metadataPropertyIndexStore.mutatePageNumber(1); - metadataPropertyIndexStore.switchIsSearchedStatus(true); - metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); - }; - - const handleClearSearch = () => { - metadataPropertyIndexStore.mutateSearchWords(''); - metadataPropertyIndexStore.mutatePageNumber(1); - metadataPropertyIndexStore.switchIsSearchedStatus(false); - metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); - }; - - const handlePageNumberChange = (e: React.ChangeEvent) => { - metadataPropertyIndexStore.mutatePageNumber(Number(e.target.value)); - metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); - }; - - useEffect(() => { - setTimeout(() => { - switchPreLoading(false); - }, 500); - }, [currentTab]); - - useEffect(() => { - metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); - - return () => { - metadataPropertyIndexStore.dispose(); - }; - }, [currentTab, metadataPropertyIndexStore]); - - const columnConfigs = [ - { - title: - currentTab === 'vertex' - ? t('addition.vertex.vertex-type-name') - : t('addition.common.edge-type-name'), - dataIndex: 'owner', - render(text: string, records: any[], index: number) { - if (metadataPropertyIndexStore.collpaseInfo === null) { - // need highlighter here since searched result could be one row - return ( - - ); - } - - const [collpaseStartIndexes, collpaseNumbers] = - metadataPropertyIndexStore.collpaseInfo; - - const startIndex = collpaseStartIndexes.findIndex( - (indexNumber) => indexNumber === index - ); - - return startIndex !== -1 - ? { - children: ( -
- -
- ), - props: { - rowSpan: collpaseNumbers[startIndex] - } - } - : { - children: ( -
- -
- ), - props: { - rowSpan: 0 - } - }; - } - }, - { - title: t('addition.edge.index-name'), - dataIndex: 'name', - render(text: string) { - return ( -
- -
- ); - } - }, - { - title: t('addition.edge.index-type'), - dataIndex: 'type', - render(text: string) { - return IndexTypeMappings[text]; - } - }, - { - title: t('addition.common.property'), - dataIndex: 'fields', - render(properties: string[]) { - return ( -
- -
- ); - } - } - ]; - - return ( - -
-
{ - if (currentTab !== 'vertex') { - metadataPropertyIndexStore.fetchMetadataPropertIndexes('vertex'); - } - - metadataPropertyIndexStore.mutateSearchWords(''); - metadataPropertyIndexStore.mutatePageNumber(1); - metadataPropertyIndexStore.switchIsSearchedStatus(false); - switchCurrentTab('vertex'); - switchPreLoading(true); - }} - className={ - currentTab === 'vertex' - ? 'vertex-index-tab-index active' - : 'vertex-index-tab-index' - } - > - {t('addition.vertex.vertex-index')} -
-
{ - if (currentTab !== 'edge') { - metadataPropertyIndexStore.fetchMetadataPropertIndexes('edge'); - } - - metadataPropertyIndexStore.mutateSearchWords(''); - metadataPropertyIndexStore.mutatePageNumber(1); - metadataPropertyIndexStore.switchIsSearchedStatus(false); - switchCurrentTab('edge'); - switchPreLoading(true); - }} - className={ - currentTab === 'edge' - ? 'vertex-index-tab-index active' - : 'vertex-index-tab-index' - } - > - {t('addition.edge.edge-index')} -
-
-
-
- -
-
{t('addition.common.no-result')} - ) : ( - {t('addition.message.no-index-notice')} - ) - } - /> - ) - }} - dataSource={ - isLoading ? [] : metadataPropertyIndexStore.metadataPropertyIndexes - } - pagination={ - isLoading - ? null - : { - hideOnSinglePage: false, - pageNo: - metadataPropertyIndexStore.metadataPropertyIndexPageConfig - .pageNumber, - pageSize: 10, - showSizeChange: false, - showPageJumper: false, - total: - metadataPropertyIndexStore.metadataPropertyIndexPageConfig - .pageTotal, - onPageNoChange: handlePageNumberChange - } - } - /> - - - ); -}); - -export default PropertyIndex; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/index.ts deleted file mode 100644 index e851e9b3d..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property-index/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import PropertyIndex from './PropertyIndex'; - -export { PropertyIndex }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.less deleted file mode 100644 index cdcdbff7f..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.less +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.metadata-configs { - .metadata-properties { - &-selected-reveals { - width: 100%; - height: 40px; - padding: 0 16px; - display: flex; - background: #2b65ff; - border-radius: 3px 3px 0 0; - font-size: 14px; - align-items: center; - color: #fff; - - & > div { - margin-right: 12px; - } - - & > img { - margin-left: auto; - cursor: pointer; - } - } - - &-manipulation { - font-size: 14px; - color: #2b65ff; - cursor: pointer; - - &:hover { - color: #527dff; - } - - &:active { - color: #184bcc; - } - } - - &-search-highlights { - background: transparent; - color: #2b65ff; - cursor: pointer; - } - } -} - -.metadata-properties-modal { - &-title { - display: flex; - justify-content: space-between; - margin-bottom: 20px; - - & > img { - cursor: pointer; - } - } - - &-description { - margin-bottom: 16px; - color: #333; - } -} - -.property-status-not-used { - width: 58px; - height: 28px; - background: #f2fff4; - border: 1px solid #7ed988; - border-radius: 2px; - font-size: 14px; - color: #39bf45; - letter-spacing: 0; - line-height: 28px; - text-align: center; -} - -.property-status-is-using { - width: 58px; - height: 28px; - background: #fff2f2; - border: 1px solid #ff9499; - border-radius: 2px; - font-size: 14px; - color: #e64552; - letter-spacing: 0; - line-height: 28px; - text-align: center; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx deleted file mode 100644 index 52537647b..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx +++ /dev/null @@ -1,912 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { intersection, size, without, values } from 'lodash-es'; -import { motion } from 'framer-motion'; -import { - Input, - Button, - Table, - Modal, - Select, - Message, - Loading -} from 'hubble-ui'; -import Highlighter from 'react-highlight-words'; - -import { Tooltip, LoadingDataView } from '../../../common'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import type { MetadataProperty } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import AddIcon from '../../../../assets/imgs/ic_add.svg'; -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; -import './MetadataProperties.less'; -import ReuseProperties from './ReuseProperties'; -import { useTranslation } from 'react-i18next'; - -const styles = { - button: { - marginLeft: '12px', - width: 78 - }, - extraMargin: { - marginRight: 4 - }, - deleteWrapper: { - display: 'flex', - justifyContent: 'flex-end' - }, - loading: { - padding: 0, - marginRight: 4 - } -}; - -const dataTypeOptions = [ - 'string', - 'boolean', - 'byte', - 'int', - 'long', - 'float', - 'double', - 'date', - 'uuid', - 'blob' -]; - -const cardinalityOptions = ['single', 'list', 'set']; - -const variants = { - initial: { - opacity: 0 - }, - animate: { - opacity: 1, - transition: { - duration: 0.7 - } - }, - exit: { - opacity: 0, - transition: { - duration: 0.3 - } - } -}; - -const MetadataProperties: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { t } = useTranslation(); - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { metadataPropertyStore, graphViewStore } = metadataConfigsRootStore; - const [preLoading, switchPreLoading] = useState(true); - const [sortOrder, setSortOrder] = useState(''); - const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); - const [isShowModal, switchShowModal] = useState(false); - - const isLoading = - preLoading || - metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'pending'; - - const currentSelectedRowKeys = intersection( - selectedRowKeys, - metadataPropertyStore.metadataProperties.map(({ name }) => name) - ); - - const printError = () => { - Message.error({ - content: metadataPropertyStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - }; - - const handleSearchChange = (e: React.ChangeEvent) => { - metadataPropertyStore.mutateSearchWords(e.target.value); - }; - - const handleSearch = async () => { - metadataPropertyStore.mutatePageNumber(1); - metadataPropertyStore.switchIsSearchedStatus(true); - await metadataPropertyStore.fetchMetadataPropertyList(); - - if ( - metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'failed' - ) { - printError(); - } - }; - - const handleClearSearch = () => { - metadataPropertyStore.mutateSearchWords(''); - metadataPropertyStore.mutatePageNumber(1); - metadataPropertyStore.switchIsSearchedStatus(false); - metadataPropertyStore.fetchMetadataPropertyList(); - }; - - const handleSelectedTableRow = ( - newSelectedRowKeys: string[], - selectedRows: MetadataProperty[] - ) => { - mutateSelectedRowKeys(newSelectedRowKeys); - // mutateSelectedRowKeys(selectedRows.map(({ name }) => name)); - }; - - const handleSortClick = () => { - switchPreLoading(true); - - if (sortOrder === 'descend') { - metadataPropertyStore.mutatePageSort('asc'); - setSortOrder('ascend'); - } else { - metadataPropertyStore.mutatePageSort('desc'); - setSortOrder('descend'); - } - - metadataPropertyStore.fetchMetadataPropertyList(); - }; - - const handlePageChange = async (e: React.ChangeEvent) => { - // mutateSelectedRowKeys([]); - metadataPropertyStore.mutatePageNumber(Number(e.target.value)); - await metadataPropertyStore.fetchMetadataPropertyList(); - - if ( - metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'failed' - ) { - printError(); - } - }; - - const batchDeleteProperties = async () => { - if ( - values(currentSelectedRowKeys).every( - (key) => metadataPropertyStore.metadataPropertyUsingStatus?.[key] - ) - ) { - Message.error({ - content: t('addition.message.no-property-can-delete'), - size: 'medium', - showCloseIcon: false - }); - - return; - } - - switchShowModal(false); - // need to set a copy in store since local row key state would be cleared - metadataPropertyStore.mutateSelectedMetadataProperyNames( - currentSelectedRowKeys - ); - // mutateSelectedRowKeys([]); - await metadataPropertyStore.deleteMetadataProperty(currentSelectedRowKeys); - // metadataPropertyStore.mutateSelectedMetadataProperyNames([]); - - if ( - metadataPropertyStore.requestStatus.deleteMetadataProperty === 'success' - ) { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - - mutateSelectedRowKeys( - without(selectedRowKeys, ...currentSelectedRowKeys) - ); - - await metadataPropertyStore.fetchMetadataPropertyList(); - - // fetch previous page data if it's empty - if ( - metadataPropertyStore.requestStatus.fetchMetadataPropertyList === - 'success' && - size(metadataPropertyStore.metadataProperties) === 0 && - metadataPropertyStore.metadataPropertyPageConfig.pageNumber > 1 - ) { - metadataPropertyStore.mutatePageNumber( - metadataPropertyStore.metadataPropertyPageConfig.pageNumber - 1 - ); - - metadataPropertyStore.fetchMetadataPropertyList(); - } - - return; - } - - if ( - metadataPropertyStore.requestStatus.deleteMetadataProperty === 'failed' - ) { - printError(); - } - }; - - // hack: need to call @observable at here to dispatch re-render by mobx - // since @action in onBlur() in doesn't dispatch re-render - metadataPropertyStore.validateNewPropertyErrorMessage.name.toLowerCase(); - - const columnConfigs = [ - { - title: t('addition.common.property-name'), - dataIndex: 'name', - width: '45%', - sorter: true, - sortOrder, - render(text: string, records: any, index: number) { - if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { - return ( - { - metadataPropertyStore.mutateNewProperty({ - ...metadataPropertyStore.newMetadataProperty, - _name: e.value - }); - - metadataPropertyStore.validateNewProperty(); - }} - originInputProps={{ - autoFocus: 'autoFocus', - onBlur() { - metadataPropertyStore.validateNewProperty(); - } - }} - /> - ); - } - - return ( -
- {metadataPropertyStore.isSearched.status ? ( - - ) : ( - {text} - )} -
- ); - } - }, - { - title: t('addition.common.data-type'), - dataIndex: 'data_type', - width: '20%', - render(text: string, records: any, index: number) { - if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { - return ( - - ); - } - - const realText = text === 'TEXT' ? 'string' : text.toLowerCase(); - - return ( -
- {realText} -
- ); - } - }, - { - title: t('addition.common.cardinal-number'), - dataIndex: 'cardinality', - width: '20%', - render(text: string, records: any, index: number) { - if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { - return ( - - ); - } - - return ( -
- {text.toLowerCase()} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '15%', - align: 'right', - render(_: any, records: any, index: number) { - return ( - - ); - } - } - ]; - - useEffect(() => { - setTimeout(() => { - switchPreLoading(false); - }, 500); - }, [sortOrder]); - - useEffect(() => { - if (metadataConfigsRootStore.currentId !== null) { - metadataPropertyStore.fetchMetadataPropertyList(); - } - - return () => { - metadataPropertyStore.dispose(); - }; - }, [ - metadataPropertyStore, - metadataConfigsRootStore.currentId, - graphViewStore - ]); - - // these would be called before rendered, pre-load some data here - // useEffect(() => { - // dataAnalyzeStore.fetchAllNodeStyle(); - // dataAnalyzeStore.fetchAllEdgeStyle(); - // }, [dataAnalyzeStore]); - - if (metadataPropertyStore.currentTabStatus === 'reuse') { - return ; - } - - return ( - -
-
- - - -
- {size(currentSelectedRowKeys) !== 0 && ( -
-
- {t('addition.message.selected')} - {size(currentSelectedRowKeys)} - {t('addition.common.term')} -
- - {t('addition.common.close')} { - mutateSelectedRowKeys([]); - }} - /> -
- )} -
rowData.name} - locale={{ - emptyText: ( - {t('addition.common.no-result')} - ) : ( - - ) - } - /> - ) - }} - rowSelection={{ - selectedRowKeys, - onChange: handleSelectedTableRow - }} - onSortClick={handleSortClick} - dataSource={ - isLoading - ? [] - : metadataPropertyStore.isCreateNewProperty - ? metadataPropertyStore.reunionMetadataProperty - : metadataPropertyStore.metadataProperties - } - pagination={ - isLoading - ? null - : { - hideOnSinglePage: false, - pageNo: - metadataPropertyStore.metadataPropertyPageConfig.pageNumber, - pageSize: 10, - showSizeChange: false, - showPageJumper: false, - total: - metadataPropertyStore.metadataPropertyPageConfig.pageTotal, - onPageNoChange: handlePageChange - } - } - /> - { - switchShowModal(false); - }} - > -
-
- {t('addition.common.del-comfirm')} - {t('addition.common.close')} { - switchShowModal(false); - }} - /> -
-
- {t('addition.message.del-unused-property-notice')} -
-
) { - return ( - - {text} - - ); - } - }, - { - title: t('addition.common.status'), - dataIndex: 'status', - render(isUsing: boolean) { - return ( -
- {isUsing - ? t('addition.common.in-use') - : t('addition.common.not-used')} -
- ); - } - } - ]} - dataSource={currentSelectedRowKeys.map((name) => { - return { - name, - status: - metadataPropertyStore.metadataPropertyUsingStatus !== - null && - // data may have some delay which leads to no matching propety value - !!metadataPropertyStore.metadataPropertyUsingStatus[name] - }; - })} - pagination={false} - /> - - - - - ); -}); - -export interface MetadataPropertiesManipulationProps { - propertyName: string; - propertyIndex: number; - // allSelectedKeys: number[]; -} - -const MetadataPropertiesManipulation: React.FC = - observer(({ propertyName, propertyIndex }) => { - const { metadataPropertyStore } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - const [isPopDeleteModal, switchPopDeleteModal] = useState(false); - const [isDeleting, switchDeleting] = useState(false); - const deleteWrapperRef = useRef(null); - const isDeleteOrBatchDeleting = - isDeleting || - (metadataPropertyStore.requestStatus.deleteMetadataProperty === - 'pending' && - metadataPropertyStore.selectedMetadataPropertyNames.includes( - propertyName - )); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isPopDeleteModal && - deleteWrapperRef && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchPopDeleteModal(false); - } - }, - [deleteWrapperRef, isPopDeleteModal] - ); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - if ( - metadataPropertyStore.isCreateNewProperty === true && - propertyIndex === 0 - ) { - return ( -
- { - metadataPropertyStore.validateNewProperty(); - - if (!metadataPropertyStore.isCreatedReady) { - return; - } - - metadataPropertyStore.switchIsCreateNewProperty(false); - await metadataPropertyStore.addMetadataProperty(); - - if ( - metadataPropertyStore.requestStatus.addMetadataProperty === - 'success' - ) { - Message.success({ - content: t('addition.newGraphConfig.create-scuccess'), - size: 'medium', - showCloseIcon: false - }); - } - - if ( - metadataPropertyStore.requestStatus.addMetadataProperty === - 'failed' - ) { - Message.error({ - content: metadataPropertyStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - - metadataPropertyStore.fetchMetadataPropertyList(); - metadataPropertyStore.resetNewProperties(); - }} - > - {t('addition.newGraphConfig.create')} - - { - metadataPropertyStore.switchIsCreateNewProperty(false); - metadataPropertyStore.resetNewProperties(); - metadataPropertyStore.resetValidateNewProperty(); - - if (metadataPropertyStore.metadataProperties.length === 0) { - metadataPropertyStore.changeCurrentTabStatus('empty'); - } - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- {isDeleteOrBatchDeleting && ( - - )} - - {metadataPropertyStore.metadataPropertyUsingStatus && - metadataPropertyStore.metadataPropertyUsingStatus[ - propertyName - ] ? ( -

- {t('addition.message.property-using-cannot-delete')} -

- ) : ( - <> -

- {t('addition.message.property-del-confirm')} -

-

{t('addition.message.property-del-confirm-again')}

-

{t('addition.message.long-time-notice')}

-
- - -
- - )} -
- } - childrenProps={{ - className: 'metadata-properties-manipulation no-line-break', - style: styles.extraMargin, - title: isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del'), - async onClick() { - if (isDeleteOrBatchDeleting) { - return; - } - - await metadataPropertyStore.checkIfUsing([propertyName]); - - if ( - metadataPropertyStore.requestStatus.checkIfUsing === 'success' - ) { - switchPopDeleteModal(true); - } - } - }} - > - {isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del')} - - - ); - }); - -const EmptyPropertyHints: React.FC = observer(() => { - const { metadataPropertyStore } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - return ( -
- Add new property -
- {t('addition.message.property-create-desc')} -
-
- - -
-
- ); -}); - -export default MetadataProperties; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.less deleted file mode 100644 index 71698137e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.less +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.reuse-properties-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; - - .reuse-steps { - width: 860px; - margin: 16px auto 18px; - } - - .reuse-properties { - &-row { - display: flex; - align-items: center; - margin: 18px 0 32px; - font-size: 14px; - color: #333; - - &:last-child { - margin-bottom: 24px; - } - - &-name { - width: 98px; - text-align: right; - margin-right: 13.9px; - } - } - - &-manipulations { - display: flex; - justify-content: center; - margin-bottom: 88px; - } - - &-validate { - &-duplicate, - &-exist, - &-pass { - width: 58px; - margin: 0 auto; - border-radius: 2px; - letter-spacing: 0; - line-height: 22px; - text-align: center; - } - - &-duplicate { - background: #fff2f2; - border: 1px solid #ff9499; - color: #e64552; - } - - &-exist, - &-pass { - background: #f2fff4; - border: 1px solid #7ed988; - color: #39bf45; - } - } - - &-complete-hint { - display: flex; - flex-direction: column; - justify-content: center; - margin: 88px auto 327px; - - &-description { - display: flex; - justify-content: center; - - & > div { - margin-left: 20px; - } - } - - &-manipulations { - margin: 42px auto 0; - } - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx deleted file mode 100644 index 032257db3..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx +++ /dev/null @@ -1,542 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { - Select, - Steps, - Transfer, - Button, - Table, - Input, - Message -} from 'hubble-ui'; -import { cloneDeep } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import PassIcon from '../../../../assets/imgs/ic_pass.svg'; - -import './ReuseProperties.less'; - -const ReuseProperties: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { metadataPropertyStore } = metadataConfigsRootStore; - const { t } = useTranslation(); - const [currentStatus, setCurrentStatus] = useState(1); - // acutally the name, not id in database - const [selectedId, mutateSelectedId] = useState<[] | string>([]); - const [selectedList, mutateSelectedList] = useState([]); - - // step 2 - const [editIndex, setEditIndex] = useState(null); - - // hack: need to call @observable at here to dispatch re-render by mobx - // since @action in onBlur() in doesn't dispatch re-render - metadataPropertyStore.validateRenameReusePropertyErrorMessage.name.toUpperCase(); - - const columnConfigs = [ - { - title: t('addition.common.property-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (editIndex !== index) { - return ( -
- {text} -
- ); - } - - return ( - { - const editedCheckedReusableProperties = cloneDeep( - metadataPropertyStore.editedCheckedReusableProperties! - ); - - editedCheckedReusableProperties.propertykey_conflicts[ - index - ].entity.name = e.value; - - metadataPropertyStore.mutateEditedReusableProperties( - editedCheckedReusableProperties - ); - }} - originInputProps={{ - onBlur() { - metadataPropertyStore.validateRenameReuseProperty(index); - } - }} - /> - ); - } - }, - { - title: t('addition.common.data-type'), - dataIndex: 'data_type', - width: '15%', - render(text: string) { - if (text === 'TEXT') { - return ( -
- string -
- ); - } - - return ( -
- {text.toLowerCase()} -
- ); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - align: 'center', - width: '15%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if ( - metadataPropertyStore.reusablePropertyNameChangeIndexes.has(index) - ) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return
{text}
; - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === editIndex) { - return ( -
- { - const isReady = metadataPropertyStore.validateRenameReuseProperty( - index - ); - - if (isReady) { - setEditIndex(null); - - metadataPropertyStore.mutateReusablePropertyNameChangeIndexes( - index - ); - } - }} - > - {t('addition.common.save')} - - { - setEditIndex(null); - metadataPropertyStore.resetValidateRenameReuseProperty(); - metadataPropertyStore.resetEditedReusablePropertyName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (editIndex !== null) { - return; - } - - setEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (editIndex !== null) { - return; - } - - setEditIndex(null); - - const editedCheckedReusableProperties = cloneDeep( - metadataPropertyStore.editedCheckedReusableProperties! - ); - - editedCheckedReusableProperties.propertykey_conflicts.splice( - index, - 1 - ); - - // remove selected status of the property in - mutateSelectedList( - [...selectedList].filter( - (property) => - property !== - metadataPropertyStore.editedCheckedReusableProperties! - .propertykey_conflicts[index].entity.name - ) - ); - - // remove property in Table - metadataPropertyStore.mutateEditedReusableProperties( - editedCheckedReusableProperties - ); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - useEffect(() => { - return () => { - // reset validate error message before unmount to avoid conflict with other component validation - metadataPropertyStore.resetValidateRenameReuseProperty(); - }; - }, [metadataPropertyStore]); - - return ( -
-
- {t('addition.operate.reuse-property')} -
-
- - {[ - t('addition.menu.select-reuse-item'), - t('addition.menu.confirm-reuse-item'), - t('addition.menu.complete-reuse') - ].map((title: string, index: number) => ( - index + 1 - ? 'finish' - : 'wait' - } - key={title} - /> - ))} - - - {currentStatus === 1 && ( - <> -
-
- * - {t('addition.newGraphConfig.id')}: -
- -
-
-
- * - {t('addition.operate.reuse-property')}: -
- name - )} - selectedList={selectedList} - showSearchBox={false} - candidateTreeStyle={{ - width: 359, - fontSize: 14 - }} - selectedTreeStyle={{ - width: 359, - fontSize: 14 - }} - handleSelect={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleSelectAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDelete={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDeleteAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - /> -
-
- - -
- - )} - - {currentStatus === 2 && ( - <> -
- {t('addition.common.selected-property')} -
-
({ - name: entity.name, - data_type: entity.data_type, - status - }) - ) - : [] - } - pagination={false} - /> -
- - -
- - )} - - {currentStatus === 3 && ( -
-
- {t('addition.message.reuse-complete')} -
-
{t('addition.message.reuse-complete')}
-
{t('addition.message.reuse-property-success')}
-
-
-
- - -
-
- )} - - - ); -}); - -export default ReuseProperties; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/index.ts deleted file mode 100644 index f83cd5d41..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/property/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import MetadataProperties from './MetadataProperties'; -import ReuseProperties from './ReuseProperties'; - -export { MetadataProperties, ReuseProperties }; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less deleted file mode 100644 index 362db1ec2..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less +++ /dev/null @@ -1,1637 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.new-vertex-type-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 30px 0; - display: flex; - flex-direction: column; - align-items: center; - - .new-vertex-type { - &-title { - // prettier-ignore - font-family: - 'PingFangSC-Medium', - 'Microsoft YaHei Bold', - '微软雅黑', - Arial, - sans-serif; - width: 115px; - font-weight: bold; - margin-bottom: 16px; - text-align: right; - word-break: keep-all; - } - - &-manipulations, - &-options { - margin-bottom: 32px; - display: flex; - align-items: center; - - &-name { - width: 125px; - margin-right: 43.9px; - text-align: right; - color: #333; - font-size: 14px; - word-break: keep-all; - line-height: 32px; - } - - &-expands { - font-size: 14px; - color: #333; - } - } - } -} - -.metadata-drawer-options-name-edit { - line-height: 34px; -} - -// retrive from parent since drawer doesn't hangs on body element -.new-vertex-type-options-colors, -.new-vertex-type-options-sizes, -.new-vertex-type-options-arrows { - margin-right: 12px; -} - -.new-vertex-type-options-color { - width: 23px; - height: 23px; - line-height: 23px; -} - -.new-vertex-type-select { - width: 20px; - height: 20px; - line-height: 20px; -} - -.new-vertex-type-options-border { - border: #dae7fb solid 2px; -} - -.new-vertex-type-options-no-border { - border: white solid 2px; -} - -.new-vertex-type-options-no-border:hover { - border: #f5f5f5 solid 2px; -} - -.new-vertex-type-options { - margin-top: 5px; -} - -.new-fc-one-select-dropdown-menu-container .new-vertex-type-options-color { - width: 14px; - height: 14px; - margin: auto; -} - -/* override */ -.new-vertex-type-options-sizes .new-fc-one-select-dropdown-menu-container { - padding: 4px 0; -} - -/* stylelint-disable */ - -/** - * Colors - */ - -/* Brand colors */ - -/* Contextual colors */ - -/* Gray scale colors */ - -/** - * Typography - */ - -/** - * Spacing - */ - -/** - * Background colors - */ - -/** - * Borders - */ - -/* Border colors */ - -/* Separator colors */ - -/* Border radii */ - -/* Shadows */ - -/* Icons */ - -/* Font sizes */ - -/* Metrics */ - -/* Stylistic variants */ - -/* Focus rings */ - -/* Button group separator */ - -/* Font sizes */ - -/* Text decorations */ - -/* Stylistic variants */ - -/* Typography */ - -/* Metrics */ - -/* Colors */ - -/* Focus ring */ - -/* Checkbox group */ - -/* Typography */ - -/* Metrics */ - -/* Colors */ - -/* Focus ring */ - -/* Strong variant */ - -/* Checkbox group */ - -/* Metrics */ - -/* Colors */ - -/* Typography */ - -/* Font sizes */ - -/* Metrics */ - -/* Colors & states */ - -/* Focus rings */ - -/* Typography */ - -/* Metrics */ - -/* Character count */ - -/* Metrics */ - -/* Font sizes */ - -/* Metrics */ - -/* States */ - -/* Option group title */ - -/* Option dropdown */ - -/* Widths */ - -/* Metrics */ - -/* Colors */ - -/* Metrics */ - -/* Colors */ - -/* Typography */ - -/* Markers */ - -/* Spacing */ - -/* Statuses */ - -/* Metrics */ - -/* Colors */ - -/* Typography */ - -/* Metrics */ - -/* Colors */ - -/* Metrics */ - -/* Colors & States */ - -/* Metrics */ - -/* Headers */ - -/* Colors */ - -/* Metrics */ - -/* Typography */ - -/* Container */ - -/* Metrics */ - -/* Colors */ - -/* Indicators */ - -/* Stylistic variants */ - -/* Metrics */ - -/* Colors */ - -/* Metrics */ - -/* Colors */ - -/* Metrics */ - -/* Stylistic variants */ - -/* Metrics */ - -/* Colors */ - -/* Metrics */ - -/* Colors */ - -/* Pages */ - -/* Indicators */ - -/* Controls */ - -/* Pages */ -button::-moz-focus-inner, -input[type='reset']::-moz-focus-inner, -input[type='button']::-moz-focus-inner, -input[type='submit']::-moz-focus-inner, -input[type='file'] > input[type='button']::-moz-focus-inner { - border: none; -} - -@keyframes loadingCircle { - 0% { - transform-origin: 50% 50%; - transform: rotate(0deg); - } - - 100% { - transform-origin: 50% 50%; - transform: rotate(360deg); - } -} - -@font-face { - font-family: 'new-fc-one-icon'; - src: url('data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBk0AAAC8AAAAYGNtYXDSvtNiAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZgPgaIMAAAGQAAAuDGhlYWQWOP+LAAAvnAAAADZoaGVhCAsEPgAAL9QAAAAkaG10eMUSBrgAAC/4AAAA0GxvY2EkaxgIAAAwyAAAAGptYXhwAD8BCQAAMTQAAAAgbmFtZV3n5/sAADFUAAABenBvc3QAAwAAAAAy0AAAACAAAwPxAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpMgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg6SHpI+kr6TL//f//AAAAAAAg6QDpI+kl6S3//f//AAH/4xcEFwMXAhcBAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACAEv/wAPLA6sAGwApAAABERQGIyImNREBBiYnJjY3ATYyFwEeAQcOAScBJSImNTQ2MyEyFhUUBiMCNRkREhn+pw4jCwwCDgGgDCAMAaANAgsMIw3+pv5LEhkZEgMVEhkZEgK4/TMSGRkSAs3+0wwCDg0jDAFqCwv+lgwjDQ4CDAEtnRkSEhkZEhIZAAMAAAA9BAADqwBEAHkAngAANxYUBwYiJyYnLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgcGIicmNDc2Nz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxYXNx4BBw4BJy4BNTQ3PgE3NjMyFx4BFxYVFAYHBiYnJjY3PgE1NCcuAScmIyIHDgEHBhUUFhc3FgYHBiYnLgE1NDYzMhYVFAYHDgEnLgE3PgE1NCYjIgYVFBYX0wwMDSMNJBscJwoKKCiLXl1qal1eiygoCgonHRwlDCQMDAwfFxghCAkiIXROTlhYTk50ISIJCCAXGB58DQENDCMNMjcbGl0+PkdHPj5dGhs4NA0jDAwCDCcqFBRGLi81NS8uRhQUKSZyCwIODSQLFRZkR0dkGRYMJA0MAgwMDDIjIzILC3wNIw0MDCQqKlwyMTRqXl2LKCkpKItdXmo0MjJdKiokDA0MJAweIyNNKiorWU1OdCIhISJ0Tk1ZKykqTSMiHn0MIw0NAQwwfkZGPT5bGxoaG1s+PUZHgC8MAQ0NJAwjXzU0Li5EFBQUFEQuLjQ0XiRxDSMMCwIOFzwgSWZmSSI+GA0BDAwjDQwhESY0NCYRHg0AAAMAKwFzA9UCFQALABgAJAAAASImNTQ2MzIWFRQGISImNTQ2MzIWFRQGIyEiJjU0NjMyFhUUBgOEITAwISIvL/5aIi8vIiIvLyL+fCIvLyIhMDABczAhIi8vIiEwMCEiLy8iITAwISIvLyIhMAAAAAADAAAAQAQAA0AADgAVACUAABMRFBYzITI2NREBBiInASUhARYyNwElITIWFREUBiMhIiY1ETQ2VRkSAwASGf6oJF4k/qgDFP0uAU4MHgwBTv0XAwA1S0s1/QA1S0sCsv4OEhkZEgHy/tgfHwEoOf7fCgoBIVVLNf4ANUtLNQIANUsAAAADAAD/wAQAA8AAIAA8AFkAAAE3NjIXFhQPARcWFAcGIi8BBwYiJyY0PwEnJjQ3NjIfAQMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwILrA0jDQwMra0MDA0jDaytDCQMDQ2srA0NDCQMrQtqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgB8qwNDQwkDK2sDSMNDAytrQwMDSMNrK0MJAwNDaz9zigoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISIABAAA/8AEAAPAABsAOABHAFYAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwM0NjMyFhURFAYjIiY1ERE0NjMyFh0BFAYjIiY9AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEhIZGRISGRkSEhlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgKrEhkZEv6rEhkZEgFV/isRGRkRFhEZGREWAAAABQAr/8AD1QPAABIAGQAuAD0ASwAAASEiBhURFBYzITI2NREjIiY9AQUnFRQWOwEBITIWFwUeARURFAYjISImNRE0NjMTIiY1NDYzITIWFRQGIyETIiY1NDY7ATIWFRQGIwJV/lYSGRkSAqoSGcQrPAEAqgoHmf1WAdwIDgYBJAcHSzX9VjVLSzViERkZEQH7EhkZEv4FAxIZGRLjERkZEQNrGRL9ABIZGRICFTwrr8CTggcKARUFBf0GEQn9pzVLSzUDADVL/Y4ZEhIZGRISGQEAGRISGRkSEhkAAAIAQP/AA8ADwAApADgAADcVMzIWFRQGKwEiJjU0NjMRNDYzMhYVITIWHwEzMhYVERQGKwEiJi8BITUhMhYfATMRIyImLwEhEcAVEhkZEmoSGRkSGRESGQG+BQoEPZ0jMjIjpwUKBD3+TAG+BQoEPZ2nBQoEPf5MzbgZERIZGRIRGQOAEhkZEgICHjIk/eMjMgICHlYCAx4CHQIDHv3jAAADAAAAAAP+A2sAIwA6AEIAAAEzMhYVFAYHAw4BIyEiJjU8ATcuATURNDY7ATIWHwEhMhYdASM1NCYjISImLwEuASsBIgYVETc+ATMhAR4BMyETIQMDlSkbJQEBegYiFv0HGyUBBgZLNbcbOhFAATg1S1UZEv60CREGTAYYCLcSGSkFIxYChP0oBQwHArNv/StlAlUlGwQIBP4rFRslGwMFAg0bDgJrNUsbFElLNR4eERkIB1gGCxkR/pGoFhv+CAQEAav+XQAAAAIAAAAABAADawAYAC4AABMRFBYzITI2NRE0JiMhIiYvAS4BIyEiBhUlITIWFREUBiMhIiY1ETQ2MyEyFh8BVRkSAwASGRkS/rQJEQZMBhgJ/t8SGQHzATg1S0s1/QA1S0s1ASEbOhJAAuv9lRIZGRIB8hIZCAdYBgsZEQhMNf4ONUtLNQJrNUsbFEkAAgAO/+sD8gNwAB0APgAAJTI2NRE0NjsBCQEzMhYVERQWOwE1NDY7ATIWHQEzExEUBisBIiY9ASMVFAYrASImNREjIiY3ATYyFwEWBisBAwASGRkREv6Z/pkSERkZEmsyI4AjMmuASzWVEhmAGRKVNUtVHhUWAbkYQhgBuRYVHlVAGRIBVRIZAUb+uhkS/qsSGasjMjIjqwFV/tY1SxkR1tYRGUs1ASo3FAGQFhb+cBQ3AAAABAAA/8AEAAPAABsAOABHAFYAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYHMhceARcWFRQHDgEHBiMiJy4BJyY1NDc+ATc2MwMUFjMyNjURNCYjIgYVEREUFjMyNj0BNCYjIgYdAQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEhIZGRISGRkSEhkDwCgoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISL9VRIZGRIBVRIZGRL+qwHVERkZERYRGRkRFgAAAQHVAZUEAAPAABoAAAEUBiMiJjU0Jy4BJyYjIiY1NDYzMhceARcWFQQAGRIRGSIhdE5OWBIZGRJqXV6LKCgBwBIZGRJYTk50ISIZERIZKCiLXl1qAAAAAAEAKwGVA9UB6wAOAAATIiY1NDYzITIWFRQGIyFVERkZEQNWERkZEfyqAZUZEhIZGRISGQABABX/1QPrA6sAIAAAARE0NjMyFhURITIWFRQGIyERFAYjIiY1ESEiJjU0NjMhAdUZEhIZAZUSGRkS/msZEhIZ/msSGRkSAZUB6wGVEhkZEv5rGRISGf5rEhkZEgGVGRISGQAABAAA/8AEAAPAABsAOABcAGsAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMxMVFAYjIiY9ATQ2MzI2NTQmIyIGFRQGIyImNTQ2MzIWFRQGBwc0NjMyFh0BFAYjIiY9AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEiw/PywsPxkREhlxT09xVUBWGRISGRkSEhlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgF6VhIZGRJ8ERk8Kio8PCoSGRkSTm1tTkNlDs8SGRkSFRIZGRIVAAAAAgAA/8wD9APAACsASAAAJRcWFAcGIi8BBgcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgcFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwNQpAwMDSMNox8kI04qKixjWFeDJSYmJYNXWGNjWFeDJSYIBx0VFRr+kFJISGsfHx8fa0hIUlJISGsfHx8fa0hIUqyjDSMNDAykGhUVHQcIJiWDV1hjY1hXgyUmJiWDV1hjLCoqTiMkH1cfH2tISFJSSEhrHx8fH2tISFJSSEhrHx8AAAMAAP/ABAADwAAbADgASwAABSInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBicyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxYzAwE2MhcWFAcBBiIvASY0NzYyFwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YVQE3DCQMDQ3+qw0jDaoNDQwkDEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKChVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAT0BNwwMDSMN/qsMDKsMJAwNDQACAAv/1QP1A6sANgBtAAA3FRQGIyImNRE0NjM6ARc2MjMyFhUUFx4BFxYzMjc+ATc2Nz4BFx4BBwYHDgEHBiMiJy4BJyYnATU0NjMyFhURFAYjKgEnBiIjIiY1NCcuAScmIyIHDgEHBgcOAScuATc2Nz4BNzYzMhceARcWF2AZEhEZGRECAgIBAwESGSAfbkpKVDw5OGAmJxgHIRARDAceLi51RERJQj09aywsIQNAGRIRGRkRAgICAQMBEhkgH25KSlQ8OThgJicYByEQEQwHHi4udURESUI9PWssLCG8ZxEZGREBaxIZAQEZElRKSm4fIBERPywsNhANBwghEEE2NUwVFREQPSorNAIIZxEZGRH+lRIZAQEZElRKSm4fIBERPywsNhANBwghEEE2NUwVFREQPSorNAAIAAD/wAQAA8AAGwA3ADsAQABOAFwAagB5AAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgEhESETESERIRczMjY1NCYrASIGFRQWFzMyNjU0JisBIgYVFBYXMzI2NTQmKwEiBhUUFhczMjY1NCYrASIGFRQWMwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qY1dYgiUmJiWCWFdjY1dYgiUmJiWCWFf+1wGM/nQhAUr+tkLGBwoKB8YHCgoHxgcKCgfGBwoKB8YHCgoHxgcKCgd3BwkJB3cHCgoHQCgoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYC1/4QAc/+UgGubgkHBwoKBwcJVwoHBwkJBwcKVgoHBgoKBgcKVgkHBwoKBwcJAAAIAAD/wAQAA8AAGwA3AEsAWgBpAHgAlACwAAAlMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgMuAQcOAR8BFjI/ATYmJyYGDwEnBzMyNjU0JisBIgYVFBYzFTMyNjU0JisBIgYVFBYzNxUUFjMyNj0BNCYjIgYVEzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRQXHgEXFjciJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYCADMtLkMTFBQTQy4tMzMtLkMTFBQTQy4tMywoJzoREREROicoLCwoJzoREREROicodAQOBQUBBVQFDgVUBQEFBQ4ESEgXvgYKCga+BgoKBr4GCgoGvgYKCgZOCgcHCgoHBwoRal1eiygoKCiLXl1qal1eiygoKCiLXl1qY1dYgiUmJiWCWFdjY1dYgiUmJiWCWFfIFBNDLi0zMy0uQxMUFBNDLi0zMy0uQxMUIREROicoLCwoJzoREREROicoLCwoJzoREQFrBQEFBQ0FXwUFXwUNBQUBBVFRegkHBwoKBwcJVQoHBwkJBwcKZb0HCgoHvQcKCgf91igoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYAAAAHAAD/wAQAA8AAJgAqAC4AMgBKAGYAggAAJSImNRE0NjMhMhYdARQGIyImPQE0JiMhIgYVERQWOwEyFhUUBisBEzMVIxUzFSM1MxUjFyImLwEmNDc2Mh8BNz4BFx4BDwEOASsBAzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRQXHgEXFjciJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYBRxMbGxMBMRMbCQYGCQkH/s8GCQkGTAcJCQdML9jYPj6amsgDBQNcBAQFDAVPjwQNBQUCBJkCBgQBPmpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhX2RsTAXITGxsTfQcJCQd9BgkJBv6OBgkJBwYJAXIfmh57H/YCA1wEDQUEBFDJBQIEBAwF2AIE/uYoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAAcAAP/ABAADwAAbADcAbgB4AIoAmgCrAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBhMhIgYVFBY7ARUUFjsBBwYWFxQyMxY2PwE+ATUzFBYfAR4BNz4BJzA0IyczMjY9ATMyNjU0JiMDFAYjISImPQEhBSMiJj0BNDY7ATIWHQEUBiMxMyMiJj0BNDY7ATIWHQEUBisBIiY9ATQ2OwEyFh0BFAYjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYV2z+WAYICAYOEAx6IwMCBQEBBQwEJwEBHQEBJwQMBgQEAgEjegwQDwYICAYrCAb+yQYIAVP++gYEBgYEBgUGBgW8BgQHBwQGBAcHYgYEBwcEBgUGBgVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoISYlglhXY2NXWIIlJiYlglhXY2NXWIIlJgKlCQYFCP8MEEEECgMBAwMFSAEDAgIDAUgFAwMCCQUCQRAM/wgGBgj+8wYICAbx+gUDVQQEBARVAwUGBKMEBQUEowQGBQO+AwUFA74DBQAFAAD/wAQAA8AAGwA3AFwAgQC8AAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgEVFAYjIiY9ATQ2MzIWFRQXHgEXFjMyNjc+ARceAQcOASMiJiclNTQ2MzIWHQEUBiMiJjU0Jy4BJyYjIgYHDgEnLgE3PgEzMhYXByMiJjU0NjsBJyY0NzYWHwE3PgEXHgEPATMyFhUUBisBFTMyFhUUBisBFRQGIyImPQEjIiY1NDY7ATUCAGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhX/sYJBwcKCgcHCREROicoLEBqGgMNBgYFAx56SkVyIAGuCQcHCgoHBwkRETonKCxAahoDDQYGBQMeekpFciDfUAcKCgc7PQQFBQ4FSUoEDgUFAQU9PAcJCQdQUAcJCQdQCgcHCVAHCgoHUEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAXQ6BwoKB7YGCgoGLScnOhERRToGBQMDDQZCUEQ49zoHCgoHtQcKCgcsJyc6ERFFOgYFAwMNBkJQRDhyCgYHCkQFDgQFAQVSUgUBBQQOBUQKBwYKNAoGBwpaBgoKBloKBwYKNAAFAAD/wAQAA8AAGwBLAIsAyAEGAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmEw4BBw4BIyImJy4BJy4BJy4BNTQ2Nz4BNz4BNz4BMzIWFx4BFx4BFx4BFRQGBw4BAQczLgEnLgE1MxQGBzMuATczHgEXNQ4BKwE1NDY3PgE1LgEnHgEdASM1NDY3PgE1LgEnHgEdASMGJicVPgE7AQE1PgE3PgEzNQ4BJyMiJicuASMVMz4BOwEOAQcVIwYmJxU+ATM+ATsBFRYGJx4BFz4BNzUzMhYXNQ4BKwElPgE3BjY/ATMyFhc1DgEnIz4BNz4BNycuAScOAQcjBiYnIiY1FTM+ATsBDgEHHgEXMz4BNxUUBgczLgE3NQIAal1eiygoKCiLXl1qal1eiygoKCiLXl3SH0coKVgtLVgpKEcfHzARERISEREwHx9HKClYLS1YKShHHx8wERESEhERMP4gBUMBAwECAZEDA0MEAwJbGykPCykfWwMCAgEDIyADA5EEBAECBCMfAwJDHS0REi0cQwEaGCQMCx4VESkZtAsZDwkOBAgTJBKWEicVYB4pDAYPCAcbFGADJyoKDQQzNAJNGCkQCCkgTf75AwsICxAMH/waKxAQLR7bBAwIAgQCJgYPCAMNC3sYKhECAQUSKBdgL2Q2DRYKAR8tDwMCQwQDAQPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/MQfMBEREhIRETAfH0coKVgtLVgpKEcfHzARERISEREwHx9HKClYLS1YKShHAec1AQcFCxQJFRsFDBoPAQMBNQIDDQsTCAMEAQEDAQUYExAQCREGAgICAQQDCxgODQECBDUCA/7SEg8UBQYFOAQCAQECAQE1AwIKFQklAgMENgIBAQJOEQsHDyISBhYPewMDNgMCWwQMCA8VDygCAzYEAwEIDgUBBAMLAgYCCRwTAQEDAQI2AwI/WxwLFgwYLRamHCcLByUf3AAAAAAKAAD/wAQAA8AAFwAlADwASgBeAG0AfACKAKYAwgAAJTI3PgE3NjU0Ji8BIwcOARUUFx4BFxYzAzMeARUUBiMiJjU0Njc/ATYWDwEOASsBIiYvASY2HwE3NjIfAQczNwcGIi8BBwYiLwEXFyYiBwYUHwEWMj8BNiYnJiIPAScHMzI2NTQmKwEiBhUUFjMVMzI2NTQmKwEiBhUUFjM3FRQWMzI2PQE0JiMiBhMyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxY3IicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAgA1Li1CExNVVASVBFRWExNCLS41QYFMS3leXnlLS3xECw4FMgIIBJUFCAIxBQ4KRSwDBwMsc4AcJgIGAysrAgYDJhwTBQ0FBgQ6BQ8FOQUBBQUOBC4tHZUGCgoGlQcKCgeVBgoKBpUHCgoHOgkHBwoKBwcJCGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhXuA4ONCUkLTFyQQMCNnI9LSQlNA4OAYw7ZCdKW1tKMmQwbxUDEQpjBAUFBGMKEQMVFAEBFE44CwECExMCAQs4aQYEBQ0FQgYGQgUNBQQGMzNlCQcHCgoHBwlTCgcGCgoGBwpbhAcKCgeEBwkJ/hooKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAAAFAAD/wAQAA8AAGwA3AFIAfQCbAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBhMHBiInJjQ/ASMiJjU0NjsBMhYdARQGIyImNScyFhUUBiMiBhUUFjMyNjU0NjMyFhUUBw4BBwYjIicuAScmNTQ3PgE3NjMHNhYXFAYHDgEVFBYzMjY3PgEXHgEHDgEjIiY1NDYCAGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhXPowFDwUFBYo+CAoKCGsHCwsHCAqhBwsLB0ppaUpKaQoIBwsRETonKCwsKCc6ERERETonKCwNBwwBCQcbJCoeGykDAQwHBwoBBT0pLD81QCgoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYCaIwFBQUPBYsLBwcLCwdsBwsLB5ALBwgKaUpKaWlKBwsLBywoJzoREREROicoLCwoJzoREWwBCQcICwEEKBseKiQbBwkBAQsIKDY/LSg9AAAABQAA/8AEAAPAABwAPwBKAFkAaAAAARUUBiMiJj0BIRUUBiMiJj0BIyIGHQEhNTQmKwE1MzIWFREUBiMhIiY1ETQ2OwE1NDYzMhYdASE1NDYzMhYdAQERFBYzITI2NREhBSImNTQ2MyEyFhUUBiMhFSImNTQ2MyEyFhUUBiMhAuAZEhEZ/uoZERIZoBIZA1YZEqCgNUtLNf0ANUtLNaAZEhEZARYZERIZ/XUZEgMAEhn8qgEAERkZEQFWERkZEf6qERkZEQFWERkZEf6qAxUqEhkZEioqEhkZEioZEaCgERlWSzX9VTVLSzUCqzVLKhIZGRIqKhIZGRIq/or+SxIZGRIBtdUZEhEZGRESGZUZERIZGRIRGQAAAAEAOv/AA8YDqwAiAAAbAR4BFREUBiMiJjURAyY2MyEyFgcDERQGIyImNRE0NjcTIaXDAwMZEREZ4AwYGANEGBgM4BkRERkDA8P9SgNY/qIFCgX+8REZGREBBAGSFSkpFf5u/g8SGBgSAfwFCgUBXgAIAAD/wAQAA8AAGwA3AEcAWABoAHkAiQCZAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgMiBhURFBY7ATI2NRE0JiMnMzIWFREUBisBIiY1ETQ2MyEzMhYdARQGKwEiJj0BNDYXIgYdARQWOwEyNj0BNCYrARMzMhYdARQGKwEiJj0BNDYXIgYdARQWOwEyNj0BNCYjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYVw0IDAwIXAgMDAhYVRchIRdVGCEhGP73ZhggIBhmFyEhFAkLCwltCAsLCG0DZhggIBhmFyEhFAkLCwltCAsLCEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAqULCf6cCQsLCQFkCQshIhj+phgiIhgBWhgiIhikGSIiGaQYIiEMCK4JDAwJrggM/uciGR4YIyMYHhkiIQ0KJAkODgkkCg0AAAEAAP/AA9QDvwBQAAABNDYzMhYVMRUUBicmJy4BJyYjIgcOAQcGFRQXHgEXFjMyNz4BNzY/AT4BMzIWFRQGBzEGBw4BBwYjIicuAScmNTQ3PgE3NjMyFx4BFxYfATUDixUPEBU5DRopKWc9PEJbUFB3IiMjIndQUFtAOztmKCkbAQURCw8VAgIgLzB2RUVLal1diygpKSiLXV1qPDc4ZSssIwEDUg8VFQ/LHQ0bOS8uRBISIiJ4T1BbW1BQdyIjEhFALC01AwkLFRAECARANDRLFRQoKIteXWpqXV2LKCgNDTAiIisBTQADAAD/wAQAA8AAGwA4AEwAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMxMzMhYVFAYrASImNRE0NjMyFh0BAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgVlhEZGRHAEhkZEhEZQCgoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBqxkSERkZEQEWERkZEesAAAIADP/AA/QDwAAYADEAAAUxIiYnASY0NzYyHwERNDYzMhYVERQGIzEBMTIWFwEWFAcGIi8BERQGIyImNRE0NjMxAUwJEAb+3wwNDSMM2BkSERkZEQFoCRAGASEMDQ0jDNgZEhEZGRFABgcBKwwkDAwN3wNBEhkZEvxWEhkEAAYH/tUMJAwMDd/8vxIZGRIDqhIZAAABAAH/xgRHA8AALgAAASIGBy4BIyIHDgEHBhUUFhcWFx4BFxYXHgEzMjY3Njc+ATc2Nz4BNTQnLgEnJiMDE0Z+Kyt+Rz84OFMZGDseLEVFhDIyBQgVCgoUCQUxMoVFRSsePBkYUzg4QAPAQzs7QxsaXD09RlN5L0RISHkoKAMHBwcHAygoeUhIRC95U0Y9PVwaGwAABAAA/8AD1wOoAAcADQARABUAACUhESMRIREjARc3JwcXNzMRIxMRIxEDhfzNUgPXUv5nrzrp6jqHUVFRURIBcf49AcMBsbA66uo6wf1xAo/9cQKPAAAAAAEACwCjA/UC3wATAAATLgEHDgEXARYyNwE2JicmBgcJAUoMIw0NAgwB1gwmDAHWDAINDSMM/kr+SgLdDQEMCyQN/gAODgIADSQLDAEN/iIB3gAAAAEA4//LAx8DtQATAAAlHgEHDgEnASY0NwE2FhcWBgcJAQMdDQEMCyQN/gAODgIADSQLDAEN/iIB3goMIw0NAgwB1gwmDAHWDAINDSMM/kr+SgAAAAEA4f/LAx0DtQATAAA3DgEXHgE3ATY0JwEmBgcGFhcJAeMNAQwLJA0CAA4O/gANJAsMAQ0B3v4iCgwjDQ0CDAHWDCYMAdYMAg0NIwz+Sv5KAAAAAAEACwChA/UC3QATAAA3DgEnLgE3ATYyFwEWBgcGJicJAUoMIw0NAgwB1gwmDAHWDAINDSMM/kr+SqMNAQwLJA0CAA4O/gANJAsMAQ0B3v4iAAAAAAEAUwA7A6QDKwBRAAABMQEGBwYUFxYXFhcWMjc2NwE2NCcmIgcBBhQXFjY3ATYyFxYUBzEBBiInJjQ3ATY3NjIXFhcWFxYUBwYHAQYHBiInJicmJyY0NzY3ATYyFx4BAdP+6B4QDw8QHh4mJ08mJh8BbCgoKXIp/qAUFBU6FAEMCRoJCQj+9CduJycnAWAdJSVNJiUdHg4PDw4e/pQnMjJnMjIoJxQUFBQnARgKGQkJAQLg/ugeJyZPJiceHg8QEA8eAWwocygpKf6hFToUFQEUAQwICQkZCv70JiYnbicBYB0PDw8PHR4lJU0lJR7+lSgUExMUKCcyMmcyMigBFwkJCRoAAQAM/80CiQPAABsAACURNDYzMhYVETc2MhceAQcBBiInASY0NzYyHwEBIBkSERnXDCQMDQEN/t8MJA3+4QwNDSMM11MDQhIZGRL8wN4NDAwkDP7VDQ0BKQwkDAwN3gAAAQC3/8ADNAOzABsAAAERFAYjIiY1EQcGIicuATcBNjIXARYUBwYiLwECIBkSERnXDCQMDQENASEMJA0BHwwNDSMM1wMt/L4SGRkSA0DeDQwMJAwBKw0N/tcMJAwMDd4AAQAMAHgD9AMJABMAAAE+ARcWFAcBBiInASY0NzYWFwkBA7cMIw0NDP27DSQM/poMDQ0jDAFHAicDCA0BDQwjDf2rDQ0Bbw0jDA0BDP6vAjYAAAAAAQA3//cDyQOJACAAAAkBJjQ3NjIXCQE2MhcWFAcJARYUBwYiJwkBBiInJjQ3AQHE/nMMDA0jDAGNAY0MIw0MDP5zAY0MDA0jDP5z/nMMIw0MDAGNAcABjQwjDQwM/nMBjQwMDSMM/nP+cwwjDQwMAY3+cwwMDSMMAY0AAAMAL//fA9EDggAUACkAWgAAEyIGFTERFBYzMSEyNjUxETQmIzEhNSEyFhUxERQGIzEhIiY1MRE0NjMxBRQGIyImNTE1NDYzITIWFREUBisBIiY1NDY7ATgBMTI2NRE0JiM4ATEhMCIxIgYdAYwNEhINAbINEhIN/k4Bsic2Nif+Tic2NicBFxINDRIwIgHJITAwIU0MExMMTQgLCwj+NwEICwJrEwz98A0SEg0CEAwTPjcm/fAmNzcmAhAmNw8MExMMlyEwMCH92CEwEg0NEgsIAigICwsIlwAAAAAJAAD/wAQAA8AAGwA3AEcAVwBoAHkAhQCRAJ0AAAUyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxY3IicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGEzI2PQE0JiMhIgYdARQWMyU1NCYjISIGHQE+ATMhMhYlITIWFREUBiMhIiY1ETQ2MxEiBh0BFBYzITI2PQE0JiMhNyImNTQ2MzIWFRQGByImNTQ2MzIWFRQGByImNTQ2MzIWFRQGAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYV3QHCQkH/mMHCgoHAa0JB/5jBwoECAUBnQQI/lcBnRQdHRT+YxUdHRUHCgoHAZ0HCQkH/mNCDhMTDg4TEw4OExMODhMTDg4TEw4OExNAKCiLXl1qal1eiygoKCiLXl1qal1eiygoISYlglhXY2NXWIIlJiYlglhXY2NXWIIlJgGdCgZkBgoKBmQGCqJ3BwkJB3cCAQGmHRT+UhQdHRQBrhQd/pUKB2MHCQkHYwcK5xMODhMTDg4TpRMODhMTDg4TpRMODhMTDg4TAAAAAAQAAP/ABAADwAAgAFIAYQBwAAABERQGIyEiJjURNCYjIgYVMREUFjMhMjY1ETQmIyIGFTEDLgEjOAEjISIGDwEjIgYVFBYzMSEyNjcxNz4BMyEyFh8BHgEzOAExITI2NTQmIzEhJwERFBYzMjY1ETQmIyIGFSERFBYzMjY1ETQmIyIGFQOgLCD9eCAsEw0NE1I6Aog6UhMNDRPUBi8fAf73Hy8GCPINExMNAQ4MEgEMAQwIAQoHDAILAhIMASgNExMN/vQI/okTDQ4SEg4NEwEgEw0OEhIODRMCYP3rHywsHwIVDRMTDf3rOlFROgIVDRMTDQEaHigmHjwTDQ0TEAxWBQkJB1QMEBMNDRM6/s7+ZA4SEg4BnA4SEg7+ZA4SEg4BnA4SEg4AAgAA/8AESQPAADwAggAAASIHDgEHBhUUFhcWFx4BFxYXHgEfAR4BFx4BMzI2Nz4BNz4BNwc2Nz4BNzY3PgE1NCcuAScmIyIGBy4BIwUyFx4BFxYVFAYHBgcOAQcGBw4BDwEOAQ8BDgEjMTAiMSImJzEuAScXLgEnFyYnLgEnJicuATU0Nz4BNzYzMhYfATc+ATMBQ0M7O1caGSovExkZPCMkJxk1GwYRHQYMHhAPHg0FHREgNxoCJyQjPBkZEy8qGRpXOztDQHQtLXVAAcM0Li9FFBQjKxEYFzoiIiUYNBsFChcNBAMJBAEECAMQGgwDHjYaAiYhIjoXGBEqJBQURS8uNDpoJBscJWg5A8AcG2A/QEhHbUoeHx9DIiMjFy4WBQ4XBAoKCgoEFw8ZMBgCJCIjQh8fHkptR0hAP2AbHDQvLzRFFhZMMzQ6Ol1CGx4dPyEhIhYtFgQIEwoDAwMDAgwVCgIZLhgDIyEhPx0eG0JdOjo0M0wWFjYxJiUyNgAAAQAAAAEAAKb8EWdfDzz1AAsEAAAAAADZaF2HAAAAANloXYcAAP/ABEkDwAAAAAgAAgAAAAAAAAABAAADwP/AAAAESQAAAAAESQABAAAAAAAAAAAAAAAAAAAANAQAAAAAAAAAAAAAAAIAAAAEAABLBAAAAAQAACsEAAAABAAAAAQAAAAEAAArBAAAQAQAAAAEAAAABAAADgQAAAAEAAHVBAAAKwQAABUEAAAABAAAAAQAAAAEAAALBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAOgQAAAAEAAAABAAAAAQAAAwESQABA+AAAAQAAAsEAADjBAAA4QQAAAsEAABTAqAADAQAALcEAAAMBAAANwQAAC8EAAAABAAAAARJAAAAAAAAAAoAFAAeAGQBSAGAAcICSALGAzQDhAPoBC4EiAUGBTIFTAV+BhQGggb2B5IIQAk8CfQK2gvcDVAOZA8+D8oQAhDSEUYRthIAEkoSdhKgEsoS9BMeE6AT0BQAFCoUaBTWFbIWRhcGAAAAAQAAADQBBwAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAYAAAABAAAAAAACAAcAVwABAAAAAAADAAYAMwABAAAAAAAEAAYAbAABAAAAAAAFAAsAEgABAAAAAAAGAAYARQABAAAAAAAKABoAfgADAAEECQABAAwABgADAAEECQACAA4AXgADAAEECQADAAwAOQADAAEECQAEAAwAcgADAAEECQAFABYAHQADAAEECQAGAAwASwADAAEECQAKADQAmG9uZXVpSQBvAG4AZQB1AGkASVZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMG9uZXVpSQBvAG4AZQB1AGkASW9uZXVpSQBvAG4AZQB1AGkASVJlZ3VsYXIAUgBlAGcAdQBsAGEAcm9uZXVpSQBvAG4AZQB1AGkASUZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') - format('truetype'); - font-weight: normal; - font-style: normal; -} - -.new-fc-one-icon { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'new-fc-one-icon' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.new-fc-one-icon-arrow-to-top::before { - content: '\e900'; -} - -.new-fc-one-icon-bullseye::before { - content: '\e901'; -} - -.new-fc-one-icon-calendar::before { - content: '\e91b'; -} - -.new-fc-one-icon-time::before { - content: '\e91f'; -} - -.new-fc-one-icon-ellipsis::before { - content: '\e902'; -} - -.new-fc-one-icon-envelope::before { - content: '\e903'; -} - -.new-fc-one-icon-fail::before { - content: '\e904'; -} - -.new-fc-one-icon-warning::before { - content: '\e905'; -} - -.new-fc-one-icon-file::before { - content: '\e906'; -} - -.new-fc-one-icon-flag::before { - content: '\e907'; -} - -.new-fc-one-icon-folder-open::before { - content: '\e908'; -} - -.new-fc-one-icon-folder::before { - content: '\e909'; -} - -.new-fc-one-icon-home::before { - content: '\e90a'; -} - -.new-fc-one-icon-info::before { - content: '\e90b'; -} - -.new-fc-one-icon-loading::before { - content: '\e90c'; -} - -.new-fc-one-icon-minus::before { - content: '\e90d'; -} - -.new-fc-one-icon-plus::before { - content: '\e90e'; -} - -.new-fc-one-icon-question::before { - content: '\e90f'; -} - -.new-fc-one-icon-search::before { - content: '\e910'; -} - -.new-fc-one-icon-success::before { - content: '\e911'; -} - -.new-fc-one-icon-sync-alt::before { - content: '\e912'; -} - -.new-fc-one-icon-heart-active::before { - content: '\e921'; - color: #f85d5d; -} - -.new-fc-one-icon-recommend::before { - content: '\e918'; -} - -.new-fc-one-icon-material::before { - content: '\e91d'; -} - -.new-fc-one-icon-delete::before { - content: '\e931'; - color: #666; -} - -.new-fc-one-icon-heart-o::before { - content: '\e932'; - color: #999; -} - -.new-fc-one-icon-fund::before { - content: '\e917'; -} - -.new-fc-one-icon-volume::before { - content: '\e930'; -} - -.new-fc-one-icon-suggest::before { - content: '\e913'; -} - -.new-fc-one-icon-budget::before { - content: '\e914'; -} - -.new-fc-one-icon-verify::before { - content: '\e915'; -} - -.new-fc-one-icon-accumulate::before { - content: '\e916'; -} - -.new-fc-one-icon-cost::before { - content: '\e919'; -} - -.new-fc-one-icon-transform::before { - content: '\e91a'; -} - -.new-fc-one-icon-filter::before { - content: '\e91c'; -} - -.new-fc-one-icon-refresh::before { - content: '\e91e'; -} - -.new-fc-one-icon-sorting::before { - content: '\e920'; -} - -.new-fc-one-icon-upload::before { - content: '\e923'; -} - -.new-fc-one-icon-angle-down::before { - content: '\e925'; -} - -.new-fc-one-icon-angle-left::before { - content: '\e926'; -} - -.new-fc-one-icon-angle-right::before { - content: '\e927'; -} - -.new-fc-one-icon-angle-up::before { - content: '\e928'; -} - -.new-fc-one-icon-append::before { - content: '\e929'; -} - -.new-fc-one-icon-arrow-down::before { - content: '\e92a'; -} - -.new-fc-one-icon-arrow-up::before { - content: '\e92b'; -} - -.new-fc-one-icon-check::before { - content: '\e92d'; -} - -.new-fc-one-icon-close::before { - content: '\e92e'; -} - -.new-fc-one-icon-copy::before { - content: '\e92f'; -} - -.new-fc-one-select-another-xsmall { - font-size: 12px; - border-radius: 2px; -} - -.new-fc-one-select-another-xsmall .new-fc-one-select-another-selection { - border-radius: 2px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection-text-error { - font-size: 12px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection__rendered { - line-height: 22px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection--multiple { - min-height: 22px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__choice { - height: 16px; - line-height: 16px; - margin-top: 4px; - margin-bottom: 4px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__clear, -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-arrow { - top: 12px; -} - -.new-fc-one-select-another-xsmall - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-search__field__wrap - input { - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-xsmall - .new-fc-one-select-another-dropdown-menu-item { - height: 24px; - line-height: 24px; - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-xsmall - .new-fc-one-select-another-dropdown-menu-item - .new-fc-one-checkbox-wrapper - + span { - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-xsmall - .new-fc-one-select-another-dropdown-menu-item-group-title { - height: 24px; - line-height: 24px; - font-size: 12px; -} - -.new-fc-one-select-another-small { - font-size: 12px; - border-radius: 2px; -} - -.new-fc-one-select-another-small .new-fc-one-select-another-selection { - border-radius: 2px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection-text-error { - font-size: 12px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection__rendered { - line-height: 26px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection--multiple { - min-height: 26px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__choice { - height: 20px; - line-height: 20px; - margin-top: 4px; - margin-bottom: 4px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__clear, -.new-fc-one-select-another-small - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-arrow { - top: 14px; -} - -.new-fc-one-select-another-small - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-search__field__wrap - input { - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-small - .new-fc-one-select-another-dropdown-menu-item { - height: 28px; - line-height: 28px; - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-small - .new-fc-one-select-another-dropdown-menu-item - .new-fc-one-checkbox-wrapper - + span { - font-size: 12px; -} - -.new-fc-one-select-another-dropdown-small - .new-fc-one-select-another-dropdown-menu-item-group-title { - height: 28px; - line-height: 28px; - font-size: 12px; -} - -.new-fc-one-select-another-medium { - font-size: 14px; - border-radius: 3px; -} - -.new-fc-one-select-another-medium .new-fc-one-select-another-selection { - border-radius: 3px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection-text-error { - font-size: 14px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection__rendered { - line-height: 30px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection--multiple { - min-height: 30px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__choice { - height: 24px; - line-height: 24px; - margin-top: 4px; - margin-bottom: 4px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__clear, -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-arrow { - top: 16px; -} - -.new-fc-one-select-another-medium - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-search__field__wrap - input { - font-size: 14px; -} - -.new-fc-one-select-another-dropdown-medium - .new-fc-one-select-another-dropdown-menu-item { - height: 32px; - line-height: 32px; - font-size: 14px; -} - -.new-fc-one-select-another-dropdown-medium - .new-fc-one-select-another-dropdown-menu-item - .new-fc-one-checkbox-wrapper - + span { - font-size: 14px; -} - -.new-fc-one-select-another-dropdown-medium - .new-fc-one-select-another-dropdown-menu-item-group-title { - height: 32px; - line-height: 32px; - font-size: 14px; -} - -.new-fc-one-select-another-large { - font-size: 16px; - border-radius: 4px; -} - -.new-fc-one-select-another-large .new-fc-one-select-another-selection { - border-radius: 4px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection-text-error { - font-size: 16px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection__rendered { - line-height: 34px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection--multiple { - min-height: 34px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__choice { - height: 28px; - line-height: 28px; - margin-top: 4px; - margin-bottom: 4px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__clear, -.new-fc-one-select-another-large - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-arrow { - top: 18px; -} - -.new-fc-one-select-another-large - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-search__field__wrap - input { - font-size: 16px; -} - -.new-fc-one-select-another-dropdown-large - .new-fc-one-select-another-dropdown-menu-item { - height: 36px; - line-height: 36px; - font-size: 16px; -} - -.new-fc-one-select-another-dropdown-large - .new-fc-one-select-another-dropdown-menu-item - .new-fc-one-checkbox-wrapper - + span { - font-size: 16px; -} - -.new-fc-one-select-another-dropdown-large - .new-fc-one-select-another-dropdown-menu-item-group-title { - height: 36px; - line-height: 36px; - font-size: 16px; -} - -.new-fc-one-select-another-disabled { - border: 1px solid #eee; - background-color: #fafafa; - color: #ccc; - cursor: not-allowed; -} - -.new-fc-one-select-another-disabled:hover, -.new-fc-one-select-another-disabled:active, -.new-fc-one-select-another-disabled:focus { - border-color: #eee; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] { - cursor: not-allowed; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice { - cursor: not-allowed; - background-color: #fafafa; - border: 1px solid #eee; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:hover, -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:active, -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:focus { - background-color: #fafafa; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice__remove { - cursor: not-allowed; -} - -.new-fc-one-select-another:not(.new-fc-one-select-another-disabled) { - border: 1px solid #e0e0e0; - background-color: #fff; - color: #333; - cursor: pointer; -} - -.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):hover, -.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):active { - border-color: #999; -} - -.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):focus { - border-color: #3d88f2; -} - -.new-fc-one-select-another { - line-height: 1; - box-sizing: border-box; - margin: 0; - padding: 0; - list-style: none; - display: inline-block; - position: relative; - outline: 0; - width: 120px; - padding: 0 12px; -} - -.new-fc-one-select-another-focused { - border-color: #3d88f2; -} - -.new-fc-one-select-another-open { - border-color: #999; -} - -.new-fc-one-select-another-open .new-fc-one-select-another-arrow { - transform: scale(0.7, 0.7) rotate(180deg); -} - -.new-fc-one-select-another ul, -.new-fc-one-select-another ol { - margin: 0; - padding: 0; - list-style: none; -} - -.new-fc-one-select-another > ul > li > a { - padding: 0; - background-color: #fff; -} - -.new-fc-one-select-another-error-line { - border: 1px solid #e64552 !important; -} - -.new-fc-one-select-another-error-line:hover, -.new-fc-one-select-another-error-line:focus, -.new-fc-one-select-another-error-line:active { - border-color: #e64552 !important; -} - -.new-fc-one-select-another-error-line:focus { - box-shadow: 0 0 0 2px rgba(230, 69, 82, 0.2); -} - -.new-fc-one-select-another-selection__clear, -.new-fc-one-select-another-custom-key, -.new-fc-one-select-another-arrow { - position: absolute; - top: 50%; - right: 0; - line-height: 1; - margin-top: -6px; - color: #666; - font-size: calc(1em - 4px); - transition: transform 0.3s; - width: 1em; - height: 1em; - background: #fff; -} - -.new-fc-one-select-another-arrow { - transform: scale(0.7, 0.7); -} - -.new-fc-one-select-another-selection__clear { - transform: scale(1); - color: #999; - z-index: 1; - opacity: 0; -} - -.new-fc-one-select-another-selection { - position: relative; - outline: none; - user-select: none; - box-sizing: border-box; - display: block; - border-radius: 0; - transition: all 0.3s ease-in-out; -} - -.new-fc-one-select-another-selection:hover - .new-fc-one-select-another-selection__clear { - opacity: 1; -} - -.new-fc-one-select-another-selection-selected-value { - float: left; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - width: 100%; -} - -.new-fc-one-select-another-selection-text-error { - color: #e64552; - margin-top: 4px; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection__clear { - display: none; - visibility: hidden; - pointer-events: none; -} - -.new-fc-one-select-another-disabled - .new-fc-one-select-another-selection--multiple - .new-fc-one-select-another-selection__choice__remove { - display: none; -} - -.new-fc-one-select-another-selection--single { - position: relative; -} - -.new-fc-one-select-another-selection__rendered { - display: block; - position: relative; - padding-right: 14px; -} - -.new-fc-one-select-another-selection__rendered::after { - content: '.'; - visibility: hidden; - pointer-events: none; - display: inline-block; - width: 0; - height: 0; -} - -.new-fc-one-select-another-selection__placeholder, -.new-fc-one-select-another-search__field__placeholder { - position: absolute; - left: 0; - right: 14px; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - text-align: left; - color: #999; -} - -.new-fc-one-select-another-search__field__placeholder { - left: 8px; -} - -.new-fc-one-select-another-search__field__mirror { - position: absolute; - top: -2px; - left: 0; - white-space: pre; - pointer-events: none; - opacity: 0; - color: #333; -} - -.new-fc-one-select-another-search--inline { - position: absolute; - height: 100%; - width: 100%; -} - -.new-fc-one-select-another-search--inline - .new-fc-one-select-another-search__field__wrap { - width: 100%; - height: 100%; -} - -.new-fc-one-select-another-search--inline - .new-fc-one-select-another-search__field { - border-width: 0; - height: 100%; - width: calc(100% - 12px); - background: transparent; - outline: 0; - border-radius: 0; - line-height: 1; - color: #333; -} - -.new-fc-one-select-another-search--inline > i { - float: right; -} - -.new-fc-one-select-another-selection--multiple[type='list'] { - cursor: text; - zoom: 1; - position: relative; -} - -.new-fc-one-select-another-selection--multiple[type='list']::before, -.new-fc-one-select-another-selection--multiple[type='list']::after { - content: ' '; - display: table; -} - -.new-fc-one-select-another-selection--multiple[type='list']::after { - clear: both; - visibility: hidden; - font-size: 0; - height: 0; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-search--inline { - float: left; - position: relative; - top: 1px; - left: 0; - width: auto; - padding: 0; - max-width: calc(100% - 12px); -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-search--inline - .new-fc-one-select-another-search__field { - max-width: 100%; - width: 0.75em; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-search-hidden { - height: 0; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-search-ul { - padding: 0; - margin: 0; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-search-ul::after { - content: ' '; - display: table; - clear: both; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__rendered { - height: auto; - padding-right: 40px; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__rendered::after { - display: none; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice { - color: #333; - background-color: #f5f5f5; - border-radius: 2px; - float: left; - margin-right: 4px; - max-width: 99%; - position: relative; - overflow: hidden; - transition: padding 0.3s ease-in-out; - padding: 0 26px 0 8px; - cursor: pointer; - border: 1px solid #e0e0e0; - box-sizing: border-box; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:hover { - background-color: #eee; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:focus { - background-color: #eee; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice:active { - background-color: #e0e0e0; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice__disabled { - cursor: not-allowed; - background-color: #fafafa; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice__content { - display: inline-block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; - transition: margin 0.3s ease-in-out; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__choice__remove { - color: #666; - line-height: inherit; - cursor: pointer; - display: inline-block; - font-weight: bold; - transition: all 0.3s; - position: absolute; - right: 8px; - transform: scale(0.7, 0.7); - top: 1px; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__clear { - top: 16px; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__total_count { - right: 0; - position: absolute; - color: #999; - bottom: 4px; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__total_count-error { - color: #e64552; -} - -.new-fc-one-select-another-selection--multiple[type='list'] - .new-fc-one-select-another-selection__total_count-min { - right: 20px; - top: 50%; - transform: translateY(-50%); - height: 20px; - line-height: 20px; -} - -.new-fc-one-select-another-hidden { - display: none; -} - -.new-fc-one-select-another-multiple .new-fc-one-select-another { - width: 300px; -} - -.new-fc-one-select-another-dropdown { - line-height: 1; - margin: 0; - padding: 0; - list-style: none; - font-variant: initial; - background-color: #fff; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); - border-radius: 3px; - box-sizing: border-box; - z-index: 1051; - left: -9999px; - top: -9999px; - position: absolute; - outline: none; -} - -.new-fc-one-select-another-dropdown.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-dropdown-placement-topLeft, -.new-fc-one-select-another-dropdown.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-dropdown-placement-topLeft { - animation-name: oneUISlideDownInEffect; -} - -.new-fc-one-select-another-dropdown.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-dropdown-placement-bottomLeft { - animation-name: oneUISlideUpOutEffect; -} - -.new-fc-one-select-another-dropdown.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-dropdown-placement-topLeft { - animation-name: oneUISlideDownOutEffect; -} - -.new-fc-one-select-another-dropdown-hidden { - display: none; -} - -.new-fc-one-select-another-dropdown-menu { - outline: none; - margin: 0; - padding-left: 0; - list-style: none; - overflow: auto; -} - -.new-fc-one-select-another-dropdown-menu-item-group-list { - margin: 0; - padding: 0; -} - -.new-fc-one-select-another-dropdown-menu-item-group-list - > .new-fc-one-select-another-dropdown-menu-item { - padding-left: 8px; -} - -.new-fc-one-select-another-dropdown-menu-item-group-title { - color: #999; - padding: 0 8px; -} - -.new-fc-one-select-another-dropdown-menu-item-group-list - .new-fc-one-select-another-dropdown-menu-item:first-child:not(:last-child), -.new-fc-one-select-another-dropdown-menu-item-group:not(:last-child) - .new-fc-one-select-another-dropdown-menu-item-group-list - .new-fc-one-select-another-dropdown-menu-item:last-child { - border-radius: 0; -} - -.new-fc-one-select-another-dropdown-menu-item-group:not(:last-child) { - padding-bottom: 2px; - border-bottom: 1px solid #999; -} - -.new-fc-one-select-another-dropdown-menu-item[type='custom'] { - position: relative; - display: block; - padding: 0 8px; -} - -.new-fc-one-select-another-dropdown-menu-item { - position: relative; - display: block; - padding: 0 8px; - white-space: nowrap; - cursor: pointer; - overflow: hidden; - text-overflow: ellipsis; - transition: background 0.3s ease; - background-color: #fff; - color: #333; -} - -.new-fc-one-select-another-dropdown-menu-item:hover { - background-color: #f5f5f5; - color: #000; -} - -.new-fc-one-select-another-dropdown-menu-item:active { - background-color: #eee; - color: #000; -} - -.new-fc-one-select-another-dropdown-menu-item:focus { - background-color: #f2f7ff; - color: #000; -} - -.new-fc-one-select-another-dropdown-menu-item-selected { - background-color: #fff; - color: #3d88f2; -} - -.new-fc-one-select-another-dropdown-menu-item-selected:hover { - background-color: #f5f5f5; - color: #3d88f2; -} - -.new-fc-one-select-another-dropdown-menu-item-selected:active { - background-color: #eee; - color: #3d88f2; -} - -.new-fc-one-select-another-dropdown-menu-item-selected:focus { - background-color: #f2f7ff; - color: #3d88f2; -} - -.new-fc-one-select-another-dropdown-menu-item-divider { - height: 1px; - margin: 1px 0; - overflow: hidden; - background-color: #eee; - line-height: 0; -} - -.new-fc-one-select-another-dropdown-menu-item-disabled { - background-color: #fafafa; - color: #ccc; - cursor: not-allowed; -} - -.new-fc-one-select-another-dropdown-menu-item-disabled:hover { - background-color: #fafafa; - color: #ccc; -} - -.new-fc-one-select-another-dropdown-menu-item-disabled:active { - background-color: #fafafa; - color: #ccc; -} - -.new-fc-one-select-another-dropdown-menu-item-disabled:focus { - background-color: #fafafa; - color: #ccc; -} - -.new-fc-one-select-another-dropdown-menu-container { - width: 172px; - height: 152px; - overflow: auto; -} - -.new-fc-one-select-another-dropdown-menu .new-fc-one-checkbox-wrapper { - font-size: inherit; -} - -.new-fc-one-select-another-dropdown--multiple - .new-fc-one-select-another-dropdown-menu-item-selected - .new-fc-one-checkbox-wrapper - + span { - background-color: transparent; - color: #333; -} - -.new-fc-one-select-another-dropdown--multiple - .new-fc-one-select-another-dropdown-menu-item-selected - .new-fc-one-checkbox-wrapper - + span:hover { - background-color: transparent; - color: #000; -} - -.new-fc-one-select-another-dropdown--multiple - .new-fc-one-select-another-dropdown-menu-item-selected - .new-fc-one-checkbox-wrapper - + span:active { - background-color: transparent; - color: #000; -} - -.new-fc-one-select-another-dropdown--multiple - .new-fc-one-select-another-dropdown-menu-item-selected - .new-fc-one-checkbox-wrapper - + span:focus { - background-color: transparent; - color: #000; -} - -.new-fc-one-select-another-dropdown-xsmall - .new-fc-one-select-another-dropdown-menu { - max-height: 248px; -} - -.new-fc-one-select-another-dropdown-small - .new-fc-one-select-another-dropdown-menu { - max-height: 288px; -} - -.new-fc-one-select-another-dropdown-medium - .new-fc-one-select-another-dropdown-menu { - max-height: 328px; -} - -.new-fc-one-select-another-dropdown-large - .new-fc-one-select-another-dropdown-menu { - max-height: 368px; -} - -.new-fc-one-select-another-search-text-highlight { - color: #f27c49; -} - -.new-fc-one-single-select { - background: #fff; - cursor: pointer; - position: relative; - color: #333; - border: 1px solid #dbdbdb; - padding-right: 20px; - box-sizing: border-box; - height: 32px; - line-height: 1; - display: inline-block; - vertical-align: middle; -} - -.new-fc-one-single-select-text { - font-size: 12px; - padding: 0 10px; - display: inline-block; - line-height: 30px; - height: 30px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; -} - -.new-fc-one-single-select:hover { - border: 1px solid #999; -} - -.new-fc-one-select-another-focused .new-fc-one-single-select, -.new-fc-one-single-select:focus, -.new-fc-one-single-select:active { - border: 1px solid #999; -} - -.new-fc-one-single-select-open .new-fc-one-icon { - transform: rotate(180deg) scale(0.7); -} - -.new-fc-one-single-select-disabled { - background: #eee; - cursor: not-allowed; - color: #b8b8b8; -} - -.new-fc-one-single-select-disabled:hover { - border: 1px solid #dbdbdb; -} - -.new-fc-one-select-another-focused .new-fc-one-single-select-disabled, -.new-fc-one-single-select-disabled:focus, -.new-fc-one-single-select-disabled:active { - border: 1px solid #dbdbdb; -} - -.new-fc-one-multiple-select { - position: relative; -} - -.new-fc-one-multiple-select-open .new-fc-one-icon { - transform: rotate(180deg) scale(0.7); -} - -.new-fc-one-multiple-select-text-label { - display: inline-block; -} - -.new-fc-one-select-another-popover { - line-height: 1; - margin: 0; - padding: 0; - list-style: none; - padding: 8px; - font-variant: initial; - background-color: #fff; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); - border-radius: 0; - box-sizing: border-box; - z-index: 1051; - left: -9999px; - top: -9999px; - position: absolute; - outline: none; -} - -.new-fc-one-select-another-popover.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-popover-placement-topLeft, -.new-fc-one-select-another-popover.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-popover-placement-topLeft { - animation-name: oneUISlideDownInEffect; -} - -.new-fc-one-select-another-popover.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-popover-placement-bottomLeft { - animation-name: oneUISlideUpOutEffect; -} - -.new-fc-one-select-another-popover.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-popover-placement-topLeft { - animation-name: oneUISlideDownOutEffect; -} - -.new-fc-one-select-another-popover-hidden { - display: none; -} - -.new-fc-one-select-another-popover-container { - width: 288px; -} - -.new-fc-one-select-another-popover-container-open - .new-fc-one-select-another-arrow { - transform: scale(0.7, 0.7) rotate(180deg); -} - -.new-fc-one-select-another-popover-container - .new-fc-one-select-another-selection__total { - top: 0 !important; - left: 8px !important; -} - -.new-fc-one-select-another-popover-container - .new-fc-one-select-another-selection { - cursor: auto; -} - -.new-fc-one-select-another-popover-inner { - width: 100%; -} - -.new-fc-one-select-another-popover-inner-container { - display: inline-block; - width: 100%; -} - -.new-fc-one-select-another-popover-inner-container-custom { - margin-bottom: 8px; -} - -.new-fc-one-select-another-popover-inner-container-button-item { - margin-right: 8px; -} - -.new-fc-one-select-another-pop { - line-height: 1; - margin: 0; - padding: 0; - list-style: none; - font-variant: initial; - background-color: #fff; - box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); - border-radius: 0; - box-sizing: border-box; - z-index: 1051; - left: -9999px; - top: -9999px; - position: absolute; - outline: none; -} - -.new-fc-one-select-another-pop.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-pop-placement-topLeft, -.new-fc-one-select-another-pop.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-pop-placement-topLeft { - animation-name: oneUISlideDownInEffect; -} - -.new-fc-one-select-another-pop.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-pop-placement-bottomLeft { - animation-name: oneUISlideUpOutEffect; -} - -.new-fc-one-select-another-pop.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-pop-placement-topLeft { - animation-name: oneUISlideDownOutEffect; -} - -.new-fc-one-select-another-pop-hidden { - display: none; -} - -.new-fc-one-select-another-container { - display: inline-block; -} - -.new-fc-one-select-another-selection-item { - position: relative; - top: -10px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx deleted file mode 100644 index 7bf17bd6d..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx +++ /dev/null @@ -1,1023 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import classnames from 'classnames'; -import { cloneDeep, isUndefined } from 'lodash-es'; -import { - Input, - Radio, - Select, - Button, - Switch, - Tooltip, - Checkbox, - Message -} from 'hubble-ui'; -import { useTranslation } from 'react-i18next'; - -import { Tooltip as CustomTooltip } from '../../../common/'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { formatVertexIdText } from '../../../../stores/utils'; - -import type { VertexTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; - -import './NewVertexType.less'; - -const NewVertexType: React.FC = observer(() => { - const dataAnalyzeStore = useContext(DataAnalyzeStore); - const { metadataPropertyStore, vertexTypeStore } = useContext( - MetadataConfigsRootStore - ); - const { t } = useTranslation(); - const [isAddNewProperty, switchIsAddNewProperty] = useState(false); - const [deletePopIndex, setDeletePopIndex] = useState(null); - const deleteWrapperRef = useRef(null); - const dropdownWrapperRef = useRef(null); - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - isAddNewProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddNewProperty(false); - } - - if ( - deletePopIndex && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - setDeletePopIndex(null); - } - }, - [deletePopIndex, isAddNewProperty] - ); - - useEffect(() => { - metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); - vertexTypeStore.validateAllNewVertexType(true); - }, [metadataPropertyStore, vertexTypeStore]); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
-
-
- {t('addition.menu.base-info')} -
-
-
- * - {t('addition.vertex.vertex-type-name')}: -
- { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - name: e.value - }); - }} - originInputProps={{ - onBlur() { - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('name'); - } - }} - /> -
- -
-
- * - {t('addition.vertex.vertex-style')}: -
-
- -
-
- -
-
- -
-
- * - {t('addition.common.id-strategy')}: -
- ) => { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - id_strategy: e.target.value - }); - - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('primaryKeys'); - }} - > - - {t('addition.constant.primary-key-id')} - - - {t('addition.constant.automatic-generation')} - - - {t('addition.constant.custom-string')} - - - {t('addition.constant.custom-number')} - - - {t('addition.constant.custom-uuid')} - - -
-
-
- {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( - * - )} - {t('addition.common.association-property')}: -
-
- {vertexTypeStore.newVertexType.properties.length !== 0 && ( -
-
-
{t('addition.common.property')}
-
{t('addition.common.allow-null')}
-
- {vertexTypeStore.newVertexType.properties.map( - (property, index) => { - const currentProperties = cloneDeep( - vertexTypeStore.newVertexType.properties - ); - - return ( -
-
{property.name}
-
- { - currentProperties[index].nullable = checked; - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - properties: currentProperties - }); - - // remove primary keys since it could be empty value - if (checked) { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - primary_keys: - vertexTypeStore.newVertexType.primary_keys.filter( - (key) => key !== property.name - ) - }); - } - }} - size="large" - /> -
-
- ); - } - )} -
- )} -
{ - switchIsAddNewProperty(!isAddNewProperty); - }} - > - {t('addition.common.add-property')} - toggleAddProperty -
-
-
- {isAddNewProperty && ( -
-
-
- {metadataPropertyStore.metadataProperties.map((property) => ( -
- - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - vertexTypeStore.addedPropertiesInSelectedVertextType; - - addedPropertiesInSelectedVertextType.has(property.name) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = - vertexTypeStore.newVertexType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined(currentProperty) - ? currentProperty.nullable - : true - }; - }) - }); - - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType('properties'); - }} - > - {property.name} - - -
- ))} -
-
- )} - {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( -
-
- * - {t('addition.common.primary-key-property')}: -
- -
- )} - -
-
- * - {t('addition.vertex.vertex-display-content')}: -
- -
- -
- - {t('addition.edge.index-info')} - - - hint - -
-
-
- * - {t('addition.menu.type-index')}: -
- { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - open_label_index: - !vertexTypeStore.newVertexType.open_label_index - }); - }} - size="large" - /> -
-
-
- {t('addition.common.property-index')}: -
-
- {vertexTypeStore.newVertexType.property_indexes.length !== 0 && ( -
-
- {t('addition.edge.index-name')} -
-
- {t('addition.edge.index-type')} -
-
{t('addition.common.property')}
-
- )} - {vertexTypeStore.newVertexType.property_indexes.map( - ({ name, type, fields }, index) => ( -
-
- { - const propertyIndexEntities = cloneDeep( - vertexTypeStore.newVertexType.property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType( - 'propertyIndexes' - ); - } - }} - /> -
-
- -
-
- -
- - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const propertyIndexEntities = cloneDeep( - vertexTypeStore.newVertexType.property_indexes - ); - - propertyIndexEntities.splice(index, 1); - - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: propertyIndexEntities - }); - - vertexTypeStore.validateAllNewVertexType(true); - vertexTypeStore.validateNewVertexType( - 'propertyIndexes' - ); - - setDeletePopIndex(null); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeletePopIndex(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: closeIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeletePopIndex(index); - } - }} - childrenWrapperElement="img" - /> -
- ) - )} - { - if ( - vertexTypeStore.newVertexType.property_indexes.length === 0 || - vertexTypeStore.isAddNewPropertyIndexReady - ) { - vertexTypeStore.mutateNewProperty({ - ...vertexTypeStore.newVertexType, - property_indexes: [ - ...vertexTypeStore.newVertexType.property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - vertexTypeStore.validateAllNewVertexType(true); - // set isAddNewPropertyIndexReady to false - vertexTypeStore.validateNewVertexType( - 'propertyIndexes', - true - ); - } - }} - style={{ - cursor: 'pointer', - color: vertexTypeStore.isAddNewPropertyIndexReady - ? '#2b65ff' - : '#999', - lineHeight: '32px' - }} - > - {t('addition.edge.add-group')} - -
-
- -
-
- - -
-
- - ); -}); - -export default NewVertexType; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less deleted file mode 100644 index 71698137e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.reuse-properties-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; - - .reuse-steps { - width: 860px; - margin: 16px auto 18px; - } - - .reuse-properties { - &-row { - display: flex; - align-items: center; - margin: 18px 0 32px; - font-size: 14px; - color: #333; - - &:last-child { - margin-bottom: 24px; - } - - &-name { - width: 98px; - text-align: right; - margin-right: 13.9px; - } - } - - &-manipulations { - display: flex; - justify-content: center; - margin-bottom: 88px; - } - - &-validate { - &-duplicate, - &-exist, - &-pass { - width: 58px; - margin: 0 auto; - border-radius: 2px; - letter-spacing: 0; - line-height: 22px; - text-align: center; - } - - &-duplicate { - background: #fff2f2; - border: 1px solid #ff9499; - color: #e64552; - } - - &-exist, - &-pass { - background: #f2fff4; - border: 1px solid #7ed988; - color: #39bf45; - } - } - - &-complete-hint { - display: flex; - flex-direction: column; - justify-content: center; - margin: 88px auto 327px; - - &-description { - display: flex; - justify-content: center; - - & > div { - margin-left: 20px; - } - } - - &-manipulations { - margin: 42px auto 0; - } - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx deleted file mode 100644 index ba1540f2f..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx +++ /dev/null @@ -1,1052 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { useContext, useState, useEffect } from 'react'; -import { observer } from 'mobx-react'; -import { - Select, - Steps, - Transfer, - Button, - Table, - Input, - Message -} from 'hubble-ui'; - -import { GraphManagementStoreContext } from '../../../../stores'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; - -import PassIcon from '../../../../assets/imgs/ic_pass.svg'; - -import './ReuseVertexTypes.less'; -import { cloneDeep } from 'lodash-es'; -import { useTranslation } from 'react-i18next'; - -const ReuseVertexTypes: React.FC = observer(() => { - const graphManagementStore = useContext(GraphManagementStoreContext); - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { vertexTypeStore } = metadataConfigsRootStore; - const { t } = useTranslation(); - const [currentStatus, setCurrentStatus] = useState(1); - // acutally the name, not id in database - const [selectedId, mutateSelectedId] = useState<[] | string>([]); - const [selectedList, mutateSelectedList] = useState([]); - - // step 2 - const [vertexTypeEditIndex, setVertexTypeEditIndex] = useState( - null - ); - const [propertyEditIndex, setPropertyEditIndex] = useState( - null - ); - const [propertyIndexEditIndex, setPropertyIndexEditIndex] = useState< - number | null - >(null); - - // hack: need to call @observable at here to dispatch re-render by mobx - // since @action in onBlur() in doesn't dispatch re-render - vertexTypeStore.validateReuseErrorMessage.vertexType.toUpperCase(); - vertexTypeStore.validateReuseErrorMessage.property.toUpperCase(); - vertexTypeStore.validateReuseErrorMessage.property_index.toUpperCase(); - - const vertexTypeColumnConfigs = [ - { - title: t('addition.common.vertex-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== vertexTypeEditIndex) { - return ( -
- {text} -
- ); - } - - return ( - { - // remove validate message after user input changes - vertexTypeStore.resetValidateReuseErrorMessage('vertexType'); - - const editedCheckedReusableData = cloneDeep( - vertexTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.vertexlabel_conflicts[ - index - ].entity.name = e.value; - - vertexTypeStore.mutateEditedReusableData( - editedCheckedReusableData - ); - }} - originInputProps={{ - onBlur() { - vertexTypeStore.validateReuseData( - 'vertexType', - vertexTypeStore.checkedReusableData!.vertexlabel_conflicts[ - index - ].entity.name, - vertexTypeStore.editedCheckedReusableData! - .vertexlabel_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - width: '30%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (vertexTypeStore.reusableVertexTypeNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return ( -
- {text} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === vertexTypeEditIndex) { - const originalName = vertexTypeStore.checkedReusableData! - .vertexlabel_conflicts[index].entity.name; - const changedName = vertexTypeStore.editedCheckedReusableData! - .vertexlabel_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - return ( -
- { - if ( - !isChanged || - !vertexTypeStore.validateReuseData( - 'vertexType', - originalName, - changedName - ) - ) { - return; - } - - vertexTypeStore.mutateReuseData( - 'vertexType', - originalName, - changedName - ); - setVertexTypeEditIndex(null); - vertexTypeStore.mutateReusableVertexTypeChangeIndexes(index); - }} - > - {t('addition.common.save')} - - { - vertexTypeStore.resetValidateReuseErrorMessage('vertexType'); - setVertexTypeEditIndex(null); - vertexTypeStore.resetEditedReusableVertexTypeName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (vertexTypeEditIndex !== null) { - return; - } - - setVertexTypeEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (vertexTypeEditIndex !== null) { - return; - } - - setPropertyEditIndex(null); - - // remove selected status of the property in - const newSelectedList = [...selectedList].filter( - (property) => - property !== - vertexTypeStore.editedCheckedReusableData! - .vertexlabel_conflicts[index].entity.name - ); - - mutateSelectedList(newSelectedList); - - // notice: useState hooks cannot sync updated state value, so the length is still 1 - if (selectedList.length === 1) { - setCurrentStatus(1); - // remove edit status after return previous - vertexTypeStore.clearReusableNameChangeIndexes(); - return; - } - - vertexTypeStore.deleteReuseData('vertexlabel_conflicts', index); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - const metadataPropertyColumnConfigs = [ - { - title: t('addition.common.property-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== propertyEditIndex) { - return text; - } - - return ( - { - // remove validate message after user input changes - vertexTypeStore.resetValidateReuseErrorMessage('property'); - - const editedCheckedReusableData = cloneDeep( - vertexTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.propertykey_conflicts[ - index - ].entity.name = e.value; - - vertexTypeStore.mutateEditedReusableData( - editedCheckedReusableData - ); - }} - originInputProps={{ - onBlur() { - vertexTypeStore.validateReuseData( - 'property', - vertexTypeStore.checkedReusableData!.propertykey_conflicts[ - index - ].entity.name, - vertexTypeStore.editedCheckedReusableData! - .propertykey_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.common.data-type'), - dataIndex: 'data_type', - width: '15%', - render(text: string) { - if (text === 'TEXT') { - return 'string'; - } - - return text.toLowerCase(); - } - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - align: 'center', - width: '15%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (vertexTypeStore.reusablePropertyNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return
{text}
; - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === propertyEditIndex) { - const originalName = vertexTypeStore.checkedReusableData! - .propertykey_conflicts[index].entity.name; - const changedName = vertexTypeStore.editedCheckedReusableData! - .propertykey_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - return ( -
- { - if ( - !isChanged || - !vertexTypeStore.validateReuseData( - 'property', - originalName, - changedName - ) - ) { - return; - } - - vertexTypeStore.mutateReuseData( - 'property', - originalName, - changedName - ); - - setPropertyEditIndex(null); - vertexTypeStore.mutateReusablePropertyNameChangeIndexes( - index - ); - }} - > - {t('addition.common.save')} - - { - vertexTypeStore.resetValidateReuseErrorMessage('property'); - setPropertyEditIndex(null); - vertexTypeStore.resetEditedReusablePropertyName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (propertyEditIndex !== null) { - return; - } - - setPropertyEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (propertyEditIndex !== null) { - return; - } - - setPropertyEditIndex(null); - - vertexTypeStore.deleteReuseData('propertykey_conflicts', index); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - const metadataPropertyIndexColumnConfigs = [ - { - title: t('addition.common.property-index-name'), - dataIndex: 'name', - width: '50%', - render(text: string, records: any, index: number) { - if (index !== propertyIndexEditIndex) { - return text; - } - - return ( - { - vertexTypeStore.resetValidateReuseErrorMessage('property_index'); - - const editedCheckedReusableData = cloneDeep( - vertexTypeStore.editedCheckedReusableData! - ); - - editedCheckedReusableData.propertyindex_conflicts[ - index - ].entity.name = e.value; - - vertexTypeStore.mutateEditedReusableData( - editedCheckedReusableData - ); - }} - originInputProps={{ - onBlur() { - vertexTypeStore.validateReuseData( - 'property_index', - vertexTypeStore.checkedReusableData!.propertyindex_conflicts[ - index - ].entity.name, - vertexTypeStore.editedCheckedReusableData! - .propertyindex_conflicts[index].entity.name - ); - } - }} - /> - ); - } - }, - { - title: t('addition.vertex.corresponding-vertex-type'), - dataIndex: 'owner', - width: '15%' - }, - { - title: t('addition.edge.verification-result'), - dataIndex: 'status', - align: 'center', - width: '15%', - render(value: string, records: any, index: number) { - let classname = ''; - let text = ''; - - if (vertexTypeStore.reusablePropertyIndexNameChangeIndexes.has(index)) { - return ( -
- {t('addition.edge.be-verified')} -
- ); - } - - switch (value) { - case 'DUPNAME': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.duplicate-name'); - break; - - case 'DEP_CONFLICT': - classname = 'reuse-properties-validate-duplicate'; - text = t('addition.message.dependency-conflict'); - break; - - case 'EXISTED': - classname = 'reuse-properties-validate-exist'; - text = t('addition.message.already-exist'); - break; - - case 'PASSED': - classname = 'reuse-properties-validate-pass'; - text = t('addition.message.pass'); - break; - } - - return
{text}
; - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '20%', - render(_: never, records: any, index: number) { - if (index === propertyIndexEditIndex) { - const originalName = vertexTypeStore.checkedReusableData! - .propertyindex_conflicts[index].entity.name; - const changedName = vertexTypeStore.editedCheckedReusableData! - .propertyindex_conflicts[index].entity.name; - const isChanged = changedName !== originalName; - - return ( -
- { - if ( - !isChanged || - !vertexTypeStore.validateReuseData( - 'property_index', - originalName, - changedName - ) - ) { - return; - } - - vertexTypeStore.mutateReuseData( - 'property_index', - originalName, - changedName - ); - - setPropertyIndexEditIndex(null); - vertexTypeStore.mutateReusablePropertyIndexNameChangeIndexes( - index - ); - }} - > - {t('addition.common.save')} - - { - vertexTypeStore.resetValidateReuseErrorMessage( - 'property_index' - ); - setPropertyIndexEditIndex(null); - vertexTypeStore.resetEditedReusablePropertyIndexName(index); - }} - > - {t('addition.common.cancel')} - -
- ); - } - - return ( -
- { - if (propertyIndexEditIndex !== null) { - return; - } - - setPropertyIndexEditIndex(index); - }} - > - {t('addition.operate.rename')} - - { - if (propertyIndexEditIndex !== null) { - return; - } - - setPropertyIndexEditIndex(null); - - vertexTypeStore.deleteReuseData( - 'propertyindex_conflicts', - index - ); - }} - > - {t('addition.common.del')} - -
- ); - } - } - ]; - - useEffect(() => { - // unlike metadata properties, all vertex types only needs here(in reuse) - vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); - }, [vertexTypeStore]); - - return ( -
-
- {t('addition.operate.reuse-vertex-type')} -
-
- {t('addition.message.reuse-vertex-type-notice')} -
-
- - {[ - t('addition.menu.select-reuse-item'), - t('addition.menu.confirm-reuse-item'), - t('addition.menu.complete-reuse') - ].map((title: string, index: number) => ( - index + 1 - ? 'finish' - : 'wait' - } - key={title} - /> - ))} - - - {currentStatus === 1 && ( - <> -
-
- * - {t('addition.newGraphConfig.id')}: -
- -
-
-
- * - {t('addition.operate.reuse-vertex-type')}: -
- name - )} - selectedList={selectedList} - showSearchBox={false} - candidateTreeStyle={{ - width: 355, - fontSize: 14 - }} - selectedTreeStyle={{ - width: 355, - fontSize: 14 - }} - handleSelect={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleSelectAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDelete={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - handleDeleteAll={(selectedList: string[]) => { - mutateSelectedList(selectedList); - }} - /> -
-
- - -
- - )} - - {currentStatus === 2 && ( - <> -
- {t('addition.common.selected-vertex-type')} -
-
({ - name: entity.name, - status - }) - ) - : [] - } - pagination={false} - /> - -
- {t('addition.common.selected-property')} -
-
({ - name: entity.name, - data_type: entity.data_type, - status - }) - ) - : [] - } - pagination={false} - /> - -
- {t('addition.common.selected-property-index')} -
-
({ - name: entity.name, - owner: entity.owner, - status - }) - ) - : [] - } - pagination={false} - /> - -
- - -
- - )} - - {currentStatus === 3 && ( -
-
- {t('addition.message.reuse-complete')} -
-
{t('addition.message.reuse-complete')}
-
{t('addition.message.vertex-type-reuse-success')}
-
-
-
- - -
-
- )} - - - ); -}); - -export default ReuseVertexTypes; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less deleted file mode 100644 index 20b083faa..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -.vertex-type-list-wrapper { - width: 100%; - background: #fff; - margin-top: 16px; - padding: 16px; -} diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx deleted file mode 100644 index eaa7197c6..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx +++ /dev/null @@ -1,1888 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React, { - useContext, - useState, - useEffect, - useRef, - useCallback -} from 'react'; -import { observer } from 'mobx-react'; -import { - cloneDeep, - intersection, - size, - without, - isEmpty, - isUndefined, - values -} from 'lodash-es'; -import { useLocation } from 'wouter'; -import classnames from 'classnames'; -import { motion } from 'framer-motion'; -import { - Button, - Table, - Switch, - Modal, - Drawer, - Input, - Select, - Checkbox, - Message, - Loading -} from 'hubble-ui'; - -import { Tooltip, LoadingDataView } from '../../../common'; -import NewVertexType from './NewVertexType'; -import ReuseVertexTypes from './ReuseVertexTypes'; -import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; -import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import { formatVertexIdText } from '../../../../stores/utils'; - -import type { - VertexTypeValidatePropertyIndexes, - VertexType -} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; - -import AddIcon from '../../../../assets/imgs/ic_add.svg'; -import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; -import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; -import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; -import i18next from '../../../../i18n'; -import { useTranslation } from 'react-i18next'; - -import './VertexTypeList.less'; - -const styles = { - button: { - marginLeft: 12, - width: 78 - }, - header: { - marginBottom: 16 - }, - manipulation: { - marginRight: 12 - }, - deleteWrapper: { - display: 'flex', - justifyContent: 'flex-end' - }, - loading: { - padding: 0, - marginRight: 4 - } -}; - -const variants = { - initial: { - opacity: 0 - }, - animate: { - opacity: 1, - transition: { - duration: 0.7 - } - }, - exit: { - opacity: 0, - transition: { - duration: 0.3 - } - } -}; - -const IDStrategyMappings: Record = { - PRIMARY_KEY: i18next.t('addition.constant.primary-key-id'), - AUTOMATIC: i18next.t('addition.constant.automatic-generation'), - CUSTOMIZE_STRING: i18next.t('addition.constant.custom-string'), - CUSTOMIZE_NUMBER: i18next.t('addition.constant.custom-number'), - CUSTOMIZE_UUID: i18next.t('addition.constant.custom-uuid') -}; - -const propertyIndexTypeMappings: Record = { - SECONDARY: i18next.t('addition.menu.secondary-index'), - RANGE: i18next.t('addition.menu.range-index'), - SEARCH: i18next.t('addition.menu.full-text-index') -}; - -const VertexTypeList: React.FC = observer(() => { - const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - const { metadataPropertyStore, vertexTypeStore } = metadataConfigsRootStore; - const [preLoading, switchPreLoading] = useState(true); - const [sortOrder, setSortOrder] = useState(''); - const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); - const [isShowModal, switchShowModal] = useState(false); - const [isAddProperty, switchIsAddProperty] = useState(false); - const [isEditVertex, switchIsEditVertex] = useState(false); - const [ - deleteExistPopIndexInDrawer, - setDeleteExistPopIndexInDrawer - ] = useState(null); - const [ - deleteAddedPopIndexInDrawer, - setDeleteAddedPopIndexInDrawer - ] = useState(null); - const [, setLocation] = useLocation(); - - const dropdownWrapperRef = useRef(null); - const deleteWrapperInDrawerRef = useRef(null); - - const isLoading = - preLoading || - vertexTypeStore.requestStatus.fetchVertexTypeList === 'pending'; - - const currentSelectedRowKeys = intersection( - selectedRowKeys, - vertexTypeStore.vertexTypes.map(({ name }) => name) - ); - - // need useCallback to stop infinite callings of useEffect - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - // if clicked element is not on dropdown, collpase it - if ( - isEditVertex && - isAddProperty && - dropdownWrapperRef.current && - !dropdownWrapperRef.current.contains(e.target as Element) - ) { - switchIsAddProperty(false); - } - - if ( - (deleteExistPopIndexInDrawer || deleteAddedPopIndexInDrawer) && - deleteWrapperInDrawerRef.current && - !deleteWrapperInDrawerRef.current.contains(e.target as Element) - ) { - setDeleteExistPopIndexInDrawer(null); - setDeleteAddedPopIndexInDrawer(null); - } - }, - [deleteExistPopIndexInDrawer, deleteAddedPopIndexInDrawer, isAddProperty] - ); - - const handleSelectedTableRow = (newSelectedRowKeys: string[]) => { - mutateSelectedRowKeys(newSelectedRowKeys); - }; - - const handleCloseDrawer = () => { - switchIsAddProperty(false); - switchIsEditVertex(false); - vertexTypeStore.selectVertexType(null); - // clear mutations in - vertexTypeStore.resetEditedSelectedVertexType(); - }; - - const handleSortClick = () => { - switchPreLoading(true); - - if (sortOrder === 'descend') { - vertexTypeStore.mutatePageSort('asc'); - setSortOrder('ascend'); - } else { - vertexTypeStore.mutatePageSort('desc'); - setSortOrder('descend'); - } - - vertexTypeStore.fetchVertexTypeList(); - }; - - const batchDeleteProperties = async () => { - if ( - values(currentSelectedRowKeys).every( - (key) => vertexTypeStore.vertexTypeUsingStatus?.[key] - ) - ) { - Message.error({ - content: t('addition.message.no-can-delete-vertex-type'), - size: 'medium', - showCloseIcon: false - }); - - return; - } - - switchShowModal(false); - // need to set a copy in store since local row key state would be cleared - vertexTypeStore.mutateSelectedVertexTypeNames(currentSelectedRowKeys); - // mutateSelectedRowKeys([]); - await vertexTypeStore.deleteVertexType(currentSelectedRowKeys); - - if (vertexTypeStore.requestStatus.deleteVertexType === 'success') { - Message.success({ - content: t('addition.common.del-success'), - size: 'medium', - showCloseIcon: false - }); - - mutateSelectedRowKeys( - without(selectedRowKeys, ...currentSelectedRowKeys) - ); - - await vertexTypeStore.fetchVertexTypeList(); - - // fetch previous page data if it's empty - if ( - vertexTypeStore.requestStatus.fetchVertexTypeList === 'success' && - size(vertexTypeStore.vertexTypes) === 0 && - vertexTypeStore.vertexListPageConfig.pageNumber > 1 - ) { - vertexTypeStore.mutatePageNumber( - vertexTypeStore.vertexListPageConfig.pageNumber - 1 - ); - - vertexTypeStore.fetchVertexTypeList(); - } - - return; - } - - if (vertexTypeStore.requestStatus.deleteVertexType === 'failed') { - Message.error({ - content: vertexTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - } - }; - - const columnConfigs = [ - { - title: t('addition.vertex.vertex-type-name'), - dataIndex: 'name', - sorter: true, - sortOrder, - width: '20%', - render(text: string, records: any[], index: number) { - return ( -
{ - vertexTypeStore.selectVertexType(index); - - // check also need style infos - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - style: { - color: vertexTypeStore.selectedVertexType!.style.color, - icon: null, - size: vertexTypeStore.selectedVertexType!.style.size, - display_fields: vertexTypeStore.selectedVertexType!.style - .display_fields - } - }); - }} - > - {text} -
- ); - } - }, - { - title: t('addition.common.association-property'), - dataIndex: 'properties', - width: '20%', - render(properties: { name: string; nullable: boolean }[]) { - const joinedProperties = - properties.length !== 0 - ? properties.map(({ name }) => name).join('; ') - : '-'; - - return ( -
- {joinedProperties} -
- ); - } - }, - { - title: t('addition.common.id-strategy'), - dataIndex: 'id_strategy', - width: '10%', - render(text: string) { - return ( -
- {IDStrategyMappings[text]} -
- ); - } - }, - { - title: t('addition.common.primary-key-property'), - dataIndex: 'primary_keys', - width: '10%', - render(properties: string[]) { - const joinedProperties = - properties.length !== 0 ? properties.join('; ') : '-'; - - return ( -
- {joinedProperties} -
- ); - } - }, - { - title: t('addition.menu.type-index'), - dataIndex: 'open_label_index', - width: '10%', - render(value: boolean) { - return ( - - ); - } - }, - { - title: t('addition.common.property-index'), - dataIndex: 'property_indexes', - width: '17%', - render(indexes: { name: string; type: string; fields: string[] }[]) { - const joindedIndexes = - indexes.length !== 0 - ? indexes.map(({ name }) => name).join('; ') - : '-'; - - return ( -
- {joindedIndexes} -
- ); - } - }, - { - title: t('addition.operate.operate'), - dataIndex: 'manipulation', - width: '13%', - render(_: any, records: VertexType, index: number) { - return ( - - ); - } - } - ]; - - const metadataDrawerOptionClass = classnames({ - 'metadata-drawer-options': true, - 'metadata-drawer-options-disabled': isEditVertex - }); - - useEffect(() => { - setTimeout(() => { - switchPreLoading(false); - }, 500); - }, [sortOrder]); - - useEffect(() => { - return () => { - const messageComponents = document.querySelectorAll( - '.new-fc-one-message' - ) as NodeListOf; - - messageComponents.forEach((messageComponent) => { - messageComponent.style.display = 'none'; - }); - }; - }); - - useEffect(() => { - if (metadataConfigsRootStore.currentId !== null) { - metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); - vertexTypeStore.fetchVertexTypeList(); - } - - return () => { - vertexTypeStore.dispose(); - }; - }, [ - metadataPropertyStore, - metadataConfigsRootStore.currentId, - vertexTypeStore - ]); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - if (vertexTypeStore.currentTabStatus === 'new') { - return ; - } - - if (vertexTypeStore.currentTabStatus === 'reuse') { - return ; - } - - return ( - -
-
- - -
- {size(currentSelectedRowKeys) !== 0 && ( -
-
- {t('addition.message.selected')} - {size(currentSelectedRowKeys)} - {t('addition.common.term')} -
- - {t('addition.common.close')} { - mutateSelectedRowKeys([]); - }} - /> -
- )} -
rowData.name} - locale={{ - emptyText: ( - } - /> - ) - }} - rowSelection={{ - selectedRowKeys, - onChange: handleSelectedTableRow - }} - onSortClick={handleSortClick} - dataSource={isLoading ? [] : vertexTypeStore.vertexTypes} - pagination={ - isLoading - ? null - : { - hideOnSinglePage: false, - pageNo: vertexTypeStore.vertexListPageConfig.pageNumber, - pageSize: 10, - showSizeChange: false, - showPageJumper: false, - total: vertexTypeStore.vertexListPageConfig.pageTotal, - onPageNoChange: (e: React.ChangeEvent) => { - // mutateSelectedRowKeys([]); - vertexTypeStore.mutatePageNumber(Number(e.target.value)); - vertexTypeStore.fetchVertexTypeList(); - } - } - } - /> - - { - switchShowModal(false); - }} - > -
-
- {t('addition.common.del-comfirm')} - {t('addition.common.close')} { - switchShowModal(false); - }} - /> -
-
- {t('addition.vertex.using-cannot-delete-confirm')} -
-
- {t('addition.message.long-time-notice')} -
-
) { - return ( - - {text} - - ); - } - }, - { - title: t('addition.common.status'), - dataIndex: 'status', - render(isUsing: boolean) { - return ( -
- {isUsing - ? t('addition.common.in-use') - : t('addition.common.not-used')} -
- ); - } - } - ]} - dataSource={currentSelectedRowKeys.map((name) => { - return { - name, - status: - vertexTypeStore.vertexTypeUsingStatus !== null && - // data may have some delay which leads to no matching propety value - !!vertexTypeStore.vertexTypeUsingStatus[name] - }; - })} - pagination={false} - /> - - - - { - if (!isEditVertex) { - switchIsEditVertex(true); - vertexTypeStore.validateEditVertexType(); - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - style: { - color: vertexTypeStore.selectedVertexType!.style.color, - icon: null, - size: vertexTypeStore.selectedVertexType!.style.size, - display_fields: vertexTypeStore.selectedVertexType!.style - .display_fields - } - }); - } else { - await vertexTypeStore.updateVertexType(); - - if ( - vertexTypeStore.requestStatus.updateVertexType === 'failed' - ) { - Message.error({ - content: vertexTypeStore.errorMessage, - size: 'medium', - showCloseIcon: false - }); - - return; - } - - if ( - vertexTypeStore.requestStatus.updateVertexType === 'success' - ) { - if ( - isEmpty( - vertexTypeStore.editedSelectedVertexType - .append_property_indexes - ) - ) { - Message.success({ - content: t('addition.operate.modify-success'), - size: 'medium', - showCloseIcon: false - }); - } else { - Message.success({ - content: ( -
-
- {t('addition.common.save-scuccess')} -
-
- {t('addition.message.index-long-time-notice')} -
-
{ - setLocation( - `/graph-management/${metadataConfigsRootStore.currentId}/async-tasks` - ); - }} - > - {t('addition.operate.view-task-management')} -
-
- ), - duration: 60 * 60 * 24 - }); - } - } - - switchIsEditVertex(false); - vertexTypeStore.selectVertexType(null); - vertexTypeStore.fetchVertexTypeList(); - vertexTypeStore.resetEditedSelectedVertexType(); - } - }} - key="drawer-manipulation" - > - {isEditVertex - ? t('addition.common.save') - : t('addition.common.edit')} - , - - ]} - > - {!isEmpty(vertexTypeStore.selectedVertexType) && ( -
-
- {t('addition.menu.base-info')} -
-
-
- {t('addition.vertex.vertex-type-name')}: -
-
- {vertexTypeStore.selectedVertexType!.name} -
-
-
-
- - {t('addition.vertex.vertex-style')}: - -
-
- -
-
- -
-
-
-
- {t('addition.common.id-strategy')}: -
- { - IDStrategyMappings[ - vertexTypeStore.selectedVertexType!.id_strategy - ] - } -
-
-
- {t('addition.common.association-property')}: -
-
-
- {t('addition.common.property')} - {t('addition.common.allow-null')} -
- {vertexTypeStore.selectedVertexType!.properties.map( - ({ name, nullable }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditVertex && - vertexTypeStore.editedSelectedVertexType.append_properties.map( - ({ name }) => ( -
-
{name}
-
- -
-
- ) - )} - {isEditVertex && ( -
{ - switchIsAddProperty(!isAddProperty); - }} - > - - {t('addition.common.add-property')} - - toogleAddProperties -
- )} - {isEditVertex && isAddProperty && ( -
- {metadataPropertyStore.metadataProperties - .filter( - (property) => - vertexTypeStore.selectedVertexType!.properties.find( - ({ name }) => name === property.name - ) === undefined - ) - .map((property) => ( -
- - - propertyIndex === property.name - ) !== -1 - } - onChange={() => { - const addedPropertiesInSelectedVertextType = - vertexTypeStore.addedPropertiesInSelectedVertextType; - - addedPropertiesInSelectedVertextType.has( - property.name - ) - ? addedPropertiesInSelectedVertextType.delete( - property.name - ) - : addedPropertiesInSelectedVertextType.add( - property.name - ); - - vertexTypeStore.mutateEditedSelectedVertexType( - { - ...vertexTypeStore.editedSelectedVertexType, - append_properties: [ - ...addedPropertiesInSelectedVertextType - ].map((propertyName) => { - const currentProperty = vertexTypeStore.newVertexType.properties.find( - ({ name }) => name === propertyName - ); - - return { - name: propertyName, - nullable: !isUndefined( - currentProperty - ) - ? currentProperty.nullable - : true - }; - }) - } - ); - }} - > - {property.name} - - -
- ))} -
- )} -
-
-
-
- {t('addition.common.primary-key-property')}: -
- {vertexTypeStore.selectedVertexType!.primary_keys.join(';')} -
-
-
- - {t('addition.vertex.vertex-display-content')}: - -
- {isEditVertex ? ( - - ) : ( -
- {vertexTypeStore.selectedVertexType?.style.display_fields - .map((field) => - formatVertexIdText( - field, - t('addition.function-parameter.vertex-id') - ) - ) - .join('-')} -
- )} -
- -
- {t('addition.edge.index-info')} -
-
-
- {t('addition.menu.type-index')}: -
- -
-
-
- {t('addition.common.property-index')}: -
-
- {(vertexTypeStore.selectedVertexType!.property_indexes - .length !== 0 || - vertexTypeStore.editedSelectedVertexType - .append_property_indexes.length !== 0) && ( -
- {t('addition.edge.index-name')} - {t('addition.edge.index-type')} - {t('addition.common.property')} -
- )} - {vertexTypeStore - .selectedVertexType!.property_indexes.filter( - (propertyIndex) => - isUndefined( - vertexTypeStore.editedSelectedVertexType.remove_property_indexes.find( - (removedPropertyName) => - removedPropertyName === propertyIndex.name - ) - ) - ) - .map(({ name, type, fields }, index) => { - return ( -
-
{name}
-
{propertyIndexTypeMappings[type]}
-
- - {fields - .map((field, index) => index + 1 + '.' + field) - .join(';')} - - - {isEditVertex && ( - -

- {t( - 'addition.message.property-del-confirm' - )} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const removedPropertyIndexes = cloneDeep( - vertexTypeStore - .editedSelectedVertexType - .remove_property_indexes - ); - - removedPropertyIndexes.push( - vertexTypeStore.selectedVertexType! - .property_indexes[index].name - ); - - vertexTypeStore.mutateEditedSelectedVertexType( - { - ...vertexTypeStore.editedSelectedVertexType, - remove_property_indexes: removedPropertyIndexes - } - ); - - setDeleteExistPopIndexInDrawer(null); - vertexTypeStore.validateEditVertexType( - true - ); - }} - > - {t('addition.common.confirm')} -
-
{ - setDeleteExistPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteExistPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> - )} -
-
- ); - })} - {vertexTypeStore.editedSelectedVertexType.append_property_indexes.map( - ({ name, type, fields }, index) => { - return ( -
-
- { - const propertyIndexEntities = cloneDeep( - vertexTypeStore.editedSelectedVertexType - .append_property_indexes - ); - - propertyIndexEntities[index].name = e.value; - - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: propertyIndexEntities - }); - }} - originInputProps={{ - onBlur() { - // check is ready to create - vertexTypeStore.validateEditVertexType(); - } - }} - /> -
-
- -
-
- - - -

- {t('addition.message.property-del-confirm')} -

-

- {t('addition.message.index-del-confirm')} -

-
-
{ - const appendPropertyIndexes = cloneDeep( - vertexTypeStore.editedSelectedVertexType! - .append_property_indexes - ); - - appendPropertyIndexes.splice(index, 1); - - vertexTypeStore.mutateEditedSelectedVertexType( - { - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: appendPropertyIndexes - } - ); - - setDeleteAddedPopIndexInDrawer(null); - vertexTypeStore.validateEditVertexType( - true - ); - }} - > - {t('addition.common.confirm')} -
-
{ - vertexTypeStore.resetEditedSelectedVertexType(); - setDeleteAddedPopIndexInDrawer(null); - }} - > - {t('addition.common.cancel')} -
-
-
- } - childrenProps={{ - src: CloseIcon, - alt: 'close', - style: { cursor: 'pointer' }, - onClick() { - setDeleteAddedPopIndexInDrawer(index); - } - }} - childrenWrapperElement="img" - /> -
-
- ); - } - )} - {isEditVertex && ( - { - if ( - vertexTypeStore.editedSelectedVertexType - .append_property_indexes.length === 0 || - vertexTypeStore.isEditReady - ) { - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - append_property_indexes: [ - ...vertexTypeStore.editedSelectedVertexType - .append_property_indexes, - { - name: '', - type: '', - fields: [] - } - ] - }); - - vertexTypeStore.validateEditVertexType(true); - } - }} - style={{ - cursor: 'pointer', - color: vertexTypeStore.isEditReady ? '#2b65ff' : '#999' - }} - > - {t('addition.edge.add-group')} - - )} -
- - - )} -
- - - ); -}); - -export interface VertexTypeListManipulation { - vertexName: string; - vertexIndex: number; - switchIsEditVertex: (flag: boolean) => void; -} - -const VertexTypeListManipulation: React.FC = observer( - ({ vertexName, vertexIndex, switchIsEditVertex }) => { - const { vertexTypeStore } = useContext(MetadataConfigsRootStore); - const [isPopDeleteModal, switchPopDeleteModal] = useState(false); - const [isDeleting, switchDeleting] = useState(false); - const { t } = useTranslation(); - const deleteWrapperRef = useRef(null); - const isDeleteOrBatchDeleting = - isDeleting || - (vertexTypeStore.requestStatus.deleteVertexType === 'pending' && - vertexTypeStore.selectedVertexTypeNames.includes(vertexName)); - - const handleOutSideClick = useCallback( - (e: MouseEvent) => { - if ( - isPopDeleteModal && - deleteWrapperRef && - deleteWrapperRef.current && - !deleteWrapperRef.current.contains(e.target as Element) - ) { - switchPopDeleteModal(false); - } - }, - [deleteWrapperRef, isPopDeleteModal] - ); - - useEffect(() => { - document.addEventListener('click', handleOutSideClick, false); - - return () => { - document.removeEventListener('click', handleOutSideClick, false); - }; - }, [handleOutSideClick]); - - return ( -
- { - vertexTypeStore.selectVertexType(vertexIndex); - vertexTypeStore.validateEditVertexType(true); - switchIsEditVertex(true); - - vertexTypeStore.mutateEditedSelectedVertexType({ - ...vertexTypeStore.editedSelectedVertexType, - style: { - color: vertexTypeStore.selectedVertexType!.style.color, - icon: null, - size: vertexTypeStore.selectedVertexType!.style.size, - display_fields: vertexTypeStore.selectedVertexType!.style - .display_fields - } - }); - }} - > - {t('addition.common.edit')} - -
- {isDeleteOrBatchDeleting && ( - - )} - - {vertexTypeStore.vertexTypeUsingStatus && - vertexTypeStore.vertexTypeUsingStatus[vertexName] ? ( -

- {t('addition.vertex.using-cannot-delete')} -

- ) : ( - <> -

- {t('addition.vertex.del-vertex-confirm')} -

-

{t('addition.vertex.del-vertex-confirm-again')}

-

{t('addition.message.long-time-notice')}

-
- - -
- - )} -
- } - childrenProps={{ - className: 'metadata-properties-manipulation', - title: isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del'), - async onClick() { - if (isDeleteOrBatchDeleting) { - return; - } - - await vertexTypeStore.checkIfUsing([vertexName]); - - if (vertexTypeStore.requestStatus.checkIfUsing === 'success') { - switchPopDeleteModal(true); - } - } - }} - > - {isDeleteOrBatchDeleting - ? t('addition.operate.del-ing') - : t('addition.common.del')} - -
- - ); - } -); - -const EmptyVertxTypeHints: React.FC = observer(() => { - const { vertexTypeStore } = useContext(MetadataConfigsRootStore); - const { t } = useTranslation(); - - return ( -
- Add new property -
- {t('addition.vertex.no-vertex-type-desc')} -
-
- - -
-
- ); -}); - -export default VertexTypeList; diff --git a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/index.ts b/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/index.ts deleted file mode 100644 index acd50f8f0..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/graph-management/metadata-configs/vertex-type/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import VertexTypeList from './VertexTypeList'; -import NewVertexType from './NewVertexType'; - -export { NewVertexType, VertexTypeList }; diff --git a/hugegraph-hubble/hubble-fe/src/components/hubble-ui/index.tsx b/hugegraph-hubble/hubble-fe/src/components/hubble-ui/index.tsx deleted file mode 100644 index f856514e6..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/hubble-ui/index.tsx +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -/* eslint-disable */ -import { - Transfer as TransferAntD, - Popover, - Pagination as PaginationAntD, - Steps as StepsAntD, - Progress as ProgressAntD, - Checkbox as CheckboxAntD, - Menu as MenuAntD, - Spin, - Breadcrumb as BreadcrumbAntD, - Calendar as CalendarAntD, - InputNumber, - Switch as SwitchAntd, - Table as TableAntD, - Radio as RadioAntD, - Tooltip as TooltipAntD, - Alert as AlertAntD, - Button as ButtonAntD, - Modal as ModalAntD, - Drawer as DrawerAntD, - Input as InputAntD, - message, - Select as SelectAntD, - Dropdown as DropdownAntd -} from 'antd'; -import * as React from 'react'; - -// In order to make the project run, let the components of antd replace baiduUI -// Special Note: All check boxes can be selected, but some check boxes cannot see -// the selection content, but it does not affect the submission. If you need to see -// the selection, you need to modify the value property of the corresponding Select -// component. There is no uniform modification here - -const changeSize = (props: any): any => { - let _size = props.size; - if (_size === 'medium') { - _size = 'middle'; - } - if (!_size) { - _size = 'small'; - } - return { - ...props, - size: _size - }; -}; - -export const Alert = (props: any) => { - return ; -}; - -export const Button = (props: any) => { - return {props.children}; -}; - -export const Modal = ModalAntD; - -export const Drawer = (props: any) => { - return {props.children}; -}; - -export const Input = (props: any) => { - let _blur = () => {}; - if (props.originInputProps && props.originInputProps.onBlur) { - _blur = props.originInputProps.onBlur; - } - // change e.value to eventTarget.currentTarget - const _props = { - ...props, - onChange: (e: any) => { - props.onChange({ - value: e.currentTarget.value - }); - } - }; - return ( -
- - {props.errorMessage ? ( -
- {props.errorMessage} -
- ) : ( - '' - )} -
- ); -}; -Input.Search = (props: any) => { - return ( - - ); -}; - -export const Message = { - info: (data: any) => { - message.info(data.content); - }, - success: (data: any) => { - message.success(data.content); - }, - error: (data: any) => { - message.error(data.content); - }, - warning: (data: any) => { - message.warning(data.content); - }, - loading: (data: any) => { - message.loading(data.content); - } -}; - -export const Select: any = (props: any) => { - return ( - - {props.children} - - ); -}; -Select.Option = SelectAntD.Option; -export const Tooltip: any = TooltipAntD; - -export const Dropdown: any = { - Button(props: any) { - let _overlay: any = []; - if (props.options) { - _overlay = ( - - {props.options.map((item: any) => ( - - {item.label} - - ))} - - ); - } - - return ( - {}) - }} - > - {props.title} - - ); - } -}; -export const Radio: any = RadioAntD; - -export const Table: any = (props: any) => { - let pagination = {}; - let pageChangerTag = false; - if (props.pagination) { - pagination = { - ...props.pagination, - onChange: (page: any, size: any) => { - if (pageChangerTag) { - return; - } - props.pagination.onPageNoChange({ - target: { - value: page - } - }); - }, - showQuickJumper: props.pagination.showPageJumper, - current: props.pagination.pageNo, - onShowSizeChange: (e: any, size: any) => { - pageChangerTag = true; - props.pagination.onPageSizeChange({ - target: { - value: size - } - }); - setTimeout(() => { - pageChangerTag = false; - }); - } - }; - } - let _handleChange: any = props.onChange || (() => {}); - // able to sort - if (!props.onChange && props.onSortClick) { - _handleChange = props.onSortClick; - } - return ( - - {props.children} - - ); -}; - -export const Switch: any = (props: any) => { - return ( - - ); -}; - -export const NumberBox: any = InputNumber; - -export const Calendar = (props: any) => { - props.onSelect = props.onSelectDay; - return ; -}; -export const Breadcrumb: any = BreadcrumbAntD; - -export const Loading: any = Spin; - -export const Menu: any = MenuAntD; - -export const Checkbox: any = CheckboxAntD; - -export const Progress: any = ProgressAntD; - -export const Steps: any = StepsAntD; - -export const Embedded: any = (props: any) => { - return ( - - {props.children} - - ); -}; -export const Pagination = (props: any) => { - return ( - - ); -}; - -export const PopLayer: any = (props: any) => { - return ( - {props.children} - ); -}; - -export const Transfer: any = (props: any) => { - const _treeName = props.treeName; - const dataSource = props.dataSource || []; - const allDataMap = props.allDataMap; - if (allDataMap) { - for (const key in allDataMap) { - dataSource.push(allDataMap[key]); - } - } - return ( - { - props.handleSelect(targetKeys); - }, - titles: [`可选${_treeName}`, `已选${_treeName}`], - render: (item) => `${item.title}` - }} - > - {props.children} - - ); -}; diff --git a/hugegraph-hubble/hubble-fe/src/components/hubble-ui/src/index.less b/hugegraph-hubble/hubble-fe/src/components/hubble-ui/src/index.less deleted file mode 100644 index a7e8f030e..000000000 --- a/hugegraph-hubble/hubble-fe/src/components/hubble-ui/src/index.less +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -@import '~antd/dist/antd.css'; -.new-fc-one-input-count-visible { - display: inline-block; -} - -.new-fc-one-input-count-error { - color: #e64552; -} - -.new-fc-one-input-all-container, -.new-fc-one-input-all-container .new-fc-one-input-detail { - display: inline-block; - position: relative; -} - -.new-fc-one-input-all-container-error .new-fc-one-input { - border: 1px solid #e64552; - background-color: #fff; - color: #333; -} - -.new-fc-one-input-all-container-error .new-fc-one-input:active, -.new-fc-one-input-all-container-error .new-fc-one-input:focus, -.new-fc-one-input-all-container-error .new-fc-one-input:hover { - outline: 0; - border-color: #e64552; -} - -.new-fc-one-input-all-container-error .new-fc-one-input:focus { - box-shadow: 0 0 0 2px rgba(230, 69, 82, 0.2); -} - -.new-fc-one-input-error { - color: #e64552; -} - -.new-fc-one-input-error-bottom { - margin-top: 8px; -} - -.new-fc-one-input-error-right { - display: inline-block; - margin-left: 8px; -} - -.new-fc-one-input-error-layer { - line-height: 100%; - z-index: 2; - box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); - background: #fff; - position: absolute; - left: 0; - display: inline-block; - padding: 16px; - color: #e64552; -} - -.new-fc-one-input-error-layer:before { - content: ''; - width: 0; - height: 0; - left: 16px; - border: 8px solid transparent; - border-bottom-color: #fff; - top: -12px; - position: absolute; -} - -.new-fc-one-input-group-addon > div { - border: 1px solid #e0e0e0 !important; -} - -.new-fc-one-input-group-addon-before > div { - border-right: 0 !important; -} - -.new-fc-one-input-group-addon-after > div { - border-left: 0 !important; -} - -.new-fc-one-input-group { - display: flex; -} - -.new-fc-one-input-group .new-fc-one-input { - border-radius: 0; -} diff --git a/hugegraph-hubble/hubble-fe/src/hooks/index.ts b/hugegraph-hubble/hubble-fe/src/hooks/index.ts deleted file mode 100644 index e0bc572e4..000000000 --- a/hugegraph-hubble/hubble-fe/src/hooks/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import useMultiKeyPress from './useMultiKeyPress'; -import useInitDataImport from './useInitDataImport'; -import useLocationWithConfirmation from './useLocationWithConfirmation'; - -export { useMultiKeyPress, useInitDataImport, useLocationWithConfirmation }; diff --git a/hugegraph-hubble/hubble-fe/src/hooks/useInitDataImport.tsx b/hugegraph-hubble/hubble-fe/src/hooks/useInitDataImport.tsx deleted file mode 100644 index 6140b40e1..000000000 --- a/hugegraph-hubble/hubble-fe/src/hooks/useInitDataImport.tsx +++ /dev/null @@ -1,237 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { useState, useEffect, useContext } from 'react'; -import { useRoute, useLocation } from 'wouter'; -import { isNull, isEmpty, isUndefined } from 'lodash-es'; - -import { - GraphManagementStoreContext, - ImportManagerStoreContext, - DataImportRootStoreContext -} from '../stores'; - -export default function useInitDataImport() { - const graphManagementStore = useContext(GraphManagementStoreContext); - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const { dataMapStore, serverDataImportStore } = dataImportRootStore; - const [initReady, setInitReady] = useState( - !isEmpty(importManagerStore.importJobList) - ); - const [, setLocation] = useLocation(); - - const [, params] = useRoute( - '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status' - ); - - useEffect(() => { - const init = async (params: Record) => { - const { id, jobId, status } = params!; - // sidebar data - graphManagementStore.fetchIdList(); - - // init importManagerStore - importManagerStore.setCurrentId(Number(id)); - // import job list - await importManagerStore.fetchImportJobList(); - importManagerStore.setSelectedJob(Number(jobId)); - - // init dataImportRootStore - dataImportRootStore.setCurrentId(Number(id)); - dataImportRootStore.setCurrentJobId(Number(jobId)); - - await dataMapStore.fetchDataMaps(); - - const job = importManagerStore.importJobList.find( - ({ id: _jobId }) => _jobId === Number(jobId) - ); - - if (isUndefined(job)) { - return; - } - - const defautlSelectedFileId = dataMapStore.fileMapInfos.filter( - ({ file_status }) => file_status === 'COMPLETED' - )[0]?.id; - - dataImportRootStore.setCurrentStatus(job.job_status); - - if (status === 'upload') { - if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { - } - - if (job.job_status === 'MAPPING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - - // setLocation( - // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` - // ); - } - - if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - serverDataImportStore.switchIrregularProcess(true); - - // setLocation( - // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` - // ); - } - - if (job.job_status === 'LOADING') { - dataMapStore.switchLock(true); - serverDataImportStore.switchImportConfigReadOnly(true); - - setLocation( - `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` - ); - } - - if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { - setLocation(`/graph-management/${id}/data-import/import-manager`); - importManagerStore.setSelectedJob(null); - } - } - - if (status === 'mapping') { - if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - - // setLocation( - // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` - // ); - } - - if (job.job_status === 'MAPPING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - } - - if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - serverDataImportStore.switchIrregularProcess(true); - - // setLocation( - // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` - // ); - } - - if (job.job_status === 'LOADING') { - dataMapStore.switchLock(true); - serverDataImportStore.switchImportConfigReadOnly(true); - setLocation( - `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` - ); - } - - if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { - setLocation(`/graph-management/${id}/data-import/import-manager`); - importManagerStore.setSelectedJob(null); - } - } - - if (status === 'loading') { - if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { - setLocation( - `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/upload` - ); - } - - if (job.job_status === 'MAPPING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - - setLocation( - `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` - ); - } - - if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { - dataMapStore.setSelectedFileId(defautlSelectedFileId); - dataMapStore.setSelectedFileInfo(); - dataMapStore.switchIrregularProcess(true); - - serverDataImportStore.syncImportConfigs( - dataMapStore.selectedFileInfo!.load_parameter - ); - serverDataImportStore.switchIrregularProcess(true); - } - - if (job.job_status === 'SETTING') { - dataMapStore.switchReadOnly(false); - } - - if (job.job_status === 'LOADING') { - dataMapStore.switchLock(true); - serverDataImportStore.switchImportConfigReadOnly(true); - } - - if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { - setLocation(`/graph-management/${id}/data-import/import-manager`); - importManagerStore.setSelectedJob(null); - } - } - - setInitReady(true); - }; - - // if importJobList is empty, users may refresh their page - // if fileMapInfos is empty, users may click back/forward button on browser - if ( - !isNull(params) && - (isEmpty(importManagerStore.importJobList) || - isNull(importManagerStore.selectedJob)) - ) { - init(params); - } - }, [ - params?.status, - importManagerStore.importJobList, - importManagerStore.selectedJob?.id - ]); - - return initReady; -} diff --git a/hugegraph-hubble/hubble-fe/src/hooks/useLocationWithConfirmation.tsx b/hugegraph-hubble/hubble-fe/src/hooks/useLocationWithConfirmation.tsx deleted file mode 100644 index 27eff539d..000000000 --- a/hugegraph-hubble/hubble-fe/src/hooks/useLocationWithConfirmation.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { useContext } from 'react'; -import useLocation from 'wouter/use-location'; -import { last } from 'lodash-es'; - -import i18next from '../i18n'; -import { - ImportManagerStoreContext, - DataImportRootStoreContext -} from '../stores'; - -export default function useLocationWithConfirmation() { - const importManagerStore = useContext(ImportManagerStoreContext); - const dataImportRootStore = useContext(DataImportRootStoreContext); - const [location, setLocation] = useLocation(); - const status = last(location.split('/')); - - return [ - location, - (newLocation: string) => { - let perfomNavigation = true; - const category = last(newLocation.split('/')); - - if ( - status === 'upload' && - category === 'import-manager' && - dataImportRootStore.fileUploadTasks.some( - ({ status }) => status === 'uploading' - ) - ) { - perfomNavigation = window.confirm( - i18next.t('server-data-import.hint.confirm-navigation') - ); - } - - if (perfomNavigation) { - if ( - ['upload', 'mapping', 'loading'].includes(String(status)) && - category === 'import-manager' - ) { - importManagerStore.setSelectedJob(null); - importManagerStore.fetchImportJobList(); - } - - setLocation(newLocation); - } - } - ]; -} diff --git a/hugegraph-hubble/hubble-fe/src/hooks/useMultiKeyPress.tsx b/hugegraph-hubble/hubble-fe/src/hooks/useMultiKeyPress.tsx deleted file mode 100644 index c206df56a..000000000 --- a/hugegraph-hubble/hubble-fe/src/hooks/useMultiKeyPress.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { useState, useEffect } from 'react'; - -export default function useMultiKeyPress() { - const [keysPressed, setKeyPressed] = useState>(new Set()); - - const keydownHandler = (e: KeyboardEvent) => { - // use e.key here may cause some unexpected behavior with shift key - setKeyPressed((prev) => new Set(prev.add(e.code))); - }; - - const keyupHandler = (e: KeyboardEvent) => { - // use e.key here may cause some unexpected behavior with shift key - if (navigator.platform.includes('Mac') && e.code.includes('Meta')) { - // weired, like above we need to mutate keysPressed first - keysPressed.clear(); - setKeyPressed(new Set()); - return; - } - - keysPressed.delete(e.code); - setKeyPressed(new Set(keysPressed)); - }; - - useEffect(() => { - window.addEventListener('keydown', keydownHandler); - window.addEventListener('keyup', keyupHandler); - - return () => { - window.removeEventListener('keydown', keydownHandler); - window.removeEventListener('keyup', keyupHandler); - }; - }, []); - - return keysPressed; -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/index.ts deleted file mode 100644 index 4ecdfc2d1..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import i18n from 'i18next'; -import { initReactI18next } from 'react-i18next'; - -import { zhCNResources, enUSResources } from './resources'; - -i18n.use(initReactI18next).init({ - lng: localStorage.getItem('languageType') || 'zh-CN', - fallbackLng: 'zh-CN', - - resources: { - 'zh-CN': zhCNResources, - 'en-US': enUSResources - }, - - interpolation: { - escapeValue: false // not needed for react as it escapes by default - } -}); - -export default i18n; diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/AsyncTasks.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/AsyncTasks.json deleted file mode 100644 index ce2848f4c..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/AsyncTasks.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "async-tasks": { - "title": "任务管理", - "placeholders": { - "search": "请输入任务ID或名称搜索" - }, - "table-column-title": { - "task-id": "任务ID", - "task-name": "任务名称", - "task-type": "任务类型", - "create-time": "创建时间", - "time-consuming": "耗时", - "status": "状态", - "manipulation": "操作" - }, - "table-filters": { - "task-type": { - "all": "全部", - "gremlin": "Gremlin任务", - "algorithm": "算法任务", - "remove-schema": "删除元数据", - "create-index": "创建索引", - "rebuild-index": "重建索引" - }, - "status": { - "all": "全部", - "scheduling": "调度中", - "scheduled": "排队中", - "queued": "排队中", - "running": "运行中", - "restoring": "恢复中", - "success": "成功", - "failed": "失败", - "cancelling": "已取消", - "cancelled": "已取消" - } - }, - "table-selection": { - "selected": "已选{{number}}项", - "delete-batch": "批量删除" - }, - "manipulations": { - "abort": "终止", - "aborting": "终止中", - "delete": "删除", - "check-result": "查看结果", - "check-reason": "查看原因" - }, - "hint": { - "delete-confirm": "删除确认", - "delete-description": "是否确认删除该任务?删除后无法恢复,请谨慎操作", - "delete-succeed": "删除成功", - "delete-batch-confirm": "批量删除", - "delete-batch-description": "确认删除以下任务?删除后无法恢复,请谨慎操作", - "delete": "删除", - "cancel": "取消", - "no-data": "暂无数据", - "empty": "您暂时还没有任何任务", - "select-disabled": "任务{{id}}无法被选中删除", - "check-details": "查看详情", - "creation-failed": "创建失败" - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json deleted file mode 100644 index d6b2f5455..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "data-import": "数据导入", - "import-task": "导入任务", - "map-templates": "映射模板" -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/addition.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/addition.json deleted file mode 100644 index d137ee317..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/addition.json +++ /dev/null @@ -1,348 +0,0 @@ -{ - "addition": { - "function-parameter": { - "edge-type": "边类型", - "vertex-id": "顶点ID" - }, - "store": { - "required": "必填项", - "item-is-required": "此项为必填项", - "no-match-input-requirements": "不符合输入要求", - "rule1": "请输入字母、数字或特殊字符", - "rule2": "请输入范围在 1-65535 的数字", - "rule3": "必须同时填写用户名和密码", - "rule4": "必须为中英文,数字和下划线", - "illegal-data-format": "非法的数据格式", - "incorrect-time-format": "时间格式不正确", - "cannot-be-empty": "此项不能为空", - "cannot-be-empty1": "该项不能为空", - "same-edge-name-notice": "存在同名边,请输入其它名称", - "same-vertex-name-notice": "存在同名顶点,请输入其它名称", - "same-property-name-notice": "存在同名属性,请输入其它名称", - "same-index-name-notice": "存在同名属性索引,请输入其它名称", - "network-error": "网络异常,请稍后重试" - }, - "constant": { - "primary-key-id": "主键ID", - "automatic-generation": "自动生成", - "custom-string": "自定义字符串", - "custom-number": "自定义数字", - "custom-uuid": "自定义UUID", - "greater-than": "大于", - "greater-than-or-equal": "大于等于", - "less-than": "小于", - "less-than-or-equal": "小于等于", - "equal": "等于" - }, - "menu": { - "chart": "图", - "table": "表格", - "task-id": "任务ID", - "list-mode": "列表模式", - "chart-mode": "图模式", - "secondary-index": "二级索引", - "range-index": "范围索引", - "full-text-index": "全文索引", - "type-index": "类型索引", - "base-info": "基础信息", - "select-reuse-item": "选择复用项", - "confirm-reuse-item": "确认复用项", - "complete-reuse": "完成复用" - }, - "vertex": { - "type-detail": "顶点类型详情", - "edit-type": "编辑顶点类型", - "using-cannot-delete": "当前顶点类型正在使用中,不可删除。", - "using-cannot-delete-confirm": "使用中顶点类型不可删除,确认删除以下未使用顶点类型?", - "del-vertex-confirm": "确认删除此顶点类型?", - "del-vertex-confirm-again": "确认删除此顶点类型?删除后无法恢复,请谨慎操作", - "vertex-type-name": "顶点类型名称", - "vertex-style": "顶点样式", - "vertex-display-content": "顶点展示内容", - "select-vertex-display-content-placeholder": "请选择顶点展示内容", - "create-vertex-type": "创建顶点类型", - "vertex-index": "顶点索引", - "corresponding-vertex-type": "对应顶点类型", - "no-vertex-type-desc": "您暂时还没有任何顶点类型,立即创建" - }, - "edge": { - "display-content": "边展示内容", - "display-content-select-desc": "请选择边展示内容", - "index-info": "索引信息", - "index-name": "索引名称", - "index-type": "索引类型", - "edge-index": "边索引", - "index-type-select-desc": "请选择索引类型", - "property-select-desc": "请选择属性", - "add-group": "新增一组", - "confirm-del-edge-type": "确认删除此边类型?", - "confirm-del-edge-type-again": "确认删除边类型?删除后无法恢复,请谨慎操作", - "confirm-del-edge-careful-notice": "删除后无法恢复,请谨慎操作", - "no-edge-desc": "您暂时还没有任何边类型,立即创建", - "create-edge": "创建边类型", - "multiplexing-existing-type": "复用已有类型", - "multiplexing-edge-type": "复用边类型", - "multiplexing-edge-type-notice": "边类型关联的属性和属性索引、起点类型和终点类型及其关联的属性和属性索引将一同复用", - "verification-result": "校验结果", - "be-verified": "待校验", - "verified-again": "重新校验" - }, - "message": { - "no-can-delete-vertex-type": "无可删除顶点类型", - "no-index-notice": "您暂时还没有任何索引", - "property-create-desc": "您暂时还没有任何属性,立即创建", - "del-unused-property-notice": "使用中属性不可删除,确认删除以下未使用属性?", - "please-enter-keywords": "请输入搜索关键字", - "no-property-can-delete": "无可删除属性", - "no-metadata-notice": "您暂时还没有任何元数据", - "no-vertex-or-edge-notice": "您还未设置顶点类型或边类型", - "no-adjacency-points": "不存在邻接点", - "no-more-points": "不存在更多邻接点", - "please-enter-number": "请输入数字", - "please-enter-string": "请输入字符串", - "please-enter": "请输入", - "no-chart-desc": "无图结果,请查看表格或Json数据", - "no-data-desc": "暂无数据结果", - "data-loading": "数据加载中", - "submit-async-task": "提交异步任务中", - "submit-success": "提交成功", - "submit-fail": "提交失败", - "task-submit-fail": "任务提交失败", - "fail-reason": "失败原因", - "fail-position": "失败位置", - "selected": "已选", - "edge-del-confirm": "确认删除以下边?", - "long-time-notice": "删除元数据耗时较久,详情可在任务管理中查看。", - "index-long-time-notice": "创建索引可能耗时较久,详情可在任务管理中查看", - "property-del-confirm": "确认删除此属性?", - "property-del-confirm-again": "确认删除此属性?删除后无法恢复,请谨慎操作", - "index-del-confirm": "删除索引后,无法根据此属性索引进行查询,请谨慎操作。", - "edge-name-rule": "允许出现中英文、数字、下划线", - "source-type-select-placeholder": "请选择起点类型", - "target-type-select-placeholder": "请选择终点类型", - "select-distinguishing-key-property-placeholder": "请选择区分键属性", - "select-association-key-property-placeholder": "请先选择关联属性", - "index-open-notice": "开启索引会影响使用性能,请按需开启", - "duplicate-name": "有重名", - "dependency-conflict": "依赖冲突", - "already-exist": "已存在", - "pass": "通过", - "select-reuse-graph-placeholder": "请选择要复用的图", - "reuse-complete": "复用完成", - "vertex-type-reuse-success": "已成功复用顶点类型", - "property-using-cannot-delete": "当前属性数据正在使用中,不可删除。", - "reuse-property-success": "已成功复用属性", - "reuse-vertex-type-notice": "顶点类型关联的属性和属性索引将一同复用", - "illegal-vertex": "该顶点是非法顶点,可能是由悬空边导致" - }, - "operate": { - "reuse-vertex-type": "复用顶点类型", - "reuse-existing-property": "复用已有属性", - "reuse-property": "复用属性", - "create-property": "创建属性", - "continue-reuse": "继续复用", - "back-to-view": "返回查看", - "complete": "完成", - "next-step": "下一步", - "previous-step": "上一步", - "rename": "重命名", - "del-ing": "删除中", - "view-task-management": "去任务管理查看", - "batch-del": "批量删除", - "multiplexing": "复用", - "de-multiplexing": "取消复用", - "open": "开", - "close": "关", - "look": "查看", - "view-property": "查看属性", - "filter": "筛选", - "add-filter-item": "添加属性筛选", - "enlarge": "放大", - "narrow": "缩小", - "center": "居中", - "download": "下载", - "exit-full-screen": "退出全屏", - "full-screen": "全屏", - "load-background": "加载背景", - "load-spinner": "加载 spinner", - "rendering": "正在渲染", - "detail": "详情", - "favorite": "收藏", - "favorite-success": "收藏成功", - "load-statement": "加载语句", - "time": "时间", - "name": "名称", - "favorite-statement": "收藏语句", - "favorite-desc": "请输入收藏名称", - "operate": "操作", - "query": "查询", - "hidden": "隐藏", - "modify-name": "修改名称", - "execution-record": "执行记录", - "favorite-queries": "收藏的查询", - "favorite-search-desc": "搜索收藏名称或语句", - "expand-collapse": "展开/收起", - "expand": "展开", - "collapse": "收起", - "favorite-del-desc": "是否确认删除该条收藏语句?", - "input-query-statement": "请输入查询语句", - "query-statement-required": "查询语句不能为空", - "execute-query": "执行查询", - "execute-task": "执行任务", - "execute-ing": "执行中", - "clean": "清空", - "modify-success": "修改成功", - "query-result-desc": "查询模式适合30秒内可返回结果的小规模分析;任务模式适合较长时间返回结果的大规模分析,任务详情可在任务管理中查看" - }, - "common": { - "in-use": "使用中", - "not-used": "未使用", - "status": "状态", - "no-result": "无结果", - "cardinal-number": "基数", - "allow-null": "允许为空", - "allow-multiple-connections": "允许多次连接", - "multiple-connections-notice": "开启后两顶点间允许存在多条该类型的边", - "term": "项", - "in-edge": "入边", - "add-in-edge": "添加入边", - "out-edge": "出边", - "add-out-edge": "添加出边", - "add": "添加", - "value": "值", - "null-value": "空值", - "id-strategy": "ID策略", - "id-value": "ID值", - "id-input-desc": "请输入ID值", - "please-input": "请输入", - "add-success": "添加成功", - "add-fail": "添加失败", - "vertex-type": "顶点类型", - "selected-vertex-type": "已选顶点类型", - "vertex-id": "顶点ID", - "vertex-name": "顶点名称", - "illegal-vertex-desc": "该顶点是非法顶点,可能是由悬空边导致", - "add-vertex": "添加顶点", - "vertex-type-select-desc": "请选择顶点类型", - "edge-type": "边类型", - "selected-edge-type": "已选边类型", - "edge-style": "边样式", - "modify-edge-type": "编辑边类型", - "edge-type-detail": "边类型详情", - "edge-type-name": "边类型名称", - "edge-direction": "边方向", - "edge-type-select-desc": "请选择边类型", - "edge-id": "边ID", - "edge-name": "边名称", - "source": "起点", - "source-type": "起点类型", - "target": "终点", - "target-type": "终点类型", - "rule": "规则", - "property": "属性", - "selected-property": "已选属性", - "property-name": "属性名称", - "add-property": "添加属性", - "association-property": "关联属性", - "association-property-and-type": "关联属性及类型", - "property-index": "属性索引", - "selected-property-index": "已选属性索引", - "property-index-name": "属性索引名称", - "property-value": "属性值", - "required-property": "不可空属性", - "nullable-property": "可空属性", - "primary-key": "主键", - "primary-key-property": "主键属性", - "select-primary-key-property-placeholder": "请选择主键属性", - "distinguishing-key": "区分键", - "distinguishing-key-property": "区分键属性", - "property-input-desc": "请输入属性值", - "del-comfirm": "确认删除", - "ask": "吗?", - "confirm": "确认", - "del-success": "删除成功", - "save-scuccess": "保存成功", - "save-fail": "保存失败", - "save": "保存", - "cancel": "取消", - "more": "更多", - "edit": "编辑", - "del": "删除", - "fold": "折叠", - "open": "展开", - "close": "关闭", - "required": "必填项", - "format-error-desc": "必须以字母开头,允许出现英文、数字、下划线", - "no-matching-results": "无匹配结果", - "no-data": "暂无数据", - "data-type": "数据类型", - "corresponding-type": "对应类型" - }, - "appbar": { - "graph-manager": "图管理" - }, - "graphManagementHeader": { - "graph-manager": "图管理", - "community": "社区版", - "business": "商业版", - "limit-desc": "支持图上限", - "limit-desc1": "图磁盘上限", - "individual": "个", - "input-placeholder": "搜索图名称或ID", - "graph-create": "创建图" - }, - "graphManagementList": { - "save-scuccess": "保存成功", - "graph-del": "删除图", - "graph-del-comfirm-msg": "删除后该图所有配置均不可恢复", - "graph-edit": "编辑图", - "id": "图ID", - "id-desc": "为创建的图设置唯一标识的ID", - "name": "图名称", - "name-desc": "填写需要连接的图的名称", - "host": "主机名", - "port": "端口号", - "port-desc": "请输入端口号", - "username": "用户名", - "password": "密码", - "creation-time": "创建时间", - "visit": "访问" - }, - "graphManagementEmptyList": { - "graph-create": "创建图", - "graph-create-desc": "您暂时还没有任何图,立即创建", - "no-matching-results": "无匹配结果" - }, - "newGraphConfig": { - "graph-create": "创建图", - "create": "创建", - "create-scuccess": "创建成功", - "id": "图ID", - "id-desc": "为创建的图设置唯一标识的ID", - "name": "图名称", - "name-desc": "填写需要连接的图的名称", - "host": "主机名", - "host-desc": "请输入主机名", - "port": "端口号", - "port-desc": "请输入端口号", - "username": "用户名", - "password": "密码", - "not-required-desc": "未设置则无需填写" - }, - "graphManagementSidebar": { - "data-analysis": "数据分析", - "graph-select": "选择图", - "metadata-config": "元数据配置", - "data-import": "数据导入", - "task-management": "任务管理" - }, - "dataAnalyze": { - "cannot-access": "无法访问", - "return-home": "返回首页" - }, - "dataAnalyzeInfoDrawer": { - "edit-details": "编辑详情", - "data-details": "数据详情" - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/common.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/common.json deleted file mode 100644 index 98d821703..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/common.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "common": { - "loading-data": "数据加载中" - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json deleted file mode 100644 index da8577c09..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "breadcrumb": { - "first": "导入任务", - "second": "任务详情" - }, - "import-manager": { - "hint": { - "empty-task": "您暂时还没有任何任务,立即创建", - "no-result": "无结果", - "creation-succeed": "创建成功", - "update-succeed": "编辑成功" - }, - "manipulation": { - "create": "创建" - }, - "placeholder": { - "input-job-name": "请输入任务名称搜索", - "input-valid-job-name": "允许出现中英文、数字、下划线", - "input-job-description": "请输入任务备注" - }, - "list-column-title": { - "job-name": "任务名称", - "size": "大小", - "create-time": "创建时间", - "status": "状态", - "time-consuming": "任务耗时", - "manipulation": "操作" - }, - "list-column-status": { - "DEFAULT": "未开始", - "UPLOADING": "未开始", - "MAPPING": "设置中", - "SETTING": "导入中", - "LOADING": "导入中", - "FAILED": "失败", - "SUCCESS": "成功" - }, - "list-column-manipulations": { - "start": "开始任务", - "resume-setting": "继续设置", - "resume-importing": "继续导入", - "check-error-log": "查看原因", - "delete": "删除" - }, - "modal": { - "create-job": { - "title": "创建导入任务", - "job-name": "任务名称:", - "job-description": "任务备注:" - }, - "delete-job": { - "title": "删除任务", - "hint": "确认删除任务{{name}}吗?", - "sub-hint": "删除后该任务不可恢复" - }, - "manipulations": { - "create": "创建", - "delete": "删除", - "cancel": "取消" - } - }, - "validator": { - "no-empty": "此项为必填项", - "over-limit-size": "已超出字数限制", - "invalid-format": "请输入中英文、数字、下划线" - } - }, - "import-job-details": { - "tabs": { - "basic-settings": "基础设置", - "uploaded-files": "上传文件", - "data-maps": "映射文件", - "import-details": "导入详情" - }, - "basic": { - "job-name": "任务名称:", - "job-description": "任务备注:", - "modal": { - "edit-job": { - "title": "编辑导入任务", - "job-name": "任务名称:", - "job-description": "任务备注:" - }, - "manipulations": { - "save": "保存", - "cancel": "取消" - } - } - }, - "manipulations": { - "edit": "编辑", - "resume-task": "继续任务" - } - }, - "step": { - "first": "上传文件", - "second": "设置数据映射", - "third": "导入数据", - "fourth": "完成" - }, - "upload-files": { - "click": "点击", - "description": "点击或将文件拖拽到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", - "drag": "拖拽", - "description-1": "或将文件", - "description-2": "到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", - "cancel": "取消上传", - "next": "下一步", - "wrong-format": "仅支持 csv 格式文件", - "over-single-size-limit": "容量已超过 1 GB", - "over-all-size-limit": "总容量已超过 10 GB", - "empty-file": "文件为空,请重新上传", - "no-duplicate": "下列上传的文件已存在:" - }, - "data-configs": { - "file": { - "title": "文件设置", - "include-header": "包含表头", - "delimiter": { - "title": "分隔符", - "comma": "逗号", - "semicolon": "分号", - "tab": "制表符", - "space": "空格", - "custom": "自定义" - }, - "code-type": { - "title": "编码格式", - "UTF-8": "UTF-8", - "GBK": "GBK", - "ISO-8859-1": "ISO-8859-1", - "US-ASCII": "US-ASCII", - "custom": "自定义" - }, - "date-type": { - "title": "日期格式", - "custom": "自定义" - }, - "skipped-line": "跳过行", - "timezone": "时区", - "save": "保存", - "placeholder": { - "input-delimiter": "请输入分隔符", - "input-charset": "请输入编码格式", - "input-date-format": "请输入日期格式" - }, - "hint": { - "save-succeed": "已保存文件设置" - } - }, - "type": { - "title": "类型设置", - "basic-settings": "基础设置", - "manipulation": { - "create": "创建", - "save": "保存", - "cancel": "取消", - "create-vertex": "创建顶点映射", - "create-edge": "创建边映射" - }, - "info": { - "type": "类型", - "name": "名称", - "ID-strategy": "ID策略", - "edit": "编辑", - "delete": "删除" - }, - "ID-strategy": { - "PRIMARY_KEY": "主键ID", - "AUTOMATIC": "自动生成", - "CUSTOMIZE_STRING": "自定义字符串", - "CUSTOMIZE_NUMBER": "自定义数字", - "CUSTOMIZE_UUID": "自定义UUID" - }, - "vertex": { - "title": "创建顶点映射", - "type": "顶点类型", - "ID-strategy": "ID策略", - "ID-column": "ID列", - "map-settings": "映射设置", - "add-map": { - "title": "添加映射", - "name": "列名", - "sample": "数据样例", - "property": "映射属性", - "clear": "清空" - }, - "select-all": "全选", - "advance": { - "title": "高级设置", - "nullable-list": { - "title": "空值列表", - "empty": "空值", - "custom": "自定义" - }, - "map-property-value": { - "title": "属性值映射", - "add-value": "添加属性值映射", - "fields": { - "property": "属性", - "value-map": "值映射", - "add-value-map": "添加值映射" - } - }, - "placeholder": { - "input": "请选择", - "input-property": "请选择输入属性", - "input-file-value": "请输入文件值", - "input-graph-value": "请输入图导入值" - } - } - }, - "edge": { - "title": "创建边映射", - "type": "边类型", - "source-ID-strategy": "起点ID策略", - "target-ID-strategy": "终点ID策略", - "ID-column": "ID列", - "map-settings": "映射设置", - "add-map": { - "title": "添加映射", - "name": "列名", - "sample": "数据样例", - "property": "映射属性", - "clear": "清空" - }, - "select-all": "全选", - "advance": { - "title": "高级设置", - "nullable-list": { - "title": "空值列表", - "empty": "空值", - "custom": "自定义" - }, - "map-property-value": { - "title": "属性值映射", - "add-value": "添加 属性值映射", - "fields": { - "property": "属性", - "value-map": "值映射", - "add-value-map": "添加值映射" - } - }, - "placeholder": { - "input": "请选择映射属性", - "input-property": "请选择输入属性", - "input-file-value": "请输入文件值", - "input-graph-value": "请输入图导入值" - } - } - }, - "hint": { - "lack-support-for-automatic": "自动生成的ID策略不支持可视化导入,请调用API实现", - "no-vertex-or-edge-mapping": "如下文件未设置顶点类型或边类型映射:" - }, - "placeholder": { - "select-vertex-type": "请选择顶点类型", - "select-edge-type": "请选择边类型", - "select-id-column": "请选择 ID 列" - } - }, - "manipulations": { - "previous": "上一步", - "next": "下一步", - "add": "添加", - "edit": "编辑", - "delete": "删除", - "cancel": "取消", - "hints": { - "delete-confirm": "确认删除?", - "warning": "删除后无法恢复,请谨慎操作" - } - }, - "validator": { - "no-empty": "该项不能为空" - } - }, - "server-data-import": { - "import-settings": { - "title": "导入设置", - "checkIfExist": "检查边连接的顶点是否存在", - "requestTimesWhenInterpolationFailed": "插入失败重试次数", - "maximumAnalyzedErrorRow": "允许最大解析错误行数", - "requestTicksWhenInterpolationFailed": "插入失败重试间隔/s", - "maxiumInterpolateErrorRow": "允许最大插入错误行数", - "InterpolationTimeout": "插入超时时间/s" - }, - "import-details": { - "title": "导入详情", - "column-titles": { - "file-name": "文件名称", - "type": "类型", - "import-speed": "导入速度", - "import-progress": "导入进度", - "status": "状态", - "time-consumed": "耗时", - "manipulations": "操作" - }, - "content": { - "vertex": "顶点", - "edge": "边" - }, - "status": { - "RUNNING": "运行中", - "SUCCEED": "成功", - "FAILED": "失败", - "PAUSED": "已暂停", - "STOPPED": "已终止" - }, - "manipulations": { - "pause": "暂停", - "resume": "继续", - "retry": "重试", - "abort": "终止", - "failed-cause": "查看原因" - } - }, - "hint": { - "check-vertex": "开启检查会影响导入性能,请按需开启", - "no-data": "正在请求导入", - "confirm-navigation": "确认跳转到任务列表?正在上传的文件可能会丢失" - }, - "validator": { - "no-empty": "该项不能为空", - "need-integer-with-negative": "请输入-1或大于0的整数", - "need-integer": "请输入大于0的整数" - }, - "manipulations": { - "previous": "上一步", - "start": "开始导入", - "cancel": "取消导入", - "finished": "完成" - } - }, - "data-import-status": { - "finished": "导入完成", - "success": "已成功导入 {{number}} 个文件", - "pause": "{{number}} 个文件暂停", - "abort": "{{number}} 个文件终止", - "move-to-import-manager": "返回导入任务列表" - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/dataAnalyze.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/dataAnalyze.json deleted file mode 100644 index 87afb8a40..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/dataAnalyze.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "data-analyze": { - "category": { - "gremlin-analyze": "Gremlin 分析", - "algorithm-analyze": "算法分析" - }, - "manipulations": { - "execution": "执行", - "favorite": "收藏", - "reset": "重置" - }, - "algorithm-list": { - "title": "算法目录", - "loop-detection": "环路检测", - "focus-detection": "交点检测", - "shortest-path": "最短路径", - "shortest-path-all": "全最短路径", - "all-path": "全部路径", - "neighbor-rank-recommendation": "Neighbor Rank推荐算法", - "model-similarity": "模型相似度算法", - "real-time-recommendation": "实时推荐", - "k-step-neighbor": "k步邻居", - "k-hop": "k跳算法", - "custom-path": "自定义路径", - "custom-intersection-detection": "自定义交点检测", - "radiographic-inspection": "射线检测", - "common-neighbor": "共同邻居", - "weighted-shortest-path": "带权最短路径", - "single-source-weighted-path": "单源带权路径", - "jaccard-similarity": "Jaccard相似度", - "personal-rank-recommendation": "Personal Rank推荐算法" - }, - "algorithm-forms": { - "loop-detection": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "source_in_ring": "环路包含起点:", - "limit": "返回可达路径最大值:", - "capacity": "访问顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "focus-detection": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "limit": "访问顶点最大值:", - "capacity": "返回交点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "shortest-path": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "maxDepth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "maxDegree": "最大度数:", - "skip_degree": "超级顶点度数:", - "skipDegree": "超级顶点度数:", - "capacity": "访问顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "shortest-path-all": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "skip_degree": "超级顶点度数:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "all-path": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "limit": "返回路径最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "model-similarity": { - "options": { - "method": "起点选择方式:", - "source": "起点ID:", - "vertex-type": "顶点类型", - "vertex-property": "顶点属性", - "direction": "方向:", - "least_neighbor": "最少邻居数:", - "similarity": "相似度:", - "label": "边类型:", - "max_similar": "相似度最高个数:", - "least_similar": "梭形相似点最小个数:", - "property_filter": "属性过滤:", - "least_property_number": "最小属性值个数:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "skip_degree": "返回顶点最大值:", - "limit": "返回结果最大值:", - "return_common_connection": "返回共同关联点:", - "return_complete_info": "返回顶点完整信息:" - }, - "radio-value": { - "specific-id": "指定ID", - "filtered-type-property": "筛选类型属性" - }, - "placeholder": { - "input-source-id": "请输入起点ID", - "input-vertex-type": "请选择顶点类型", - "input-vertex-property": "请选择顶点属性", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "input-integer-gt-1": "请填写大于1的整数", - "input-filtered-property": "请选择需要过滤的属性", - "no-properties": "无属性", - "no-vertex-type": "无顶点类型" - }, - "hint": { - "least_property_number": "属性过滤和最小属性值个数需一起使用;设置后效果为:当起点跟其所有的梭形相似点某个属性的值大于等于最小属性值个数时,才会返回该起点及其梭形相似点", - "least_neighbor": "邻居数少于当前设定值,则认为起点没有梭形相似点", - "similarity": "起点与\"梭形相似点\"的共同邻居数目占起点的全部邻居数目的比例", - "max_similar": "返回起点的梭形相似点中相似度最高的top个数,0表示全部", - "return_common_connection": "是否返回起点及其\"梭形相似点\"共同关联的中间点" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "integer-only": "请填写大于等于0的整数", - "positive-integer-only": "请填写大于0的整数", - "integer-gt-1": "请填写大于1的整数" - }, - "pre-value": "全部" - }, - "neighbor-rank": { - "options": { - "source": "起点ID:", - "alpha": "Alpha", - "direction": "方向:", - "capacity": "访问顶点最大值:", - "label": "边类型:", - "degree": "最大度数:", - "top": "每层保留权重Top N:" - }, - "placeholder": { - "input-source-id": "请输入起点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "range": "范围(0-1]" - }, - "hint": { - "top": "在结果中每一层只保留权重最高的N个结果" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "range": "请填写大于0且小于等于1的数值", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数", - "input-chars": "规则不能其它重复" - }, - "pre-value": "全部", - "add-new-rule": "添加规则" - } - }, - "exec-logs": { - "table-title": { - "time": "时间", - "type": "执行类型", - "content": "执行内容", - "status": "状态", - "duration": "耗时", - "manipulation": "操作" - }, - "type": { - "GREMLIN": "GREMLIN 查询", - "GREMLIN_ASYNC": "GREMLIN 任务", - "ALGORITHM": "算法查询" - }, - "status": { - "success": "成功", - "async-success": "提交成功", - "running": "运行中", - "failed": "失败", - "async-failed": "提交失败" - } - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/index.ts deleted file mode 100644 index b3e03211e..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/graph-managment/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import CommonResources from './common.json'; -import GraphManagementSideBarResources from './GraphManagementSidebar.json'; -import DataAnalyzeResources from './dataAnalyze.json'; -import DataImportResources from './data-import/import-tasks/ImportTasks.json'; -import AsyncTasksResources from './AsyncTasks.json'; -import Addition from './addition.json'; - -export { - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition -}; diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.ts deleted file mode 100644 index 4a369f54e..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/en-US/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { merge } from 'lodash-es'; -import { - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition -} from './graph-managment'; - -const translation = { - translation: merge( - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition - ) -}; - -export default translation; diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/resources/index.ts deleted file mode 100644 index bad374766..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import zhCNResources from './zh-CN'; -import enUSResources from './en-US'; - -export { zhCNResources, enUSResources }; diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json deleted file mode 100644 index ce2848f4c..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "async-tasks": { - "title": "任务管理", - "placeholders": { - "search": "请输入任务ID或名称搜索" - }, - "table-column-title": { - "task-id": "任务ID", - "task-name": "任务名称", - "task-type": "任务类型", - "create-time": "创建时间", - "time-consuming": "耗时", - "status": "状态", - "manipulation": "操作" - }, - "table-filters": { - "task-type": { - "all": "全部", - "gremlin": "Gremlin任务", - "algorithm": "算法任务", - "remove-schema": "删除元数据", - "create-index": "创建索引", - "rebuild-index": "重建索引" - }, - "status": { - "all": "全部", - "scheduling": "调度中", - "scheduled": "排队中", - "queued": "排队中", - "running": "运行中", - "restoring": "恢复中", - "success": "成功", - "failed": "失败", - "cancelling": "已取消", - "cancelled": "已取消" - } - }, - "table-selection": { - "selected": "已选{{number}}项", - "delete-batch": "批量删除" - }, - "manipulations": { - "abort": "终止", - "aborting": "终止中", - "delete": "删除", - "check-result": "查看结果", - "check-reason": "查看原因" - }, - "hint": { - "delete-confirm": "删除确认", - "delete-description": "是否确认删除该任务?删除后无法恢复,请谨慎操作", - "delete-succeed": "删除成功", - "delete-batch-confirm": "批量删除", - "delete-batch-description": "确认删除以下任务?删除后无法恢复,请谨慎操作", - "delete": "删除", - "cancel": "取消", - "no-data": "暂无数据", - "empty": "您暂时还没有任何任务", - "select-disabled": "任务{{id}}无法被选中删除", - "check-details": "查看详情", - "creation-failed": "创建失败" - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json deleted file mode 100644 index d6b2f5455..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "data-import": "数据导入", - "import-task": "导入任务", - "map-templates": "映射模板" -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/addition.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/addition.json deleted file mode 100644 index d137ee317..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/addition.json +++ /dev/null @@ -1,348 +0,0 @@ -{ - "addition": { - "function-parameter": { - "edge-type": "边类型", - "vertex-id": "顶点ID" - }, - "store": { - "required": "必填项", - "item-is-required": "此项为必填项", - "no-match-input-requirements": "不符合输入要求", - "rule1": "请输入字母、数字或特殊字符", - "rule2": "请输入范围在 1-65535 的数字", - "rule3": "必须同时填写用户名和密码", - "rule4": "必须为中英文,数字和下划线", - "illegal-data-format": "非法的数据格式", - "incorrect-time-format": "时间格式不正确", - "cannot-be-empty": "此项不能为空", - "cannot-be-empty1": "该项不能为空", - "same-edge-name-notice": "存在同名边,请输入其它名称", - "same-vertex-name-notice": "存在同名顶点,请输入其它名称", - "same-property-name-notice": "存在同名属性,请输入其它名称", - "same-index-name-notice": "存在同名属性索引,请输入其它名称", - "network-error": "网络异常,请稍后重试" - }, - "constant": { - "primary-key-id": "主键ID", - "automatic-generation": "自动生成", - "custom-string": "自定义字符串", - "custom-number": "自定义数字", - "custom-uuid": "自定义UUID", - "greater-than": "大于", - "greater-than-or-equal": "大于等于", - "less-than": "小于", - "less-than-or-equal": "小于等于", - "equal": "等于" - }, - "menu": { - "chart": "图", - "table": "表格", - "task-id": "任务ID", - "list-mode": "列表模式", - "chart-mode": "图模式", - "secondary-index": "二级索引", - "range-index": "范围索引", - "full-text-index": "全文索引", - "type-index": "类型索引", - "base-info": "基础信息", - "select-reuse-item": "选择复用项", - "confirm-reuse-item": "确认复用项", - "complete-reuse": "完成复用" - }, - "vertex": { - "type-detail": "顶点类型详情", - "edit-type": "编辑顶点类型", - "using-cannot-delete": "当前顶点类型正在使用中,不可删除。", - "using-cannot-delete-confirm": "使用中顶点类型不可删除,确认删除以下未使用顶点类型?", - "del-vertex-confirm": "确认删除此顶点类型?", - "del-vertex-confirm-again": "确认删除此顶点类型?删除后无法恢复,请谨慎操作", - "vertex-type-name": "顶点类型名称", - "vertex-style": "顶点样式", - "vertex-display-content": "顶点展示内容", - "select-vertex-display-content-placeholder": "请选择顶点展示内容", - "create-vertex-type": "创建顶点类型", - "vertex-index": "顶点索引", - "corresponding-vertex-type": "对应顶点类型", - "no-vertex-type-desc": "您暂时还没有任何顶点类型,立即创建" - }, - "edge": { - "display-content": "边展示内容", - "display-content-select-desc": "请选择边展示内容", - "index-info": "索引信息", - "index-name": "索引名称", - "index-type": "索引类型", - "edge-index": "边索引", - "index-type-select-desc": "请选择索引类型", - "property-select-desc": "请选择属性", - "add-group": "新增一组", - "confirm-del-edge-type": "确认删除此边类型?", - "confirm-del-edge-type-again": "确认删除边类型?删除后无法恢复,请谨慎操作", - "confirm-del-edge-careful-notice": "删除后无法恢复,请谨慎操作", - "no-edge-desc": "您暂时还没有任何边类型,立即创建", - "create-edge": "创建边类型", - "multiplexing-existing-type": "复用已有类型", - "multiplexing-edge-type": "复用边类型", - "multiplexing-edge-type-notice": "边类型关联的属性和属性索引、起点类型和终点类型及其关联的属性和属性索引将一同复用", - "verification-result": "校验结果", - "be-verified": "待校验", - "verified-again": "重新校验" - }, - "message": { - "no-can-delete-vertex-type": "无可删除顶点类型", - "no-index-notice": "您暂时还没有任何索引", - "property-create-desc": "您暂时还没有任何属性,立即创建", - "del-unused-property-notice": "使用中属性不可删除,确认删除以下未使用属性?", - "please-enter-keywords": "请输入搜索关键字", - "no-property-can-delete": "无可删除属性", - "no-metadata-notice": "您暂时还没有任何元数据", - "no-vertex-or-edge-notice": "您还未设置顶点类型或边类型", - "no-adjacency-points": "不存在邻接点", - "no-more-points": "不存在更多邻接点", - "please-enter-number": "请输入数字", - "please-enter-string": "请输入字符串", - "please-enter": "请输入", - "no-chart-desc": "无图结果,请查看表格或Json数据", - "no-data-desc": "暂无数据结果", - "data-loading": "数据加载中", - "submit-async-task": "提交异步任务中", - "submit-success": "提交成功", - "submit-fail": "提交失败", - "task-submit-fail": "任务提交失败", - "fail-reason": "失败原因", - "fail-position": "失败位置", - "selected": "已选", - "edge-del-confirm": "确认删除以下边?", - "long-time-notice": "删除元数据耗时较久,详情可在任务管理中查看。", - "index-long-time-notice": "创建索引可能耗时较久,详情可在任务管理中查看", - "property-del-confirm": "确认删除此属性?", - "property-del-confirm-again": "确认删除此属性?删除后无法恢复,请谨慎操作", - "index-del-confirm": "删除索引后,无法根据此属性索引进行查询,请谨慎操作。", - "edge-name-rule": "允许出现中英文、数字、下划线", - "source-type-select-placeholder": "请选择起点类型", - "target-type-select-placeholder": "请选择终点类型", - "select-distinguishing-key-property-placeholder": "请选择区分键属性", - "select-association-key-property-placeholder": "请先选择关联属性", - "index-open-notice": "开启索引会影响使用性能,请按需开启", - "duplicate-name": "有重名", - "dependency-conflict": "依赖冲突", - "already-exist": "已存在", - "pass": "通过", - "select-reuse-graph-placeholder": "请选择要复用的图", - "reuse-complete": "复用完成", - "vertex-type-reuse-success": "已成功复用顶点类型", - "property-using-cannot-delete": "当前属性数据正在使用中,不可删除。", - "reuse-property-success": "已成功复用属性", - "reuse-vertex-type-notice": "顶点类型关联的属性和属性索引将一同复用", - "illegal-vertex": "该顶点是非法顶点,可能是由悬空边导致" - }, - "operate": { - "reuse-vertex-type": "复用顶点类型", - "reuse-existing-property": "复用已有属性", - "reuse-property": "复用属性", - "create-property": "创建属性", - "continue-reuse": "继续复用", - "back-to-view": "返回查看", - "complete": "完成", - "next-step": "下一步", - "previous-step": "上一步", - "rename": "重命名", - "del-ing": "删除中", - "view-task-management": "去任务管理查看", - "batch-del": "批量删除", - "multiplexing": "复用", - "de-multiplexing": "取消复用", - "open": "开", - "close": "关", - "look": "查看", - "view-property": "查看属性", - "filter": "筛选", - "add-filter-item": "添加属性筛选", - "enlarge": "放大", - "narrow": "缩小", - "center": "居中", - "download": "下载", - "exit-full-screen": "退出全屏", - "full-screen": "全屏", - "load-background": "加载背景", - "load-spinner": "加载 spinner", - "rendering": "正在渲染", - "detail": "详情", - "favorite": "收藏", - "favorite-success": "收藏成功", - "load-statement": "加载语句", - "time": "时间", - "name": "名称", - "favorite-statement": "收藏语句", - "favorite-desc": "请输入收藏名称", - "operate": "操作", - "query": "查询", - "hidden": "隐藏", - "modify-name": "修改名称", - "execution-record": "执行记录", - "favorite-queries": "收藏的查询", - "favorite-search-desc": "搜索收藏名称或语句", - "expand-collapse": "展开/收起", - "expand": "展开", - "collapse": "收起", - "favorite-del-desc": "是否确认删除该条收藏语句?", - "input-query-statement": "请输入查询语句", - "query-statement-required": "查询语句不能为空", - "execute-query": "执行查询", - "execute-task": "执行任务", - "execute-ing": "执行中", - "clean": "清空", - "modify-success": "修改成功", - "query-result-desc": "查询模式适合30秒内可返回结果的小规模分析;任务模式适合较长时间返回结果的大规模分析,任务详情可在任务管理中查看" - }, - "common": { - "in-use": "使用中", - "not-used": "未使用", - "status": "状态", - "no-result": "无结果", - "cardinal-number": "基数", - "allow-null": "允许为空", - "allow-multiple-connections": "允许多次连接", - "multiple-connections-notice": "开启后两顶点间允许存在多条该类型的边", - "term": "项", - "in-edge": "入边", - "add-in-edge": "添加入边", - "out-edge": "出边", - "add-out-edge": "添加出边", - "add": "添加", - "value": "值", - "null-value": "空值", - "id-strategy": "ID策略", - "id-value": "ID值", - "id-input-desc": "请输入ID值", - "please-input": "请输入", - "add-success": "添加成功", - "add-fail": "添加失败", - "vertex-type": "顶点类型", - "selected-vertex-type": "已选顶点类型", - "vertex-id": "顶点ID", - "vertex-name": "顶点名称", - "illegal-vertex-desc": "该顶点是非法顶点,可能是由悬空边导致", - "add-vertex": "添加顶点", - "vertex-type-select-desc": "请选择顶点类型", - "edge-type": "边类型", - "selected-edge-type": "已选边类型", - "edge-style": "边样式", - "modify-edge-type": "编辑边类型", - "edge-type-detail": "边类型详情", - "edge-type-name": "边类型名称", - "edge-direction": "边方向", - "edge-type-select-desc": "请选择边类型", - "edge-id": "边ID", - "edge-name": "边名称", - "source": "起点", - "source-type": "起点类型", - "target": "终点", - "target-type": "终点类型", - "rule": "规则", - "property": "属性", - "selected-property": "已选属性", - "property-name": "属性名称", - "add-property": "添加属性", - "association-property": "关联属性", - "association-property-and-type": "关联属性及类型", - "property-index": "属性索引", - "selected-property-index": "已选属性索引", - "property-index-name": "属性索引名称", - "property-value": "属性值", - "required-property": "不可空属性", - "nullable-property": "可空属性", - "primary-key": "主键", - "primary-key-property": "主键属性", - "select-primary-key-property-placeholder": "请选择主键属性", - "distinguishing-key": "区分键", - "distinguishing-key-property": "区分键属性", - "property-input-desc": "请输入属性值", - "del-comfirm": "确认删除", - "ask": "吗?", - "confirm": "确认", - "del-success": "删除成功", - "save-scuccess": "保存成功", - "save-fail": "保存失败", - "save": "保存", - "cancel": "取消", - "more": "更多", - "edit": "编辑", - "del": "删除", - "fold": "折叠", - "open": "展开", - "close": "关闭", - "required": "必填项", - "format-error-desc": "必须以字母开头,允许出现英文、数字、下划线", - "no-matching-results": "无匹配结果", - "no-data": "暂无数据", - "data-type": "数据类型", - "corresponding-type": "对应类型" - }, - "appbar": { - "graph-manager": "图管理" - }, - "graphManagementHeader": { - "graph-manager": "图管理", - "community": "社区版", - "business": "商业版", - "limit-desc": "支持图上限", - "limit-desc1": "图磁盘上限", - "individual": "个", - "input-placeholder": "搜索图名称或ID", - "graph-create": "创建图" - }, - "graphManagementList": { - "save-scuccess": "保存成功", - "graph-del": "删除图", - "graph-del-comfirm-msg": "删除后该图所有配置均不可恢复", - "graph-edit": "编辑图", - "id": "图ID", - "id-desc": "为创建的图设置唯一标识的ID", - "name": "图名称", - "name-desc": "填写需要连接的图的名称", - "host": "主机名", - "port": "端口号", - "port-desc": "请输入端口号", - "username": "用户名", - "password": "密码", - "creation-time": "创建时间", - "visit": "访问" - }, - "graphManagementEmptyList": { - "graph-create": "创建图", - "graph-create-desc": "您暂时还没有任何图,立即创建", - "no-matching-results": "无匹配结果" - }, - "newGraphConfig": { - "graph-create": "创建图", - "create": "创建", - "create-scuccess": "创建成功", - "id": "图ID", - "id-desc": "为创建的图设置唯一标识的ID", - "name": "图名称", - "name-desc": "填写需要连接的图的名称", - "host": "主机名", - "host-desc": "请输入主机名", - "port": "端口号", - "port-desc": "请输入端口号", - "username": "用户名", - "password": "密码", - "not-required-desc": "未设置则无需填写" - }, - "graphManagementSidebar": { - "data-analysis": "数据分析", - "graph-select": "选择图", - "metadata-config": "元数据配置", - "data-import": "数据导入", - "task-management": "任务管理" - }, - "dataAnalyze": { - "cannot-access": "无法访问", - "return-home": "返回首页" - }, - "dataAnalyzeInfoDrawer": { - "edit-details": "编辑详情", - "data-details": "数据详情" - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/common.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/common.json deleted file mode 100644 index 98d821703..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/common.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "common": { - "loading-data": "数据加载中" - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json deleted file mode 100644 index 2edf4240c..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json +++ /dev/null @@ -1,343 +0,0 @@ -{ - "breadcrumb": { - "first": "导入任务", - "second": "任务详情" - }, - "import-manager": { - "hint": { - "empty-task": "您暂时还没有任何任务,立即创建", - "no-result": "无结果", - "creation-succeed": "创建成功", - "update-succeed": "编辑成功" - }, - "manipulation": { - "create": "创建" - }, - "placeholder": { - "input-job-name": "请输入任务名称搜索", - "input-valid-job-name": "允许出现中英文、数字、下划线", - "input-job-description": "请输入任务备注" - }, - "list-column-title": { - "job-name": "任务名称", - "size": "大小", - "create-time": "创建时间", - "status": "状态", - "time-consuming": "任务耗时", - "manipulation": "操作" - }, - "list-column-status": { - "DEFAULT": "未开始", - "UPLOADING": "未开始", - "MAPPING": "设置中", - "SETTING": "导入中", - "LOADING": "导入中", - "FAILED": "失败", - "SUCCESS": "成功" - }, - "list-column-manipulations": { - "start": "开始任务", - "resume-setting": "继续设置", - "resume-importing": "继续导入", - "check-error-log": "查看原因", - "delete": "删除" - }, - "modal": { - "create-job": { - "title": "创建导入任务", - "job-name": "任务名称:", - "job-description": "任务备注:" - }, - "delete-job": { - "title": "删除任务", - "hint": "确认删除任务{{name}}吗?", - "sub-hint": "删除后该任务不可恢复" - }, - "manipulations": { - "create": "创建", - "delete": "删除", - "cancel": "取消" - } - }, - "validator": { - "no-empty": "此项为必填项", - "over-limit-size": "已超出字数限制", - "invalid-format": "请输入中英文、数字、下划线" - } - }, - "import-job-details": { - "tabs": { - "basic-settings": "基础设置", - "uploaded-files": "上传文件", - "data-maps": "映射文件", - "import-details": "导入详情" - }, - "basic": { - "job-name": "任务名称:", - "job-description": "任务备注:", - "modal": { - "edit-job": { - "title": "编辑导入任务", - "job-name": "任务名称:", - "job-description": "任务备注:" - }, - "manipulations": { - "save": "保存", - "cancel": "取消" - } - } - }, - "manipulations": { - "edit": "编辑", - "resume-task": "继续任务" - } - }, - "step": { - "first": "上传文件", - "second": "设置数据映射", - "third": "导入数据", - "fourth": "完成" - }, - "upload-files": { - "click": "点击", - "description": "点击或将文件拖拽到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", - "drag": "拖拽", - "description-1": "或将文件", - "description-2": "到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", - "cancel": "取消上传", - "next": "下一步", - "wrong-format": "仅支持 csv 格式文件", - "over-single-size-limit": "容量已超过 1 GB", - "over-all-size-limit": "总容量已超过 10 GB", - "empty-file": "文件为空,请重新上传", - "no-duplicate": "下列上传的文件已存在:" - }, - "data-configs": { - "file": { - "title": "文件设置", - "include-header": "包含表头", - "delimiter": { - "title": "分隔符", - "comma": "逗号", - "semicolon": "分号", - "tab": "制表符", - "space": "空格", - "custom": "自定义" - }, - "code-type": { - "title": "编码格式", - "UTF-8": "UTF-8", - "GBK": "GBK", - "ISO-8859-1": "ISO-8859-1", - "US-ASCII": "US-ASCII", - "custom": "自定义" - }, - "date-type": { - "title": "日期格式", - "custom": "自定义" - }, - "skipped-line": "跳过行", - "timezone": "时区", - "save": "保存", - "placeholder": { - "input-delimiter": "请输入分隔符", - "input-charset": "请输入编码格式", - "input-date-format": "请输入日期格式" - }, - "hint": { - "save-succeed": "已保存文件设置" - } - }, - "type": { - "title": "类型设置", - "basic-settings": "基础设置", - "manipulation": { - "create": "创建", - "save": "保存", - "cancel": "取消", - "create-vertex": "创建顶点映射", - "create-edge": "创建边映射" - }, - "info": { - "type": "类型", - "name": "名称", - "ID-strategy": "ID策略", - "edit": "编辑", - "delete": "删除" - }, - "ID-strategy": { - "PRIMARY_KEY": "主键ID", - "AUTOMATIC": "自动生成", - "CUSTOMIZE_STRING": "自定义字符串", - "CUSTOMIZE_NUMBER": "自定义数字", - "CUSTOMIZE_UUID": "自定义UUID" - }, - "vertex": { - "title": "创建顶点映射", - "type": "顶点类型", - "ID-strategy": "ID策略", - "ID-column": "ID列", - "map-settings": "映射设置", - "add-map": { - "title": "添加映射", - "name": "列名", - "sample": "数据样例", - "property": "映射属性", - "clear": "清空" - }, - "select-all": "全选", - "advance": { - "title": "高级设置", - "nullable-list": { - "title": "空值列表", - "empty": "空值", - "custom": "自定义" - }, - "map-property-value": { - "title": "属性值映射", - "add-value": "添加属性值映射", - "fields": { - "property": "属性", - "value-map": "值映射", - "add-value-map": "添加值映射" - } - }, - "placeholder": { - "input": "请选择", - "input-property": "请选择输入属性", - "input-file-value": "请输入文件值", - "input-graph-value": "请输入图导入值" - } - } - }, - "edge": { - "title": "创建边映射", - "type": "边类型", - "source-ID-strategy": "起点ID策略", - "target-ID-strategy": "终点ID策略", - "ID-column": "ID列", - "map-settings": "映射设置", - "add-map": { - "title": "添加映射", - "name": "列名", - "sample": "数据样例", - "property": "映射属性", - "clear": "清空" - }, - "select-all": "全选", - "advance": { - "title": "高级设置", - "nullable-list": { - "title": "空值列表", - "empty": "空值", - "custom": "自定义" - }, - "map-property-value": { - "title": "属性值映射", - "add-value": "添加 属性值映射", - "fields": { - "property": "属性", - "value-map": "值映射", - "add-value-map": "添加值映射" - } - }, - "placeholder": { - "input": "请选择映射属性", - "input-property": "请选择输入属性", - "input-file-value": "请输入文件值", - "input-graph-value": "请输入图导入值" - } - } - }, - "hint": { - "lack-support-for-automatic": "自动生成的ID策略不支持可视化导入,请调用API实现", - "no-vertex-or-edge-mapping": "如下文件未设置顶点类型或边类型映射:" - }, - "placeholder": { - "select-vertex-type": "请选择顶点类型", - "select-edge-type": "请选择边类型", - "select-id-column": "请选择 ID 列", - "empty-value": "空" - } - }, - "manipulations": { - "previous": "上一步", - "next": "下一步", - "add": "添加", - "edit": "编辑", - "delete": "删除", - "cancel": "取消", - "hints": { - "delete-confirm": "确认删除?", - "warning": "删除后无法恢复,请谨慎操作" - } - }, - "validator": { - "no-empty": "该项不能为空" - } - }, - "server-data-import": { - "import-settings": { - "title": "导入设置", - "checkIfExist": "检查边连接的顶点是否存在", - "requestTimesWhenInterpolationFailed": "插入失败重试次数", - "maximumAnalyzedErrorRow": "允许最大解析错误行数", - "requestTicksWhenInterpolationFailed": "插入失败重试间隔/s", - "maxiumInterpolateErrorRow": "允许最大插入错误行数", - "InterpolationTimeout": "插入超时时间/s" - }, - "import-details": { - "title": "导入详情", - "column-titles": { - "file-name": "文件名称", - "type": "类型", - "import-speed": "导入速度", - "import-progress": "导入进度", - "status": "状态", - "time-consumed": "耗时", - "manipulations": "操作" - }, - "content": { - "vertex": "顶点", - "edge": "边" - }, - "status": { - "RUNNING": "运行中", - "SUCCEED": "成功", - "FAILED": "失败", - "PAUSED": "已暂停", - "STOPPED": "已终止" - }, - "manipulations": { - "pause": "暂停", - "resume": "继续", - "retry": "重试", - "abort": "终止", - "failed-cause": "查看原因" - } - }, - "hint": { - "check-vertex": "开启检查会影响导入性能,请按需开启", - "no-data": "正在请求导入", - "confirm-navigation": "确认跳转到任务列表?正在上传的文件可能会丢失" - }, - "validator": { - "no-empty": "该项不能为空", - "need-integer-with-negative": "请输入-1或大于0的整数", - "need-integer": "请输入大于0的整数" - }, - "manipulations": { - "previous": "上一步", - "start": "开始导入", - "cancel": "取消导入", - "finished": "完成" - } - }, - "data-import-status": { - "finished": "导入完成", - "success": "已成功导入 {{number}} 个文件", - "pause": "{{number}} 个文件暂停", - "abort": "{{number}} 个文件终止", - "move-to-import-manager": "返回导入任务列表" - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json deleted file mode 100644 index 8f01b76e3..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json +++ /dev/null @@ -1,654 +0,0 @@ -{ - "data-analyze": { - "category": { - "gremlin-analyze": "Gremlin 分析", - "algorithm-analyze": "算法分析" - }, - "manipulations": { - "execution": "执行", - "favorite": "收藏", - "reset": "重置" - }, - "hint": { - "graph-disabled": "该图不可用" - }, - "algorithm-list": { - "title": "算法目录", - "loop-detection": "环路检测", - "focus-detection": "交点检测", - "shortest-path": "最短路径", - "shortest-path-all": "全最短路径", - "all-path": "所有路径", - "model-similarity": "模型相似度算法", - "neighbor-rank": "Neighbor Rank推荐算法", - "k-step-neighbor": "k步邻居", - "k-hop": "k跳算法", - "custom-path": "自定义路径", - "radiographic-inspection": "射线检测", - "same-neighbor": "共同邻居", - "weighted-shortest-path": "带权最短路径", - "single-source-weighted-shortest-path": "单源带权最短路径", - "jaccard": "Jaccard相似度", - "personal-rank": "Personal Rank推荐算法" - }, - "algorithm-forms": { - "loop-detection": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "source_in_ring": "环路包含起点:", - "limit": "返回可达路径最大值:", - "capacity": "访问顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "focus-detection": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "limit": "返回交点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "shortest-path": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "skip_degree": "超级顶点度数:", - "capacity": "访问顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-integer": "请填写大于等于0的整数,默认为0", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "shortest-path-all": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "skip_degree": "超级顶点度数:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer": "请填写大于0的整数", - "input-integer": "请填写大于等于0的整数,默认为0", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目", - "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "all-path": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "limit": "返回路径最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "model-similarity": { - "options": { - "method": "起点选择方式:", - "source": "起点ID:", - "vertex-type": "顶点类型:", - "vertex-property": "顶点属性及值:", - "direction": "方向:", - "least_neighbor": "最少邻居数:", - "similarity": "相似度:", - "label": "边类型:", - "max_similar": "相似度最高个数:", - "least_similar": "模形相似点最小个数:", - "property_filter": "属性过滤:", - "least_property_number": "最小属性值个数:", - "max_degree": "最大度数:", - "capacity": "访问顶点最大值:", - "skip_degree": "返回顶点最大值:", - "limit": "返回结果最大值:", - "return_common_connection": "返回共同关联点:", - "return_complete_info": "返回顶点完整信息:" - }, - "radio-value": { - "specific-id": "指定ID", - "filtered-type-property": "筛选类型属性" - }, - "placeholder": { - "input-source-id": "请输入起点ID,多个ID用逗号分隔", - "input-vertex-type": "请选择顶点类型", - "select-vertex-property": "请选择顶点属性", - "input-vertex-property": "多属性值以逗号分隔", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "input-integer-gt-1": "请填写大于1的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "input-filtered-property": "请选择需要过滤的属性", - "no-properties": "无属性", - "no-vertex-type": "无顶点类型", - "similarity": "请输入(0-1]的数字" - }, - "hint": { - "vertex_type_or_property": "顶点类型/顶点属性至少填写一项", - "least_property_number": "属性过滤和最小属性值个数需一起使用;设置后效果为:当起点跟其所有的梭形相似点某个属性的值大于等于最小属性值个数时,才会返回该起点及其梭形相似点", - "max-degree": "查询过程中,单个顶点的最大边数目", - "least_neighbor": "邻居数少于当前设定值,则认为起点没有梭形相似点", - "similarity": "起点与\"梭形相似点\"的共同邻居数目占起点的全部邻居数目的比例", - "max_similar": "返回起点的梭形相似点中相似度最高的top个数,0表示全部", - "return_common_connection": "是否返回起点及其\"梭形相似点\"共同关联的中间点" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "integer-only": "请填写大于等于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "postive-integer-only": "请填写大于0的整数", - "integer-gt-1": "请填写大于1的整数", - "similarity": "请输入(0-1]的数字", - "no-gt-1000": "该值不能大于等于1000" - }, - "add": "添加", - "delete": "删除", - "pre-value": "全部" - }, - "neighbor-rank": { - "options": { - "source": "起点ID:", - "alpha": "Alpha:", - "direction": "方向:", - "capacity": "访问顶点最大值:", - "label": "边类型:", - "degree": "最大度数:", - "top": "每层保留权重Top N:", - "steps": "steps:" - }, - "placeholder": { - "input-source-id": "请输入起点ID", - "input-integer-lt-1000": "请填写大于等于0小于1000的整数, 默认为100", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer": "请填写大于0的整数", - "range": "范围(0-1]" - }, - "hint": { - "top": "在结果中每一层只保留权重最高的N个结果", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "range": "请填写大于0且小于等于1的数值", - "integer-only-lt-1000": "请填写大于等于0的整数小于1000的整数", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - }, - "pre-value": "全部", - "add-new-rule": "添加规则" - }, - "k-step-neighbor": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "limit": "返回顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "k-hop": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "nearest": "最短路径:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "遍历中访问顶点最大值:", - "limit": "返回顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目", - "shortest-path": "开启后,则查询出起始顶点最短路径为depth步的顶点,关闭后,则查询出起始顶点路径为depth步的顶点,可能有环,且不一定是最短路径" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "custom-path": { - "options": { - "method": "起点选择方式:", - "source": "起点ID:", - "vertex-type": "顶点类型:", - "vertex-property": "顶点属性:", - "sort_by": "路径权重排序:", - "capacity": "遍历中访问顶点最大值:", - "limit": "返回顶点最大值:", - "direction": "方向:", - "labels": "边类型:", - "properties": "边属性:", - "weight_by": "根据属性计算边权重:", - "degree": "最大度数:", - "sample": "采样值:", - "steps": "steps:" - }, - "placeholder": { - "input-source-id": "请输入起点ID,多个ID用逗号分隔", - "select-vertex-type": "请选择顶点类型", - "select-vertex-property": "请选择顶点属性", - "input-multiple-properties": "多属性值以逗号分隔", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer": "请填写大于0的整数", - "input-positive-integer-or-negative-one-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "input-property": "请输入边属性", - "input-number": "请输入浮点数字", - "select-edge-type": "请选择边类型", - "select-edge-property": "请选择边属性", - "select-property": "请选择属性", - "no-vertex-type": "无顶点类型", - "no-vertex-property": "无顶点属性", - "no-edge-type": "无边类型", - "no-edge-property": "无边属性", - "no-properties": "无属性" - }, - "hint": { - "top": "在结果中每一层只保留权重最高的N个结果", - "vertex_type_or_property": "顶点类型/顶点属性至少填写一项" - }, - "radio-value": { - "specific-id": "指定ID", - "filtered-type-property": "筛选类型属性", - "none": "不排序", - "ascend": "升序", - "descend": "降序" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "range": "请填写大于0且小于等于1的数值", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "input-number": "请输入浮点数字" - }, - "custom-weight": "自定义权重值", - "add": "添加", - "delete": "删除", - "add-new-rule": "添加规则" - }, - "radiographic-inspection": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "max_depth": "最大步数:", - "label": "边类型:", - "max_degree": "最大度数:", - "capacity": "遍历中访问顶点最大值:", - "limit": "返回非环路路径最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-positive-integer": "请填写大于0的整数", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "same-neighbor": { - "options": { - "vertex": "顶点1:", - "other": "顶点2:", - "direction": "方向:", - "label": "边类型:", - "max_degree": "最大度数:", - "limit": "返回共同邻居最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入顶点ID", - "input-other-id": "请输入不同于顶点1的ID", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer": "请填写大于0的整数", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "no-same-value-with-other": "不能与顶点2相同", - "no-same-value-with-vertex": "不能与顶点1相同" - } - }, - "weighted-shortest-path": { - "options": { - "source": "起点ID:", - "target": "终点ID:", - "direction": "方向:", - "weight": "权重属性:", - "with_vertex": "返回顶点完整信息:", - "label": "边类型:", - "max_degree": "最大度数:", - "skip_degree": "跳过点的度数:", - "capacity": "遍历中访问顶点最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-target-id": "请输入终点ID", - "input-integer": "请填写大于等于0的整数", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "select-property": "请选择属性", - "input-positive-integer": "请填写大于0的整数,默认为0", - "no-property": "无属性值为数字类型的属性", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "当顶点的边数目大于填写值,则跳过当前顶点,用于规避超级点", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "postive-integer-only": "请填写大于0的整数" - } - }, - "single-source-weighted-shortest-path": { - "options": { - "source": "起点ID:", - "direction": "方向:", - "weight": "权重属性:", - "with_vertex": "返回顶点完整信息:", - "label": "边类型:", - "max_degree": "最大度数:", - "skip_degree": "跳过点的度数:", - "capacity": "遍历中访问顶点最大值:", - "limit": "返回顶点/最短路径最大值:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入起点ID", - "input-integer": "请填写大于等于0的整数,默认为0", - "input-positive-integer": "请填写大于0的整数", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", - "no-property": "若不填写权重为1.0", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "skip-degree": "当顶点的边数目大于填写值,则跳过当前顶点,用于规避超级点", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "integer-only": "请填写大于等于0的整数", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - } - }, - "jaccard": { - "options": { - "vertex": "顶点1:", - "other": "顶点2:", - "direction": "方向:", - "label": "边类型:", - "max_degree": "最大度数:" - }, - "pre-value": "全部", - "placeholder": { - "input-source-id": "请输入顶点ID", - "input-other-id": "请输入不同于顶点1的ID", - "input-positive-integer": "请填写大于0的整数", - "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", - "no-edge-types": "无边类型" - }, - "hint": { - "max-depth": "为保证性能,建议不超过10步,推荐5步", - "max-degree": "查询过程中,单个顶点的最大边数目" - }, - "validations": { - "no-empty": "该项不能为空", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", - "no-same-value-with-other": "不能与顶点2相同", - "no-same-value-with-vertex": "不能与顶点1相同" - } - }, - "personal-rank": { - "options": { - "source": "起点ID:", - "alpha": "Alpha:", - "max_depth": "迭代次数:", - "with_label": "返回结果筛选:", - "label": "边类型:", - "degree": "最大度数:", - "limit": "返回顶点最大值:", - "sorted": "返回结果排序:" - }, - "with-label-radio-value": { - "same_label": "相同类型顶点", - "other_label": "不同类型顶点", - "both_label": "全部类型顶点" - }, - "placeholder": { - "input-source-id": "请输入起点ID", - "input-positive-integer-or-negative-one-degree": "请填写-1或大于0的整数,默认为10000", - "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", - "select-edge": "请选择边类型", - "input-positive-integer": "请填写大于0的整数", - "alpha": "请输入(0-1]的数字", - "max_depth": "请输入(0-50]的数字" - }, - "hint": { - "degree": "查询过程中,单个顶点的最大边数目", - "with-label": "根据是否与起点类型相同,筛选返回结果", - "sorted": "选择开,则降序排列,选择关,则不排序" - }, - "validations": { - "no-empty": "该项不能为空", - "no-edge-typs": "无边类型", - "alpha-range": "请填写大于0且小于等于1的数值", - "depth-range": "请填写大于0且小于等于50的数值", - "postive-integer-only": "请填写大于0的整数", - "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" - }, - "pre-value": "全部", - "add-new-rule": "添加规则" - }, - "api-name-mapping": { - "rings": "环路检测", - "crosspoints": "交点检测", - "shortpath": "最短路径", - "allshortpath": "全最短路径", - "paths": "所有路径", - "fsimilarity": "模型相似度算法", - "neighborrank": "Neighbor Rank推荐算法", - "kneighbor": "k步邻居", - "kout": "k跳算法", - "customizedpaths": "自定义路径", - "rays": "射线检测", - "sameneighbors": "共同邻居", - "weightedshortpath": "带权最短路径", - "singleshortpath": "单源带权最短路径", - "jaccardsimilarity": "Jaccard相似度", - "personalrank": "Personal Rank推荐算法" - } - }, - "exec-logs": { - "table-title": { - "time": "时间", - "type": "执行类型", - "content": "执行内容", - "status": "状态", - "duration": "耗时", - "manipulation": "操作" - }, - "type": { - "GREMLIN": "GREMLIN 查询", - "GREMLIN_ASYNC": "GREMLIN 任务", - "ALGORITHM": "算法查询" - }, - "status": { - "success": "成功", - "async-success": "提交成功", - "running": "运行中", - "failed": "失败", - "async-failed": "提交失败" - } - } - } -} diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/index.ts deleted file mode 100644 index b3e03211e..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/graph-managment/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import CommonResources from './common.json'; -import GraphManagementSideBarResources from './GraphManagementSidebar.json'; -import DataAnalyzeResources from './dataAnalyze.json'; -import DataImportResources from './data-import/import-tasks/ImportTasks.json'; -import AsyncTasksResources from './AsyncTasks.json'; -import Addition from './addition.json'; - -export { - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition -}; diff --git a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.ts b/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.ts deleted file mode 100644 index 4a369f54e..000000000 --- a/hugegraph-hubble/hubble-fe/src/i18n/resources/zh-CN/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { merge } from 'lodash-es'; -import { - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition -} from './graph-managment'; - -const translation = { - translation: merge( - CommonResources, - DataAnalyzeResources, - GraphManagementSideBarResources, - DataImportResources, - AsyncTasksResources, - Addition - ) -}; - -export default translation; diff --git a/hugegraph-hubble/hubble-fe/src/index.less b/hugegraph-hubble/hubble-fe/src/index.less deleted file mode 100644 index b0e16a767..000000000 --- a/hugegraph-hubble/hubble-fe/src/index.less +++ /dev/null @@ -1,320 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -@import '~hubble-ui/src/index.less'; - -@primary-color: #2b65ff; -@primary-hover-color: #527dff; -@primary-active-color: #184bcc; - -* { - box-sizing: border-box; -} - -html, -body, -img, -ul, -ol, -li, -table, -tr, -th, -td, -p { - margin: 0; - padding: 0; - border: 0; -} - -body { - background: #f2f2f2; - // prettier-ignore - font-family: - -apple-system, - BlinkMacSystemFont, - 'Helvetica Neue', - Helvetica, - 'PingFang SC', - 'Hiragino Sans GB', - 'Microsoft YaHei', - '微软雅黑', - Arial, - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - - &.dark { - background: #000; - } - - &::after { - position: absolute; - overflow: hidden; - left: -20000px; - // preload images which in hover state to solve blink issue - content: - url(./assets/imgs/ic_topback.svg) - url(./assets/imgs/ic_arrow_white.svg) - url(./assets/imgs/ic_shuju_normal.svg) - url(./assets/imgs/ic_shuju_pressed.svg) - url(./assets/imgs/ic_yuanshuju_normal.svg) - url(./assets/imgs/ic_yuanshuju_pressed.svg) - url(./assets/imgs/ic_cebianzhankai.svg) - url(./assets/imgs/ic_cebianshouqi.svg) - url(./assets/imgs/ic_daorushuju_normal.svg) - url(./assets/imgs/ic_daorushuju_pressed.svg) - url(./assets/imgs/ic_renwuguanli_normal.svg) - url(./assets/imgs/ic_renwuguanli_pressed.svg) - url(./assets/imgs/ic_tuzhanshi_normal.svg) - url(./assets/imgs/ic_tuzhanshi_hover.svg) - url(./assets/imgs/ic_tuzhanshi_pressed.svg) - url(./assets/imgs/ic_biaoge_normal.svg) - url(./assets/imgs/ic_biaoge_hover.svg) - url(./assets/imgs/ic_biaoge_pressed.svg) - url(./assets/imgs/ic_json_normal.svg) url(./assets/imgs/ic_json_hover.svg) - url(./assets/imgs/ic_json_pressed.svg) url(./assets/imgs/ic_close_16.svg) - url(./assets/imgs/ic_refresh.svg) url(./assets/imgs/ic_loading_back.svg) - url(./assets/imgs/ic_loading_front.svg) - url(./assets/imgs/ic_question_mark.svg); - } -} - -code { - // prettier-ignore - font-family: - source-code-pro, - Menlo, - Monaco, - Consolas, - 'Courier New', - monospace; -} - -.tooltips { - background: #fff; - box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2); - border-radius: 4px; - padding: 28px 24px 24px; -} - -.tooltips-dark { - border-radius: 3px; - background-color: rgba(0, 0, 0, 0.8); - border-color: transparent; - padding: 4px 8px; - color: #fff; - line-height: 18px; - font-size: 12px; - max-width: 240px; - word-wrap: break-word; - - // override tooltip-arrow - .tooltip-arrow[data-placement*='bottom'] { - margin-top: -0.25rem; - } - - .tooltip-arrow[data-placement*='bottom']::before { - border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent; - border-width: 0 0.3rem 0.3rem 0.3rem; - position: absolute; - top: 0; - } - - .tooltip-arrow[data-placement*='bottom']::after { - border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent; - // border-color: rgba(0, 0, 0, 0.8); - border-width: 0 0.3rem 0.3rem 0.3rem; - } -} - -.no-line-break { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.message-wrapper { - font-size: 14px; - line-height: 22px; - - &-title { - font-weight: 900; - margin: 3.6px 0 4px; - } - - &-manipulation { - cursor: pointer; - color: #2b65ff; - } -} - -/* overrides (global) */ - -//primary button background colors -.new-fc-one-btn-primary { - background: @primary-color; - - &:hover { - background: @primary-hover-color; - } - - &:active { - background: @primary-active-color; - } - - &-disabled { - background: #d9e6ff; - - &:hover, - &:active { - background: #d9e6ff; - } - } -} - -// Modal titles -.new-fc-one-modal-title { - // prettier-ignore - font-family: - 'PingFangSC-Medium', - 'Microsoft YaHei', - '微软雅黑', - Arial, - sans-serif; - font-weight: bold; - font-size: 16px; -} - -// drawers, e.g. metadata-configs vertex/edge types -.new-fc-one-drawer-wrapper-body-small .new-fc-one-drawer-title { - font-size: 16px; -} - -.new-fc-one-drawer-close { - top: 28px; -} - -// z-index input errorlayer in Drawer should be higher -// prettier-ignore -.new-fc-one-drawer-content-wrapper .new-fc-one-input-error.new-fc-one-input-error-layer { - z-index: 1041; -} - -// also z-index is invalid if parent node has position: relative -.new-fc-one-drawer-content-wrapper .new-fc-one-input-all-container { - position: absolute; -} - -// Steps process style -.new-fc-one-steps-item-process .new-fc-one-steps-item-icon { - background: @primary-color; -} - -// checked-color -.new-fc-one-switch-checked { - background: @primary-color; - - &:hover { - background: @primary-hover-color; - } -} - -// text in -.new-fc-one-switch-inner { - margin-right: 0; -} - -.new-fc-one-switch-checked .new-fc-one-switch-inner { - margin-left: 0; -} - -// override radio button primary color -.new-fc-one-radio-button-wrapper-checked { - border: 1px solid @primary-color; - background-color: @primary-color; - color: #fff; - - &:hover { - border: 1px solid @primary-hover-color; - background-color: @primary-hover-color; - color: #fff; - } -} - -// hovered color -.new-fc-one-menu-horizontal-box .new-fc-one-menu-item-selected:hover { - color: @primary-hover-color; - border-color: @primary-hover-color; -} - -//
th checkbox color -.new-fc-one-checkbox-wrapper .new-fc-one-checkbox-indeterminate .new-fc-one-checkbox-inner { - background-color: #2b65ff; -} - -.new-fc-one-table-thead > tr > th:first-of-type { - padding: 12px 16px 12px 20px; -} - -// could be a bug where container style is display: none -.new-fc-one-message { - display: block !important; -} - -// proper line break -.new-fc-one-message-container-content { - word-break: break-word; -} - -// -.new-fc-one-breadcrumb-link { - color: #2b65ff; -} - -// -.new-fc-one-modal-body { - overflow-y: auto !important; -} - -// menu center -.data-analyze-sidebar .ant-menu.ant-menu-inline-collapsed > .ant-menu-item { - padding: 0 12px; -} diff --git a/hugegraph-hubble/hubble-fe/src/index.tsx b/hugegraph-hubble/hubble-fe/src/index.tsx deleted file mode 100644 index 2c6b3b7c8..000000000 --- a/hugegraph-hubble/hubble-fe/src/index.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.less'; -import App from './components/App'; -import './i18n'; -import { ConfigProvider } from 'antd'; -import zhCN from 'antd/lib/locale/zh_CN'; -import enUS from 'antd/lib/locale/en_US'; - -// UI component has built-in text internationalization, -// such as confirmation, cancellation, etc -const languageType = - localStorage.getItem('languageType') === 'en-US' ? enUS : zhCN; -ReactDOM.render( - - - , - document.getElementById('root') -); diff --git a/hugegraph-hubble/hubble-fe/src/react-app-env.d.ts b/hugegraph-hubble/hubble-fe/src/react-app-env.d.ts deleted file mode 100644 index 4724ca7e0..000000000 --- a/hugegraph-hubble/hubble-fe/src/react-app-env.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -/// diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/asyncTasksStore.ts deleted file mode 100644 index 4e0675c19..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/asyncTasksStore.ts +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; - -import { initErrorInfo, initRequestStatus } from '../factory/asyncTasksStore'; -import { checkIfLocalNetworkOffline } from '../utils'; - -import { baseUrl, responseData } from '../types/common'; -import type { - AsyncTask, - AsyncTaskListResponse -} from '../types/GraphManagementStore/asyncTasksStore'; - -export class AsyncTasksStore { - @observable requestStatus = initRequestStatus(); - @observable errorInfo = initErrorInfo(); - - @observable currentId: number | null = null; - @observable searchWords = ''; - @observable abortingId = NaN; - - @observable.shallow asyncTasksPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - // searched results rather than initial fetched result - @observable.shallow isSearched = { - status: false, - value: '' - }; - - @observable.shallow filterOptions = { - type: '', - status: '' - }; - - @observable.ref asyncTaskList: AsyncTask[] = []; - @observable.ref singleAsyncTask: AsyncTask | null = null; - - @action - setCurrentId(id: number) { - this.currentId = id; - } - - @action - setAbortingId(id: number) { - this.abortingId = id; - } - - @action - mutateSearchWords(word: string) { - this.searchWords = word; - } - - @action - mutateFilterOptions(category: 'type' | 'status', value: string) { - this.filterOptions[category] = value; - } - - @action - mutateAsyncTasksPageNumber(pageNumber: number) { - this.asyncTasksPageConfig.pageNumber = pageNumber; - } - - @action - switchSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchWords) - : (this.isSearched.value = ''); - } - - @action - dispose() { - this.requestStatus = initRequestStatus(); - this.errorInfo = initErrorInfo(); - this.currentId = null; - this.searchWords = ''; - this.abortingId = NaN; - this.asyncTasksPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - this.isSearched = { - status: false, - value: '' - }; - this.filterOptions = { - type: '', - status: '' - }; - this.asyncTaskList = []; - this.singleAsyncTask = null; - } - - fetchAsyncTaskList = flow(function* fetchAsyncTaskList( - this: AsyncTasksStore - ) { - this.requestStatus.fetchAsyncTaskList = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/async-tasks?page_no=${ - this.asyncTasksPageConfig.pageNumber - }&page_size=10&type=${ - this.filterOptions.type - }&status=${this.filterOptions.status.toUpperCase()}` + - (this.isSearched.status && this.searchWords !== '' - ? `&content=${this.searchWords}` - : '') - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchAsyncTaskList.code = result.data.status; - throw new Error(result.data.message); - } - - this.asyncTaskList = result.data.data.records; - this.asyncTasksPageConfig.pageTotal = result.data.data.total; - this.requestStatus.fetchAsyncTaskList = 'success'; - } catch (error) { - this.requestStatus.fetchAsyncTaskList = 'failed'; - this.errorInfo.fetchAsyncTaskList.message = error.message; - } - }); - - fetchAsyncTask = flow(function* fetchAsyncTask( - this: AsyncTasksStore, - id: number - ) { - this.requestStatus.fetchAsyncTask = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/async-tasks/${id}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchAsyncTask.code = result.data.status; - throw new Error(result.data.message); - } - - this.singleAsyncTask = result.data.data; - this.requestStatus.fetchAsyncTask = 'success'; - } catch (error) { - this.requestStatus.fetchAsyncTask = 'failed'; - this.errorInfo.fetchAsyncTask.message = error.message; - } - }); - - deleteAsyncTask = flow(function* deleteAsyncTask( - this: AsyncTasksStore, - selectedTaskIds: number[] - ) { - this.requestStatus.deleteAsyncTask = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete>( - `${baseUrl}/${this.currentId}/async-tasks?` + - selectedTaskIds.map((id) => 'ids=' + id).join('&') - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteAsyncTask.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.deleteAsyncTask = 'success'; - } catch (error) { - this.requestStatus.deleteAsyncTask = 'failed'; - this.errorInfo.deleteAsyncTask.message = error.message; - } - }); - - abortAsyncTask = flow(function* abortAsyncTask( - this: AsyncTasksStore, - id: number - ) { - this.requestStatus.abortAsyncTask = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.currentId}/async-tasks/cancel/${id}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.abortAsyncTask.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.abortAsyncTask = 'success'; - } catch (error) { - this.requestStatus.abortAsyncTask = 'failed'; - this.errorInfo.abortAsyncTask.message = error.message; - } - }); -} - -export default createContext(new AsyncTasksStore()); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts deleted file mode 100644 index 2325c11f0..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts +++ /dev/null @@ -1,1901 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { DataAnalyzeStore } from './dataAnalyzeStore'; -import { observable, action, computed } from 'mobx'; -import { isEmpty, remove, isEqual, isUndefined, flatten } from 'lodash-es'; -import { v4 } from 'uuid'; -import isInt from 'validator/lib/isInt'; - -import { - initializeRequestStatus, - initializeErrorInfo, - createLoopDetectionDefaultParams, - createValidateLoopDetectionParamsErrorMessage, - createFocusDetectionDefaultParams, - createValidateFocusDetectionParamsErrorMessage, - createShortestPathDefaultParams, - createValidateShortestPathParamsErrorMessage, - createShortestPathAllDefaultParams, - createValidateShortestPathAllParamsErrorMessage, - createAllPathDefaultParams, - createValidateAllPathParamsErrorMessage, - createModelSimilarityDefaultParams, - createValidateModelSimilarParamsErrorMessage, - createNeighborRankDefaultParams, - createValidateNeighborRankErrorMessage, - createKStepNeighborDefaultParams, - createValidateKStepNeighborParamsErrorMessage, - createKHopDefaultParams, - createValidateKHopParamsErrorMessage, - createRadiographicInspectionDefaultParams, - createValidateRadiographicInspectionParamsErrorMessage, - createSameNeighborDefaultParams, - createValidateSameNeighborParamsErrorMessage, - createWeightedShortestPathDefaultParams, - createValidateWeightedShortestPathParamsErrorMessage, - createSingleSourceWeightedShortestPathDefaultParams, - createValidateSingleSourceWeightedShortestPathParamsErrorMessage, - createJaccardDefaultParams, - createValidateJaccardParamsErrorMessage, - createPersonalRankDefaultParams, - createValidatePersonalRankParamsErrorMessage, - createCustomPathDefaultParams, - createValidateCustomPathParamsErrorMessage -} from '../../factory/dataAnalyzeStore/algorithmStore'; -import i18next from '../../../i18n'; -import { isGtNegativeOneButZero } from '../../utils'; - -import type { dict } from '../../types/common'; -import type { - ShortestPathAlgorithmParams, - LoopDetectionParams, - FocusDetectionParams, - ShortestPathAllAlgorithmParams, - AllPathAlgorithmParams, - ModelSimilarityParams, - NeighborRankParams, - NeighborRankRule, - KStepNeighbor, - KHop, - RadiographicInspection, - SameNeighbor, - WeightedShortestPath, - SingleSourceWeightedShortestPath, - Jaccard, - PersonalRank, - CustomPathParams, - CustomPathRule -} from '../../types/GraphManagementStore/dataAnalyzeStore'; -import isFloat from 'validator/lib/isFloat'; - -export class AlgorithmAnalyzerStore { - dataAnalyzeStore: DataAnalyzeStore; - - constructor(dataAnalyzeStore: DataAnalyzeStore) { - this.dataAnalyzeStore = dataAnalyzeStore; - } - - @observable requestStatus = initializeRequestStatus(); - @observable errorInfo = initializeErrorInfo(); - - @observable isCollapse = false; - @observable currentAlgorithm = ''; - - @observable - loopDetectionParams: LoopDetectionParams = createLoopDetectionDefaultParams(); - - @observable - validateLoopDetectionParamsErrorMessage: any = createValidateLoopDetectionParamsErrorMessage(); - - @observable - focusDetectionParams: FocusDetectionParams = createFocusDetectionDefaultParams(); - - @observable - validateFocusDetectionParamsErrorMessage: any = createValidateFocusDetectionParamsErrorMessage(); - - @observable - shortestPathAlgorithmParams: ShortestPathAlgorithmParams = createShortestPathDefaultParams(); - - @observable - validateShortestPathParamsErrorMessage: ShortestPathAlgorithmParams = createValidateShortestPathParamsErrorMessage(); - - @observable - shortestPathAllParams: ShortestPathAllAlgorithmParams = createShortestPathAllDefaultParams(); - - @observable - validateShortestPathAllParamsErrorMessage: ShortestPathAllAlgorithmParams = createValidateShortestPathAllParamsErrorMessage(); - - @observable - allPathParams: AllPathAlgorithmParams = createAllPathDefaultParams(); - - @observable - validateAllPathParamsErrorMessage: AllPathAlgorithmParams = createValidateAllPathParamsErrorMessage(); - - @observable - modelSimilarityParams: ModelSimilarityParams = createModelSimilarityDefaultParams(); - - @observable - validateModelSimilartiyParamsErrorMessage: dict< - string - > = createValidateModelSimilarParamsErrorMessage(); - - @observable - neighborRankParams: NeighborRankParams = createNeighborRankDefaultParams(); - - @observable - validateNeighborRankParamsParamsErrorMessage = createValidateNeighborRankErrorMessage(); - - @observable - kStepNeighborParams: KStepNeighbor = createKStepNeighborDefaultParams(); - - @observable - validateKStepNeighborParamsErrorMessage = createValidateKStepNeighborParamsErrorMessage(); - - @observable - kHopParams: KHop = createKHopDefaultParams(); - - @observable - validateKHopParamsErrorMessage = createValidateKHopParamsErrorMessage(); - - @observable - customPathParams: CustomPathParams = createCustomPathDefaultParams(); - - @observable - validateCustomPathParmasErrorMessage = createValidateCustomPathParamsErrorMessage(); - - @observable - radiographicInspectionParams: RadiographicInspection = createRadiographicInspectionDefaultParams(); - - @observable - validateRadiographicInspectionParamsErrorMessage = createValidateRadiographicInspectionParamsErrorMessage(); - - @observable - sameNeighborParams: SameNeighbor = createSameNeighborDefaultParams(); - - @observable - validateSameNeighborParamsErrorMessage: SameNeighbor = createValidateSameNeighborParamsErrorMessage(); - - @observable - weightedShortestPathParams: WeightedShortestPath = createWeightedShortestPathDefaultParams(); - - @observable - validateWeightedShortestPathParamsErrorMessage = createValidateWeightedShortestPathParamsErrorMessage(); - - @observable - singleSourceWeightedShortestPathParams: SingleSourceWeightedShortestPath = createSingleSourceWeightedShortestPathDefaultParams(); - - @observable - validateSingleSourceWeightedShortestPathParamsErrorMessage = createValidateSingleSourceWeightedShortestPathParamsErrorMessage(); - - @observable - jaccardParams: Jaccard = createJaccardDefaultParams(); - - @observable - validateJaccardParamsErrorMessage = createValidateJaccardParamsErrorMessage(); - - @observable - personalRankParams: PersonalRank = createPersonalRankDefaultParams(); - - @observable - validatePersonalRankErrorMessage = createValidatePersonalRankParamsErrorMessage(); - - @computed get allPropertyIndexProperty() { - return flatten( - this.dataAnalyzeStore.propertyIndexes.map(({ fields }) => fields) - ); - } - - @computed get currentAlgorithmParams() { - switch (this.currentAlgorithm) { - case 'loop-detection': - return this.loopDetectionParams; - case 'focus-detection': - return this.focusDetectionParams; - case 'shortest-path': - return this.shortestPathAlgorithmParams; - case 'shortest-path-all': - return this.shortestPathAllParams; - case 'all-path': - return this.allPathParams; - case 'model-similarity': - return this.modelSimilarityParams; - case 'neighbor-rank': - return this.neighborRankParams; - case 'k-step-neighbor': - return this.kStepNeighborParams; - case 'k-hop': - return this.kHopParams; - case 'custom-path': - return this.customPathParams; - case 'radiographic-inspection': - return this.loopDetectionParams; - case 'same-neighbor': - return this.sameNeighborParams; - case 'weighted-shortest-path': - return this.weightedShortestPathParams; - case 'single-source-weighted-shortest-path': - return this.singleSourceWeightedShortestPathParams; - case 'jaccard': - return this.jaccardParams; - case 'personal-rank': - return this.personalRankParams; - } - } - - @action - switchCollapse(flag: boolean) { - this.isCollapse = flag; - } - - @action - changeCurrentAlgorithm(algorithm: string) { - this.currentAlgorithm = algorithm; - } - - @action - mutateLoopDetectionParams( - key: T, - value: LoopDetectionParams[T] - ) { - this.loopDetectionParams[key] = value; - } - - @action - validateLoopDetectionParams(key: T) { - const value = this.loopDetectionParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.no-empty' - ); - - return; - } - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.no-empty' - ); - - return; - } - - if (!isInt(value as string, { min: 1 })) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateLoopDetectionParamsErrorMessage[key] = ''; - } - - @action - resetLoopDetectionParams() { - this.loopDetectionParams = createLoopDetectionDefaultParams(); - this.validateLoopDetectionParamsErrorMessage = createValidateLoopDetectionParamsErrorMessage(); - } - - @action - mutateFocusDetectionParams( - key: T, - value: FocusDetectionParams[T] - ) { - this.focusDetectionParams[key] = value; - } - - @action - validateFocusDetectionParams(key: T) { - const value = this.focusDetectionParams[key]; - - switch (key) { - case 'source': - case 'target': - if (isEmpty(value)) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.no-empty' - ); - - return; - } - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateFocusDetectionParamsErrorMessage[key] = ''; - } - - @action - resetFocusDetectionParams() { - this.focusDetectionParams = createFocusDetectionDefaultParams(); - this.validateFocusDetectionParamsErrorMessage = createValidateFocusDetectionParamsErrorMessage(); - } - - @action - mutateShortestPathParams( - key: T, - value: ShortestPathAlgorithmParams[T] - ) { - this.shortestPathAlgorithmParams[key] = value; - } - - @action - validateShortestPathParams( - key: T - ) { - const value = this.shortestPathAlgorithmParams[key]; - - switch (key) { - case 'source': - case 'target': - if (isEmpty(value)) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.no-empty' - ); - - return; - } - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'skip_degree': - if (value !== '' && !isInt(value, { min: 0 })) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.integer-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateShortestPathParamsErrorMessage[key] = ''; - } - - @action - resetShortestPathParams() { - this.shortestPathAlgorithmParams = createShortestPathDefaultParams(); - this.validateShortestPathParamsErrorMessage = createValidateShortestPathParamsErrorMessage(); - } - - @action - mutateShortestPathAllParams( - key: T, - value: ShortestPathAlgorithmParams[T] - ) { - this.shortestPathAllParams[key] = value; - } - - @action - validateShortestPathAllParams( - key: T - ) { - const value = this.shortestPathAllParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' - ); - - return; - } - break; - case 'target': - if (isEmpty(value)) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' - ); - - return; - } - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value)) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'skip_degree': - if (value !== '' && !isInt(value, { min: 0 })) { - this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path-all.validations.integer-only' - ); - - return; - } - } - - this.validateShortestPathAllParamsErrorMessage[key] = ''; - } - - @action - resetShortestPathAllParams() { - this.shortestPathAllParams = createShortestPathAllDefaultParams(); - this.validateShortestPathAllParamsErrorMessage = createValidateShortestPathAllParamsErrorMessage(); - } - - @action - mutateAllPathParams( - key: T, - value: AllPathAlgorithmParams[T] - ) { - this.allPathParams[key] = value; - } - - @action - validateAllPathParams(key: T) { - const value = this.allPathParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.all-path.validations.no-empty' - ); - - return; - } - break; - case 'target': - if (isEmpty(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.all-path.validations.no-empty' - ); - - return; - } - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.all-path.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.all-path.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.all-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value)) { - this.validateAllPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateAllPathParamsErrorMessage[key] = ''; - } - - @action - resetAllPathParams() { - this.allPathParams = createAllPathDefaultParams(); - this.validateAllPathParamsErrorMessage = createValidateAllPathParamsErrorMessage(); - } - - @action - addModelSimilarityVertexProperty() { - this.modelSimilarityParams.vertexProperty.push(['', '']); - } - - @action - editModelSimilarityVertexProperty( - index: number, - type: 'key' | 'value', - value: string - ) { - if (type === 'key') { - this.modelSimilarityParams.vertexProperty[index][0] = value; - } else { - this.modelSimilarityParams.vertexProperty[index][1] = value; - } - } - - @action - removeModelSimilarityVertexProperty(propertyIndex: number) { - remove( - this.modelSimilarityParams.vertexProperty, - (_, index) => index === propertyIndex - ); - } - - @action - mutateModelSimilarityParams( - key: T, - value: ModelSimilarityParams[T] - ) { - this.modelSimilarityParams[key] = value; - } - - @action - validateModelSimilarityParams(key: T) { - const value = this.modelSimilarityParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' - ); - - return; - } - - break; - case 'least_neighbor': - if (isEmpty(value)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' - ); - - return; - } - - if (!isInt(value as string, { min: 1 })) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.postive-integer-only' - ); - - return; - } - - break; - case 'similarity': - if (isEmpty(value)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' - ); - - return; - } - - if ( - Object.is(Number(value), NaN) || - Number(value) > 1 || - Number(value) <= 0 - ) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.similarity' - ); - - return; - } - - break; - case 'max_similar': - if (value !== '' && !isInt(value as string, { min: 0 })) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.integer-only' - ); - - return; - } - - break; - case 'least_similar': - if (value !== '' && !isInt(value as string, { min: 1 })) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.postive-integer-only' - ); - - return; - } - - break; - case 'least_property_number': - if ( - !isEmpty(this.modelSimilarityParams.property_filter) && - isEmpty(value) - ) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' - ); - - return; - } - - if (value !== '' && !isInt(value as string, { min: 2 })) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.integer-gt-1' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateModelSimilartiyParamsErrorMessage[key] = ''; - } - - @action - resetModelSimilarityParams() { - this.modelSimilarityParams = createModelSimilarityDefaultParams(); - this.validateModelSimilartiyParamsErrorMessage = createValidateModelSimilarParamsErrorMessage(); - } - - @action - switchModelSimilarityMethod(method: string) { - this.modelSimilarityParams.method = method; - - if (method === 'id') { - this.modelSimilarityParams.vertexType = ''; - this.modelSimilarityParams.vertexProperty = [['', '']]; - this.validateModelSimilartiyParamsErrorMessage.vertexType = ''; - this.validateModelSimilartiyParamsErrorMessage.vertexProperty = ''; - } else { - this.modelSimilarityParams.source = ''; - this.validateModelSimilartiyParamsErrorMessage.source = ''; - } - } - - @action - addNeighborRankRule() { - this.neighborRankParams.steps.push({ - uuid: v4(), - direction: 'BOTH', - labels: ['__all__'], - degree: '10000', - top: '100' - }); - - // add error message together - this.addValidateNeighborRankRule(); - } - - @action - addValidateNeighborRankRule() { - this.validateNeighborRankParamsParamsErrorMessage.steps.push({ - uuid: '', - direction: '', - labels: '', - degree: '', - top: '' - }); - } - - @action - removeNeighborRankRule(ruleIndex: number) { - remove(this.neighborRankParams.steps, (_, index) => index === ruleIndex); - // remove error message together - this.removeValidateNeighborRankRule(ruleIndex); - } - - @action - removeValidateNeighborRankRule(ruleIndex: number) { - remove( - this.validateNeighborRankParamsParamsErrorMessage.steps, - (_, index) => index === ruleIndex - ); - } - - @action - mutateNeighborRankParams( - key: T, - value: NeighborRankParams[T] - ) { - this.neighborRankParams[key] = value; - } - - @action - mutateNeighborRankRuleParams( - key: T, - value: NeighborRankRule[T], - index: number - ) { - this.neighborRankParams.steps[index][key] = value; - } - - @action - validateNeighborRankParams(key: T) { - const value = this.neighborRankParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.no-empty' - ); - - return; - } - - this.validateNeighborRankParamsParamsErrorMessage.source = ''; - break; - case 'alpha': - if (isEmpty(value)) { - this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.no-empty' - ); - - return; - } - - if ( - Object.is(Number(value), NaN) || - Number(value) > 1 || - Number(value) <= 0 - ) { - this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.range' - ); - - return; - } - - this.validateNeighborRankParamsParamsErrorMessage.alpha = ''; - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - this.validateNeighborRankParamsParamsErrorMessage.capacity = ''; - break; - } - } - - @action - validateNeighborRankRules( - key: T, - ruleIndex: number - ) { - const value = this.neighborRankParams.steps[ruleIndex][key]; - - switch (key) { - case 'degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - break; - case 'top': - if (!isEmpty(value) && !isInt(value as string, { min: 0, max: 999 })) { - this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.integer-only-lt-1000' - ); - - return; - } - break; - default: - return; - } - - this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][key] = - ''; - } - - @action - resetNeighborRankParams() { - this.neighborRankParams = createNeighborRankDefaultParams(); - this.validateNeighborRankParamsParamsErrorMessage = createValidateNeighborRankErrorMessage(); - } - - @action - mutateKStepNeighborParams( - key: T, - value: KStepNeighbor[T] - ) { - this.kStepNeighborParams[key] = value; - } - - @action - validateKStepNeighborParams(key: T) { - const value = this.kStepNeighborParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-step-neighbor.validations.no-empty' - ); - - return; - } - - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-step-neighbor.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-step-neighbor.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-step-neighbor.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value)) { - this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-step-neighbor.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateKStepNeighborParamsErrorMessage[key] = ''; - } - - @action - resetKStepNeighborParams() { - this.kStepNeighborParams = createKStepNeighborDefaultParams(); - this.validateKStepNeighborParamsErrorMessage = createValidateKStepNeighborParamsErrorMessage(); - } - - @action - mutateKHopParams(key: T, value: KHop[T]) { - this.kHopParams[key] = value; - } - - @action - validateKHopParams(key: T) { - const value = this.kHopParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.no-empty' - ); - - return; - } - - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.no-empty' - ); - - return; - } - - if (!isInt(value as string, { min: 1 })) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateKHopParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateKHopParamsErrorMessage[key] = ''; - } - - @action - resetKHopParams() { - this.kHopParams = createKHopDefaultParams(); - this.validateKHopParamsErrorMessage = createValidateKHopParamsErrorMessage(); - } - - @action - addCustomPathRule() { - this.customPathParams.steps.push({ - uuid: v4(), - direction: 'BOTH', - labels: this.dataAnalyzeStore.edgeTypes.map(({ name }) => name), - weight_by: '', - default_weight: '', - properties: [['', '']], - degree: '10000', - sample: '100' - }); - - // add error message together - this.validateCustomPathParmasErrorMessage.steps.push({ - uuid: '', - direction: '', - labels: '', - weight_by: '', - default_weight: '', - properties: '', - degree: '', - sample: '' - }); - } - - @action - removeCustomPathRule(ruleIndex: number) { - remove(this.customPathParams.steps, (_, index) => index === ruleIndex); - // remove error message together - remove( - this.validateCustomPathParmasErrorMessage.steps, - (_, index) => index === ruleIndex - ); - } - - @action - addCustomPathVertexProperty() { - this.customPathParams.vertexProperty.push(['', '']); - } - - @action - removeCustomPathVertexProperty(propertyIndex: number) { - remove( - this.customPathParams.vertexProperty, - (_, index) => index === propertyIndex - ); - } - - @action - addCustomPathRuleProperty(ruleIndex: number) { - this.customPathParams.steps[ruleIndex].properties.push(['', '']); - } - - @action - removeCustomPathRuleProperty(ruleIndex: number, propertyIndex: number) { - remove( - this.customPathParams.steps[ruleIndex].properties, - (_, index) => index === propertyIndex - ); - } - - @action - mutateCustomPathParams( - key: T, - value: CustomPathParams[T] - ) { - this.customPathParams[key] = value; - } - - @action - mutateCustomPathRuleParams( - key: T, - value: CustomPathRule[T], - index: number - ) { - this.customPathParams.steps[index][key] = value; - } - - @action - validateCustomPathParams(key: T) { - const value = this.customPathParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateCustomPathParmasErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.no-empty' - ); - - return; - } - - this.validateCustomPathParmasErrorMessage.source = ''; - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateCustomPathParmasErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - this.validateCustomPathParmasErrorMessage.capacity = ''; - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateCustomPathParmasErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - this.validateCustomPathParmasErrorMessage.capacity = ''; - break; - } - } - - @action - validateCustomPathRules( - key: T, - ruleIndex: number - ) { - const value = this.customPathParams.steps[ruleIndex][key]; - - switch (key) { - case 'properties': - if (isEmpty(value)) { - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.no-empty' - ); - - return; - } - - break; - case 'degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - break; - case 'sample': - if (!isGtNegativeOneButZero(value as string)) { - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - break; - case 'default_weight': - if (isEmpty(value)) { - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.no-empty' - ); - - return; - } - - if (!isFloat(value as string)) { - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.custom-path.validations.input-number' - ); - - return; - } - - break; - default: - return; - } - - this.validateCustomPathParmasErrorMessage.steps[ruleIndex][key] = ''; - } - - @action - switchCustomPathMethod(method: string) { - this.customPathParams.method = method; - - if (method === 'id') { - this.customPathParams.vertexType = ''; - this.customPathParams.vertexProperty = [['', '']]; - this.validateCustomPathParmasErrorMessage.vertexType = ''; - this.validateCustomPathParmasErrorMessage.vertexProperty = ''; - } else { - this.customPathParams.source = ''; - this.validateCustomPathParmasErrorMessage.source = ''; - } - } - - @action - resetCustomPathParams() { - this.customPathParams = createCustomPathDefaultParams(); - - // manually assign step edge values - this.customPathParams.steps[0].labels = this.dataAnalyzeStore.edgeTypes.map( - ({ name }) => name - ); - this.validateCustomPathParmasErrorMessage = createValidateCustomPathParamsErrorMessage(); - } - - @action - mutateRadiographicInspectionParams( - key: T, - value: RadiographicInspection[T] - ) { - this.radiographicInspectionParams[key] = value; - } - - @action - validateRadiographicInspectionParams( - key: T - ) { - const value = this.radiographicInspectionParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.no-empty' - ); - - return; - } - - break; - case 'max_depth': - if (isEmpty(value)) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.no-empty' - ); - - return; - } - - if (!isInt(value, { min: 1 })) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.postive-integer-only' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value)) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value)) { - this.validateRadiographicInspectionParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateRadiographicInspectionParamsErrorMessage[key] = ''; - } - - @action - resetRadiographicInspectionParams() { - this.radiographicInspectionParams = createRadiographicInspectionDefaultParams(); - this.validateRadiographicInspectionParamsErrorMessage = createValidateRadiographicInspectionParamsErrorMessage(); - } - - @action - mutateSameNeighborParams( - key: T, - value: SameNeighbor[T] - ) { - this.sameNeighborParams[key] = value; - } - - @action - validateSameNeighborParams(key: T) { - const value = this.sameNeighborParams[key]; - - switch (key) { - case 'vertex': - if (isEmpty(value)) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.no-empty' - ); - - return; - } - - if (value === this.sameNeighborParams.other) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.no-same-value-with-other' - ); - - return; - } - - break; - case 'other': - if (isEmpty(value)) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.no-empty' - ); - - return; - } - - if (value === this.sameNeighborParams.vertex) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.no-same-value-with-vertex' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value)) { - this.validateSameNeighborParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.same-neighbor.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateSameNeighborParamsErrorMessage[key] = ''; - } - - @action - resetSameNeighborParams() { - this.sameNeighborParams = createSameNeighborDefaultParams(); - this.validateSameNeighborParamsErrorMessage = createValidateSameNeighborParamsErrorMessage(); - } - - @action - mutateWeightedShortestPathParams( - key: T, - value: WeightedShortestPath[T] - ) { - this.weightedShortestPathParams[key] = value; - } - - @action - validateWeightedShortestPathParams( - key: T - ) { - const value = this.weightedShortestPathParams[key]; - - switch (key) { - case 'source': - case 'target': - if (isEmpty(value)) { - this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.weighted-shortest-path.validations.no-empty' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.weighted-shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'skip_degree': - if (value !== '' && !isInt(value as string, { min: 0 })) { - this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.weighted-shortest-path.validations.integer-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.weighted-shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateWeightedShortestPathParamsErrorMessage[key] = ''; - } - - @action - resetWeightedShortestPathParams() { - this.weightedShortestPathParams = createWeightedShortestPathDefaultParams(); - this.validateWeightedShortestPathParamsErrorMessage = createValidateWeightedShortestPathParamsErrorMessage(); - } - - @action - mutateSingleSourceWeightedShortestPathParams< - T extends keyof SingleSourceWeightedShortestPath - >(key: T, value: SingleSourceWeightedShortestPath[T]) { - this.singleSourceWeightedShortestPathParams[key] = value; - } - - @action - validateSingleSourceWeightedShortestPathParams< - T extends keyof SingleSourceWeightedShortestPath - >(key: T) { - const value = this.singleSourceWeightedShortestPathParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.no-empty' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'skip_degree': - if (value !== '' && !isInt(value as string, { min: 0 })) { - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.integer-only' - ); - - return; - } - - break; - case 'capacity': - if (!isGtNegativeOneButZero(value as string)) { - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ - key - ] = i18next.t( - 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateSingleSourceWeightedShortestPathParamsErrorMessage[key] = ''; - } - - @action - resetSingleSourceWeightedShortestPathParams() { - this.singleSourceWeightedShortestPathParams = createSingleSourceWeightedShortestPathDefaultParams(); - this.validateSingleSourceWeightedShortestPathParamsErrorMessage = createValidateSingleSourceWeightedShortestPathParamsErrorMessage(); - } - - @action - mutateJaccardParams(key: T, value: Jaccard[T]) { - this.jaccardParams[key] = value; - } - - @action - validateJaccardParams(key: T) { - const value = this.jaccardParams[key]; - - switch (key) { - case 'vertex': - if (isEmpty(value)) { - this.validateJaccardParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.jaccard.validations.no-empty' - ); - - return; - } - - if (value === this.jaccardParams.other) { - this.validateJaccardParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.jaccard.validations.no-same-value-with-other' - ); - - return; - } - - break; - case 'other': - if (isEmpty(value)) { - this.validateJaccardParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.jaccard.validations.no-empty' - ); - - return; - } - - if (value === this.jaccardParams.vertex) { - this.validateJaccardParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.jaccard.validations.no-same-value-with-vertex' - ); - - return; - } - - break; - case 'max_degree': - if (!isGtNegativeOneButZero(value)) { - this.validateJaccardParamsErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.jaccard.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validateJaccardParamsErrorMessage[key] = ''; - } - - @action - resetJaccardParams() { - this.jaccardParams = createJaccardDefaultParams(); - this.validateJaccardParamsErrorMessage = createValidateJaccardParamsErrorMessage(); - } - - @action - mutatePersonalRankParams( - key: T, - value: PersonalRank[T] - ) { - this.personalRankParams[key] = value; - } - - @action - validatePersonalRankParams(key: T) { - const value = this.personalRankParams[key]; - - switch (key) { - case 'source': - if (isEmpty(value)) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' - ); - - return; - } - - break; - case 'alpha': - if (isEmpty(value)) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' - ); - - return; - } - - if ( - Object.is(Number(value), NaN) || - Number(value) > 1 || - Number(value) <= 0 - ) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.alpha-range' - ); - - return; - } - - break; - case 'max_depth': - if (isEmpty(value)) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' - ); - - return; - } - - if ( - Object.is(Number(value), NaN) || - Number(value) > 50 || - Number(value) <= 0 - ) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.depth-range' - ); - - return; - } - - break; - case 'degree': - if (!isGtNegativeOneButZero(value as string)) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - case 'limit': - if (!isGtNegativeOneButZero(value as string)) { - this.validatePersonalRankErrorMessage[key] = i18next.t( - 'data-analyze.algorithm-forms.personal-rank.validations.positive-integer-or-negative-one-only' - ); - - return; - } - - break; - } - - this.validatePersonalRankErrorMessage[key] = ''; - } - - @action - resetPersonalRankParams() { - this.personalRankParams = createPersonalRankDefaultParams(); - this.validatePersonalRankErrorMessage = createValidatePersonalRankParamsErrorMessage(); - } - - @action - dispose() { - this.requestStatus = initializeRequestStatus(); - this.errorInfo = initializeErrorInfo(); - this.currentAlgorithm = ''; - - this.resetLoopDetectionParams(); - this.resetFocusDetectionParams(); - this.resetShortestPathParams(); - this.resetShortestPathAllParams(); - this.resetAllPathParams(); - this.resetModelSimilarityParams(); - this.resetNeighborRankParams(); - this.resetKStepNeighborParams(); - this.resetKHopParams(); - this.resetCustomPathParams(); - this.resetRadiographicInspectionParams(); - this.resetSameNeighborParams(); - this.resetWeightedShortestPathParams(); - this.resetSingleSourceWeightedShortestPathParams(); - this.resetJaccardParams(); - this.resetPersonalRankParams(); - } -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts deleted file mode 100644 index 763723830..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts +++ /dev/null @@ -1,2538 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow, computed, runInAction } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { - isUndefined, - cloneDeep, - isEmpty, - remove, - size, - fromPairs, - invert, - flatten, - uniq -} from 'lodash-es'; -import vis from 'vis-network'; -import isInt from 'validator/lib/isInt'; -import isUUID from 'validator/lib/isUUID'; -import i18next from '../../../i18n'; - -import { AlgorithmAnalyzerStore } from './algorithmAnalyzerStore'; -import { - initalizeErrorInfo, - initalizeRequestStatus, - createGraphNode, - createGraphEdge, - createGraphEditableProperties, - createNewGraphDataConfig -} from '../../factory/dataAnalyzeStore/dataAnalyzeStore'; -import { Algorithm } from '../../factory/dataAnalyzeStore/algorithmStore'; -import { - checkIfLocalNetworkOffline, - convertArrayToString, - validateGraphProperty, - vertexRadiusMapping, - edgeWidthMapping -} from '../../utils'; - -import { baseUrl, responseData, dict } from '../../types/common'; -import type { - GraphData, - GraphDataResponse -} from '../../types/GraphManagementStore/graphManagementStore'; -import type { - ColorSchemas, - RuleMap, - FetchColorSchemas, - FetchFilteredPropertyOptions, - NewGraphData, - GraphNode, - GraphEdge, - GraphView, - FetchGraphResponse, - ValueTypes, - AddQueryCollectionParams, - ExecutionLogs, - ExecutionLogsResponse, - FavoriteQuery, - FavoriteQueryResponse, - EditableProperties, - ShortestPathAlgorithmParams, - LoopDetectionParams, - FocusDetectionParams, - ShortestPathAllAlgorithmParams, - AllPathAlgorithmParams, - ModelSimilarityParams, - NeighborRankParams, - NeighborRankRule, - KHop, - RadiographicInspection, - SameNeighbor, - WeightedShortestPath, - SingleSourceWeightedShortestPath, - Jaccard, - PersonalRank, - CustomPathRule, - KStepNeighbor -} from '../../types/GraphManagementStore/dataAnalyzeStore'; -import type { - VertexTypeListResponse, - VertexType, - EdgeType, - MetadataPropertyIndex -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import type { EdgeTypeListResponse } from '../../types/GraphManagementStore/metadataConfigsStore'; -import { - AlgorithmInternalNameMapping, - removeLabelKey, - filterEmptyAlgorightmParams -} from '../../../utils'; - -const ruleMap: RuleMap = { - 大于: 'gt', - 大于等于: 'gte', - 等于: 'eq', - 小于: 'lt', - 小于等于: 'lte', - True: 'eq', - False: 'eq' -}; - -const monthMaps: Record = { - Jan: '01', - Feb: '02', - Mar: '03', - Apr: '04', - May: '05', - Jun: '06', - Jul: '07', - Aug: '08', - Sep: '09', - Oct: '10', - Nov: '11', - Dec: '12' -}; - -export class DataAnalyzeStore { - [key: string]: any; - algorithmAnalyzerStore: AlgorithmAnalyzerStore; - - constructor() { - this.algorithmAnalyzerStore = new AlgorithmAnalyzerStore(this); - } - - @observable currentId: number | null = null; - @observable currentTab = 'gremlin-analyze'; - @observable searchText = ''; - @observable isSidebarExpanded = false; - @observable isLoadingGraph = false; - @observable isGraphLoaded = false; - @observable isFullScreenReuslt = false; - @observable isShowFilterBoard = false; - // right-side drawer - @observable isShowGraphInfo = false; - @observable isClickOnNodeOrEdge = false; - // v1.5.0: gremlin query mode - @observable queryMode: 'query' | 'task' = 'query'; - @observable favoritePopUp = ''; - // whether user selects vertex or edge - @observable graphInfoDataSet = ''; - @observable codeEditorInstance: CodeMirror.Editor | null = null; - @observable codeEditorText = ''; - @observable dynamicAddGraphDataStatus = ''; - @observable favoriteQueriesSortOrder: Record< - 'time' | 'name', - 'desc' | 'asc' | '' - > = { - time: '', - name: '' - }; - - // vis instance - @observable.ref visNetwork: vis.Network | null = null; - @observable.ref visDataSet: Record<'nodes' | 'edges', any> | null = null; - @observable.ref visCurrentCoordinates = { - domX: '', - domY: '', - canvasX: '', - canvasY: '' - }; - - // Mutate this variable to let mobx#reaction fires it's callback and set value for CodeEditor - @observable pulse = false; - - // datas - @observable.ref idList: { id: number; name: string }[] = []; - @observable.ref properties: ValueTypes[] = []; - @observable.ref valueTypes: Record = {}; - @observable.ref vertexTypes: VertexType[] = []; - @observable.ref edgeTypes: EdgeType[] = []; - @observable.ref propertyIndexes: MetadataPropertyIndex[] = []; - @observable.ref colorSchemas: ColorSchemas = {}; - @observable.ref colorList: string[] = []; - @observable.ref colorMappings: Record = {}; - @observable.ref vertexSizeMappings: Record = {}; - @observable.ref vertexWritingMappings: Record = {}; - @observable.ref edgeColorMappings: Record = {}; - @observable.ref edgeWithArrowMappings: Record = {}; - @observable.ref edgeThicknessMappings: Record = {}; - @observable.ref edgeWritingMappings: Record = {}; - @observable.ref - originalGraphData: FetchGraphResponse = {} as FetchGraphResponse; - @observable.ref - graphData: FetchGraphResponse = {} as FetchGraphResponse; - @observable.ref - expandedGraphData: FetchGraphResponse = {} as FetchGraphResponse; - @observable.ref - relatedGraphEdges: string[] = []; - @observable vertexCollection = new Set(); - @observable edgeCollection = new Set(); - @observable.ref executionLogData: ExecutionLogs[] = []; - @observable.ref favoriteQueryData: FavoriteQuery[] = []; - @observable.ref graphDataEdgeTypes: string[] = []; - @observable.ref filteredPropertyOptions: string[] = []; - - // data struct sync to GraphManagementStore - @observable.shallow isSearched = { - status: false, - value: '' - }; - - @observable filteredGraphQueryOptions = { - line: { - type: '', - direction: 'BOTH' - } as Record<'type' | 'direction', string>, - properties: [] as dict[] - }; - - @observable - newGraphNodeConfigs: NewGraphData = createNewGraphDataConfig(); - @observable - newGraphEdgeConfigs: NewGraphData = createNewGraphDataConfig(); - @observable selectedGraphData: GraphNode = createGraphNode(); - @observable - editedSelectedGraphDataProperties = createGraphEditableProperties(); - @observable selectedGraphLinkData: GraphEdge = createGraphEdge(); - // @observable - // editedSelectedGraphEdgeProperties = createGraphEditableProperties(); - @observable.ref rightClickedGraphData: GraphNode = createGraphNode(); - - @observable pageConfigs: { - [key: string]: { - pageNumber: number; - pageTotal: number; - pageSize?: number; - }; - } = { - tableResult: { - pageNumber: 1, - pageTotal: 0 - }, - executionLog: { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - }, - favoriteQueries: { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - } - }; - - @observable.shallow requestStatus = initalizeRequestStatus(); - @observable errorInfo = initalizeErrorInfo(); - - @computed get allPropertiesFromEdge() { - return uniq( - flatten( - this.edgeTypes.map(({ properties }) => - properties.map(({ name }) => name) - ) - ) - ); - } - - @computed get graphNodes(): GraphNode[] { - return this.originalGraphData.data.graph_view.vertices.map( - ({ id, label, properties }) => { - // if user create new node or edge in query statement - // rather in schema manager, there's no style in default - const joinedLabel = !isUndefined(this.vertexWritingMappings[label]) - ? this.vertexWritingMappings[label] - .map((field) => (field === '~id' ? id : properties[field])) - .filter((label) => label !== undefined && label !== null) - .join('-') - : id; - - return { - id, - label: - size(joinedLabel) <= 15 - ? joinedLabel - : joinedLabel.slice(0, 15) + '...', - vLabel: label, - value: vertexRadiusMapping[this.vertexSizeMappings[label]], - font: { size: 16 }, - properties, - title: ` -
-
${i18next.t('addition.common.vertex-type')}:
-
${label}
-
-
-
${i18next.t('addition.common.vertex-id')}:
-
${id}
-
- ${Object.entries(properties) - .map(([key, value]) => { - return `
-
${key}:
-
${convertArrayToString(value)}
-
`; - }) - .join('')} - `, - color: { - background: this.colorMappings[label] || '#5c73e6', - border: this.colorMappings[label] || '#5c73e6', - highlight: { background: '#fb6a02', border: '#fb6a02' }, - hover: { background: '#ec3112', border: '#ec3112' } - }, - // reveal label when zoom to max - scaling: { - label: { - max: Infinity, - maxVisible: Infinity - } - }, - chosen: { - node( - values: any, - id: string, - selected: boolean, - hovering: boolean - ) { - if (hovering || selected) { - values.shadow = true; - values.shadowColor = 'rgba(0, 0, 0, 0.6)'; - values.shadowX = 0; - values.shadowY = 0; - values.shadowSize = 25; - } - - if (selected) { - values.size += 5; - } - } - } - }; - } - ); - } - - @computed get graphEdges(): GraphEdge[] { - return this.originalGraphData.data.graph_view.edges.map( - ({ id, label, source, target, properties }) => { - // if user create new node or edge in query statement - // rather in schema manager, there's no style in default - const joinedLabel = !isUndefined(this.edgeWritingMappings[label]) - ? this.edgeWritingMappings[label] - .map((field) => (field === '~id' ? label : properties[field])) - .join('-') - : label; - - return { - id, - label: - joinedLabel.length <= 15 - ? joinedLabel - : joinedLabel.slice(0, 15) + '...', - properties, - source, - target, - from: source, - to: target, - font: { - size: 16, - strokeWidth: 0, - color: '#666' - }, - arrows: this.edgeWithArrowMappings[label] ? 'to' : '', - color: this.edgeColorMappings[label], - value: edgeWidthMapping[this.edgeThicknessMappings[label]], - title: ` -
-
${i18next.t('addition.common.edge-type')}:
-
${label}
-
-
-
${i18next.t('addition.common.edge-id')}:
-
${id}
-
- ${Object.entries(properties) - .map(([key, value]) => { - return `
-
${key}:
-
${convertArrayToString(value)}
-
`; - }) - .join('')} - ` - }; - } - ); - } - - @action - setCurrentId(id: number) { - this.currentId = id; - } - - @action - setCurrentTab(tab: string) { - this.currentTab = tab; - } - - @action - switchGraphLoaded(flag: boolean) { - this.isGraphLoaded = flag; - } - - @action - setFullScreenReuslt(flag: boolean) { - this.isFullScreenReuslt = flag; - } - - @action - setQueryMode(mode: 'query' | 'task') { - this.queryMode = mode; - } - - @action - setDynamicAddGraphDataStatus(status: string) { - this.dynamicAddGraphDataStatus = status; - } - - @action - setNewGraphDataConfig( - type: 'vertex' | 'edge', - key: T, - value: NewGraphData[T] - ) { - if (type === 'vertex') { - this.newGraphNodeConfigs[key] = value; - } else { - this.newGraphEdgeConfigs[key] = value; - } - } - - @action - setNewGraphDataConfigProperties( - type: 'vertex' | 'edge', - nullable: 'nullable' | 'nonNullable', - key: string, - value: string - ) { - if (type === 'vertex') { - if (nullable === 'nullable') { - this.newGraphNodeConfigs.properties.nullable.set(key, value); - } else { - this.newGraphNodeConfigs.properties.nonNullable.set(key, value); - } - } else { - if (nullable === 'nullable') { - this.newGraphEdgeConfigs.properties.nullable.set(key, value); - } else { - this.newGraphEdgeConfigs.properties.nonNullable.set(key, value); - } - } - } - - @action - syncNewGraphDataProperties(type: 'vertex' | 'edge') { - const config = - type === 'vertex' ? this.newGraphNodeConfigs : this.newGraphEdgeConfigs; - config.properties.nonNullable.clear(); - config.properties.nullable.clear(); - - const selectedLabel = - type === 'vertex' - ? this.vertexTypes.find(({ name }) => name === config.label) - : this.edgeTypes.find(({ name }) => name === config.label); - - if (!isUndefined(selectedLabel)) { - const nonNullableProperties = selectedLabel.properties.filter( - ({ nullable }) => !nullable - ); - - nonNullableProperties.forEach(({ name }) => { - config.properties.nonNullable.set(name, ''); - }); - - const nullableProperties = selectedLabel.properties.filter( - ({ nullable }) => nullable - ); - - nullableProperties.forEach(({ name }) => { - config.properties.nullable.set(name, ''); - }); - } - } - - @action - syncGraphEditableProperties(type: 'vertex' | 'edge') { - Object.values(this.editedSelectedGraphDataProperties).forEach( - (property) => { - property.clear(); - } - ); - - const selectedLabel = - type === 'vertex' - ? this.vertexTypes.find( - ({ name }) => name === this.selectedGraphData.label - ) - : this.edgeTypes.find( - ({ name }) => name === this.selectedGraphLinkData.label - ); - - if (!isUndefined(selectedLabel)) { - const selectedGraphData = - type === 'vertex' ? this.selectedGraphData : this.selectedGraphLinkData; - const selectedGraphDataPropertKeys = Object.keys( - type === 'vertex' - ? this.selectedGraphData.properties - : this.selectedGraphLinkData.properties - ); - - // to keep sort of primary keys, need to iter it first - if (type === 'vertex') { - (selectedLabel as VertexType).primary_keys.forEach((name) => { - if (selectedGraphDataPropertKeys.includes(name)) { - this.editedSelectedGraphDataProperties.primary.set( - name, - convertArrayToString(selectedGraphData.properties[name]) - ); - - remove(selectedGraphDataPropertKeys, (key) => key === name); - } - }); - } else { - (selectedLabel as EdgeType).sort_keys.forEach((name) => { - if (selectedGraphDataPropertKeys.includes(name)) { - this.editedSelectedGraphDataProperties.primary.set( - name, - convertArrayToString(selectedGraphData.properties[name]) - ); - - remove(selectedGraphDataPropertKeys, (key) => key === name); - } - }); - } - - selectedLabel.properties - .filter(({ nullable }) => !nullable) - .forEach(({ name }) => { - if (selectedGraphDataPropertKeys.includes(name)) { - this.editedSelectedGraphDataProperties.nonNullable.set( - name, - convertArrayToString(selectedGraphData.properties[name]) - ); - } - - remove(selectedGraphDataPropertKeys, (key) => key === name); - }); - - selectedLabel.properties - .filter(({ nullable }) => nullable) - .forEach(({ name }) => { - if (selectedGraphDataPropertKeys.includes(name)) { - this.editedSelectedGraphDataProperties.nullable.set( - name, - convertArrayToString(selectedGraphData.properties[name]) - ); - } - }); - } - } - - @action - resetNewGraphData(type: 'vertex' | 'edge') { - if (type === 'vertex') { - this.newGraphNodeConfigs = createNewGraphDataConfig(); - } else { - this.newGraphEdgeConfigs = createNewGraphDataConfig(); - } - } - - @action - setVisNetwork(visNetwork: vis.Network) { - this.visNetwork = visNetwork; - } - - @action - setVisDataSet(visDataSet: Record<'nodes' | 'edges', any>) { - this.visDataSet = visDataSet; - } - - @action - setVisCurrentCoordinates(coordinates: { - domX: string; - domY: string; - canvasX: string; - canvasY: string; - }) { - this.visCurrentCoordinates = coordinates; - } - - @action - mutateSearchText(text: string) { - this.searchText = text; - } - - @action - switchShowScreenInfo(flag: boolean) { - this.isShowGraphInfo = flag; - } - - @action - switchClickOnNodeOrEdge(flag: boolean) { - this.isClickOnNodeOrEdge = flag; - } - - @action - switchShowFilterBoard(flag: boolean) { - this.isShowFilterBoard = flag; - } - - @action - switchShowScreeDataSet(dataSet: string) { - this.graphInfoDataSet = dataSet; - } - - @action - setFavoritePopUp(popupCategory: string) { - this.favoritePopUp = popupCategory; - } - - @action - triggerLoadingStatementsIntoEditor() { - this.pulse = !this.pulse; - } - - @action - assignCodeEditorInstance(instance: CodeMirror.Editor) { - this.codeEditorInstance = instance; - } - - @action - mutateCodeEditorText(text: string) { - this.codeEditorText = text; - } - - // change selected graph node - @action - changeSelectedGraphData(selectedData: GraphNode) { - this.selectedGraphData = selectedData; - } - - // change selected graph edge - @action - changeSelectedGraphLinkData(selectedLinkData: GraphEdge) { - this.selectedGraphLinkData = selectedLinkData; - } - - @action - changeRightClickedGraphData(rightClickedData: GraphNode) { - this.rightClickedGraphData = rightClickedData; - } - - @action - mutatePageNumber(category: string, pageNumber: number) { - this.pageConfigs[category].pageNumber = pageNumber; - } - - @action - mutatePageSize(category: string, pageSize: number) { - this.pageConfigs[category].pageSize = pageSize; - } - - @action - editEdgeFilterOption(key: 'type' | 'direction', value: string) { - this.filteredGraphQueryOptions.line[key] = value; - } - - @action - addPropertyFilterOption() { - this.filteredGraphQueryOptions.properties.push({ - property: '', - rule: '', - value: '' - }); - } - - @action - editPropertyFilterOption( - key: 'property' | 'rule' | 'value', - value: string | number, - index: number - ) { - this.filteredGraphQueryOptions.properties[index][key] = value; - } - - @action - deletePropertyFilterOption(index: number) { - this.filteredGraphQueryOptions.properties.splice(index, 1); - } - - @action - addTempExecLog() { - const date = new Date(); - const [week, month, day, year, time] = date.toString().split(' '); - const timeString = `${year}-${monthMaps[month]}-${day} ${time}`; - - const tempData: ExecutionLogs = { - id: NaN, - async_id: NaN, - algorithm_name: - this.currentTab === 'algorithm-analyze' - ? invert(AlgorithmInternalNameMapping)[ - this.algorithmAnalyzerStore.currentAlgorithm - ] - : '', - async_status: 'UNKNOWN', - type: - this.currentTab === 'algorithm-analyze' - ? 'ALGORITHM' - : this.queryMode === 'query' - ? 'GREMLIN' - : 'GREMLIN_ASYNC', - content: - this.currentTab === 'algorithm-analyze' - ? JSON.stringify(this.algorithmAnalyzerStore.currentAlgorithmParams) - : this.codeEditorText, - status: 'RUNNING', - duration: '0ms', - create_time: timeString - }; - - this.executionLogData = [tempData].concat( - this.executionLogData.slice(0, 9) - ); - - return window.setInterval(() => { - this.executionLogData[0].duration = - String(Number(this.executionLogData[0].duration.split('ms')[0]) + 10) + - 'ms'; - - runInAction(() => { - this.executionLogData = this.executionLogData.slice(); - }); - }, 10); - } - - @action - swtichIsSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchText) - : (this.isSearched.value = ''); - } - - @action - changeFavoriteQueriesSortOrder( - key: 'time' | 'name', - order: 'desc' | 'asc' | '' - ) { - this.favoriteQueriesSortOrder[key] = order; - } - - @action - clearFilteredGraphQueryOptions() { - this.filteredGraphQueryOptions = { - line: { - type: '', - direction: 'BOTH' - } as Record<'type' | 'direction', string>, - properties: [] as dict[] - }; - } - - @observable - validateAddGraphNodeErrorMessage: NewGraphData | null = null; - @observable - validateAddGraphEdgeErrorMessage: NewGraphData | null = null; - @observable - validateEditableGraphDataPropertyErrorMessage: EditableProperties | null = null; - - @action - initValidateAddGraphDataErrorMessage(type: 'vertex' | 'edge') { - const config = - type === 'vertex' ? this.newGraphNodeConfigs : this.newGraphEdgeConfigs; - const nonNullable = new Map([...config.properties.nonNullable]); - const nullable = new Map([...config.properties.nullable]); - - if (type === 'vertex') { - this.validateAddGraphNodeErrorMessage = { - id: '', - label: '', - properties: { - nonNullable, - nullable - } - }; - } else { - this.validateAddGraphEdgeErrorMessage = { - id: '', - label: '', - properties: { - nonNullable, - nullable - } - }; - } - } - - @action - editGraphDataProperties( - nullable: 'nonNullable' | 'nullable', - key: string, - value: string - ) { - this.editedSelectedGraphDataProperties[nullable].set(key, value); - } - - @action - initValidateEditGraphDataPropertiesErrorMessage() { - this.validateEditableGraphDataPropertyErrorMessage = { - nonNullable: new Map(), - nullable: new Map() - }; - - this.editedSelectedGraphDataProperties.nonNullable.forEach((value, key) => { - this.validateEditableGraphDataPropertyErrorMessage!.nonNullable.set( - key, - '' - ); - }); - - this.editedSelectedGraphDataProperties.nullable.forEach((value, key) => { - this.validateEditableGraphDataPropertyErrorMessage!.nullable.set(key, ''); - }); - } - - @action - validateAddGraphNode( - idStrategy: string, - initial = false, - category?: 'id' | 'nonNullable' | 'nullable', - key?: string - ) { - if (category === 'id') { - if (idStrategy === 'CUSTOMIZE_STRING') { - this.validateAddGraphNodeErrorMessage!.id = - initial || !isEmpty(this.newGraphNodeConfigs.id) - ? '' - : i18next.t('addition.store.illegal-data-format'); - } - - if (idStrategy === 'CUSTOMIZE_NUMBER') { - this.validateAddGraphNodeErrorMessage!.id = - initial || isInt(this.newGraphNodeConfigs.id!) - ? '' - : i18next.t('addition.store.illegal-data-format'); - } - - if (idStrategy === 'CUSTOMIZE_UUID') { - this.validateAddGraphNodeErrorMessage!.id = - initial || isUUID(String(this.newGraphNodeConfigs.id), 4) - ? '' - : i18next.t('addition.store.illegal-data-format'); - } - } - - if (category === 'nonNullable') { - if ( - initial || - isEmpty(this.newGraphNodeConfigs.properties.nonNullable.get(key!)) - ) { - this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( - key!, - i18next.t('addition.store.cannot-be-empty') - ); - - return; - } - - if ( - initial || - !validateGraphProperty( - this.valueTypes[key!], - this.newGraphNodeConfigs.properties.nonNullable.get(key!)! - ) - ) { - this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( - key!, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( - key!, - '' - ); - } - - if (category === 'nullable') { - if ( - initial || - !validateGraphProperty( - this.valueTypes[key!], - this.newGraphNodeConfigs.properties.nullable.get(key!)!, - true - ) - ) { - this.validateAddGraphNodeErrorMessage?.properties.nullable.set( - key!, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateAddGraphNodeErrorMessage?.properties.nullable.set(key!, ''); - } - } - - @action - validateAddGraphEdge( - category: 'id' | 'nonNullable' | 'nullable', - initial = false, - key?: string - ) { - if (category === 'id') { - this.validateAddGraphEdgeErrorMessage!.id = - initial || !isEmpty(this.newGraphEdgeConfigs.id) - ? '' - : i18next.t('addition.store.illegal-data-format'); - } - - if (category === 'nonNullable') { - if ( - initial || - isEmpty(this.newGraphEdgeConfigs.properties.nonNullable.get(key!)) - ) { - this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( - key!, - i18next.t('addition.store.cannot-be-empty') - ); - - return; - } - - if ( - initial || - !validateGraphProperty( - this.valueTypes[key!], - this.newGraphEdgeConfigs.properties.nonNullable.get(key!)! - ) - ) { - this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( - key!, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( - key!, - '' - ); - } - - if (category === 'nullable') { - if ( - initial || - !validateGraphProperty( - this.valueTypes[key!], - this.newGraphEdgeConfigs.properties.nullable.get(key!)!, - true - ) - ) { - this.validateAddGraphEdgeErrorMessage?.properties.nullable.set( - key!, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateAddGraphEdgeErrorMessage?.properties.nullable.set(key!, ''); - } - } - - @action - validateGraphDataEditableProperties( - type: 'nonNullable' | 'nullable', - key: string - ) { - if (type === 'nonNullable') { - if ( - isEmpty(this.editedSelectedGraphDataProperties?.nonNullable.get(key)) - ) { - this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( - key, - i18next.t('addition.store.cannot-be-empty') - ); - - return; - } - - if ( - !validateGraphProperty( - this.valueTypes[key!], - this.editedSelectedGraphDataProperties?.nonNullable.get(key) - ) - ) { - this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( - key, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( - key, - '' - ); - } - - if (type === 'nullable') { - if ( - !validateGraphProperty( - this.valueTypes[key!], - this.editedSelectedGraphDataProperties?.nullable.get(key), - true - ) - ) { - this.validateEditableGraphDataPropertyErrorMessage?.nullable.set( - key, - i18next.t('addition.store.illegal-data-format') - ); - - return; - } - - this.validateEditableGraphDataPropertyErrorMessage?.nullable.set(key, ''); - } - } - - @action - resetRightClickedGraphData() { - this.rightClickedGraphData = { - id: '', - label: '', - properties: {} - }; - } - - @action - resetFavoriteRequestStatus(type: 'add' | 'edit') { - if (type === 'add') { - this.requestStatus.addQueryCollection = 'standby'; - this.errorInfo.addQueryCollection.code = NaN; - this.errorInfo.addQueryCollection.message = ''; - } - - if (type === 'edit') { - this.requestStatus.editQueryCollection = 'standby'; - this.errorInfo.editQueryCollection.code = NaN; - this.errorInfo.editQueryCollection.message = ''; - } - } - - @action - resetSwitchTabState() { - this.isLoadingGraph = false; - this.isGraphLoaded = false; - this.isShowGraphInfo = false; - this.isClickOnNodeOrEdge = false; - this.queryMode = 'query'; - this.dynamicAddGraphDataStatus = ''; - this.graphData = {} as FetchGraphResponse; - - this.visNetwork = null; - this.visDataSet = null; - this.visCurrentCoordinates = { - domX: '', - domY: '', - canvasX: '', - canvasY: '' - }; - - this.selectedGraphData = createGraphNode(); - this.selectedGraphLinkData = createGraphEdge(); - - this.pageConfigs.tableResult = { - pageNumber: 1, - pageTotal: 0 - }; - - this.requestStatus.fetchGraphs = 'standby'; - this.requestStatus.createAsyncTask = 'standby'; - this.errorInfo.fetchGraphs = { - code: NaN, - message: '' - }; - this.errorInfo.createAsyncTask = { - code: NaN, - message: '' - }; - - this.clearFilteredGraphQueryOptions(); - } - - @action - resetIdState() { - this.currentId = null; - this.currentTab = 'gremlin-analyze'; - this.searchText = ''; - this.isSidebarExpanded = false; - this.isLoadingGraph = false; - this.isGraphLoaded = false; - this.isShowGraphInfo = false; - this.isFullScreenReuslt = false; - this.isClickOnNodeOrEdge = false; - this.queryMode = 'query'; - this.codeEditorInstance = null; - this.codeEditorText = ''; - this.dynamicAddGraphDataStatus = ''; - this.graphData = {} as FetchGraphResponse; - - this.visNetwork = null; - this.visDataSet = null; - this.visCurrentCoordinates = { - domX: '', - domY: '', - canvasX: '', - canvasY: '' - }; - - this.properties = []; - - this.isSearched = { - status: false, - value: '' - }; - - this.selectedGraphData = createGraphNode(); - this.selectedGraphLinkData = createGraphEdge(); - - this.pageConfigs = { - tableResult: { - pageNumber: 1, - pageTotal: 0 - }, - executionLog: { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - }, - favoriteQueries: { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - } - }; - - this.requestStatus = initalizeRequestStatus(); - this.errorInfo = initalizeErrorInfo(); - this.clearFilteredGraphQueryOptions(); - } - - @action - dispose() { - this.resetIdState(); - this.vertexTypes = []; - this.edgeTypes = []; - this.idList = []; - } - - fetchIdList = flow(function* fetchIdList(this: DataAnalyzeStore) { - this.requestStatus.fetchIdList = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - GraphData - >(baseUrl, { - params: { - page_size: -1 - } - }); - - if (result.data.status !== 200) { - this.errorInfo.fetchIdList.code = result.data.status; - throw new Error(result.data.message); - } - - this.idList = result.data.data.records.map(({ id, name }) => ({ - id, - name - })); - this.requestStatus.fetchIdList = 'success'; - } catch (error) { - this.requestStatus.fetchIdList = 'failed'; - this.errorInfo.fetchIdList.message = error.message; - console.error(error.message); - } - }); - - // to know the type of properties - fetchValueTypes = flow(function* fetchValueTypes(this: DataAnalyzeStore) { - this.requestStatus.fetchValueTypes = 'pending'; - - try { - const result = yield axios.get( - `${baseUrl}/${this.currentId}/schema/propertykeys`, - { - params: { - page_size: -1 - } - } - ); - - if (result.data.status !== 200) { - this.errorInfo.fetchValueTypes.code = result.data.status; - throw new Error(result.data.message); - } - - this.properties = result.data.data.records; - - result.data.data.records.forEach( - ({ name, data_type }: Record) => { - this.valueTypes[name] = data_type; - } - ); - - this.requestStatus.fetchValueTypes = 'success'; - } catch (error) { - this.requestStatus.fetchValueTypes = 'failed'; - this.errorInfo.fetchValueTypes.message = error.message; - console.error(error.message); - } - }); - - fetchVertexTypes = flow(function* fetchVertexTypeList( - this: DataAnalyzeStore - ) { - this.requestStatus.fetchVertexTypeList = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/schema/vertexlabels`, - { - params: { - page_size: -1 - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchVertexTypeList.code = result.data.status; - throw new Error(result.data.message); - } - - this.vertexTypes = result.data.data.records; - this.requestStatus.fetchVertexTypeList = 'success'; - } catch (error) { - this.requestStatus.fetchVertexTypeList = 'failed'; - this.errorInfo.fetchVertexTypeList.message = error.message; - } - }); - - fetchColorSchemas = flow(function* fetchColorSchemas(this: DataAnalyzeStore) { - this.requestStatus.fetchColorSchemas = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - FetchGraphResponse - >(`${baseUrl}/${this.currentId}/schema/vertexlabels/style`); - - if (result.data.status !== 200) { - this.errorInfo.fetchColorSchemas.code = result.data.status; - throw new Error(result.data.message); - } - - this.colorSchemas = result.data.data; - this.requestStatus.fetchColorSchemas = 'success'; - } catch (error) { - this.requestStatus.fetchColorSchemas = 'failed'; - this.errorInfo.fetchColorSchemas.message = error.message; - console.error(error.message); - } - }); - - fetchColorList = flow(function* fetchColorList(this: DataAnalyzeStore) { - this.requestStatus.fetchColorList = 'pending'; - - try { - const result: AxiosResponse> = yield axios.get( - `${baseUrl}/${this.currentId}/schema/vertexlabels/optional-colors` - ); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.colorList = result.data.data; - this.requestStatus.fetchColorList = 'success'; - } catch (error) { - this.requestStatus.fetchColorList = 'failed'; - this.errorMessage = error.message; - console.error(error.message); - } - }); - - fetchAllNodeStyle = flow(function* fetchAllNodeStyle(this: DataAnalyzeStore) { - this.requestStatus.fetchAllNodeStyle = 'pending'; - try { - const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/vertexlabels`, { - params: { - page_no: 1, - page_size: -1 - } - }); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - result.data.data.records.forEach(({ name, style }) => { - if (style.color !== null) { - this.colorMappings[name] = style.color; - } - if (style.size !== null) { - this.vertexSizeMappings[name] = style.size; - } - if (style.display_fields.length !== 0) { - this.vertexWritingMappings[name] = style.display_fields; - } - }); - - this.requestStatus.fetchAllNodeStyle = 'success'; - } catch (error) { - this.requestStatus.fetchAllNodeStyle = 'failed'; - this.errorInfo.fetchAllNodeStyle.message = error.message; - console.error(error.message); - } - }); - - fetchEdgeTypes = flow(function* fetchEdgeTypes(this: DataAnalyzeStore) { - this.requestStatus.fetchEdgeTypes = 'pending'; - - try { - const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/edgelabels`, { - params: { - page_no: 1, - page_size: -1 - } - }); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.edgeTypes = result.data.data.records; - this.requestStatus.fetchEdgeTypes = 'success'; - } catch (error) { - this.requestStatus.fetchEdgeTypes = 'failed'; - this.errorInfo.fetchEdgeTypes.message = error.message; - console.error(error.message); - } - }); - - fetchAllEdgeStyle = flow(function* fetchAllEdgeStyle(this: DataAnalyzeStore) { - this.requestStatus.fetchAllEdgeStyle = 'pending'; - - try { - const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/edgelabels`, { - params: { - page_no: 1, - page_size: -1 - } - }); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - result.data.data.records.forEach(({ name, style }) => { - if (style.color !== null) { - this.edgeColorMappings[name] = style.color; - } - if (style.with_arrow !== null) { - this.edgeWithArrowMappings[name] = style.with_arrow; - } - if (style.thickness !== null) { - this.edgeThicknessMappings[name] = style.thickness; - } - if (style.display_fields.length !== 0) { - this.edgeWritingMappings[name] = style.display_fields; - } - }); - - this.requestStatus.fetchAllEdgeStyle = 'success'; - } catch (error) { - this.requestStatus.fetchAllEdgeStyle = 'failed'; - this.errorInfo.fetchAllEdgeStyle.message = error.message; - console.error(error.message); - } - }); - - fetchAllPropertyIndexes = flow(function* fetchAllPropertyIndexes( - this: DataAnalyzeStore, - indexType: 'vertex' | 'edge' - ) { - this.requestStatus.fetchAllPropertyIndexes = 'pending'; - - try { - const result = yield axios - .get(`${baseUrl}/${this.currentId}/schema/propertyindexes`, { - params: { - page_size: -1, - is_vertex_label: indexType === 'vertex' - } - }) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.propertyIndexes = result.data.data.records; - this.requestStatus.fetchAllPropertyIndexes = 'success'; - } catch (error) { - this.requestStatus.fetchAllPropertyIndexes = 'failed'; - this.errorMessage = error.message; - } - }); - - fetchGraphs = flow(function* fetchGraphs( - this: DataAnalyzeStore, - algorithmConfigs?: { url: string; type: string } - ) { - // reset request status of create async task - this.requestStatus.createAsyncTask = 'standby'; - this.requestStatus.fetchGraphs = 'pending'; - this.isLoadingGraph = true; - - let params: object | null = null; - - if (!isUndefined(algorithmConfigs)) { - switch (algorithmConfigs.type) { - case Algorithm.loopDetection: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.loopDetectionParams, - ['max_degree', 'capacity', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - case Algorithm.focusDetection: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.focusDetectionParams, - ['max_degree', 'capacity', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - case Algorithm.shortestPath: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.shortestPathAlgorithmParams, - ['max_degree', 'capacity', 'skip_degree'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.shortestPathAll: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.shortestPathAllParams, - ['max_degree', 'capacity', 'skip_degree'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.allPath: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.allPathParams, - ['max_degree', 'capacity', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.modelSimilarity: { - const { - source, - vertexType, - vertexProperty, - direction, - least_neighbor, - similarity, - label, - max_similar, - least_similar, - property_filter, - least_property_number, - max_degree, - capacity, - limit, - return_common_connection, - return_complete_info - } = this.algorithmAnalyzerStore.modelSimilarityParams; - - const sources: Record = {}; - - if (source !== '') { - sources.ids = source.split(','); - } else { - if (vertexType !== '') { - sources.label = vertexType; - } - - if (vertexProperty[0][0] !== '') { - const convertedVertexProperty = vertexProperty.map( - ([key, value]) => [key, value.split(',')] - ); - - sources.properties = fromPairs(convertedVertexProperty); - } - } - - const convertedParams = { - sources, - label, - direction, - min_neighbors: least_neighbor, - alpha: similarity, - min_similars: least_similar, - top: max_similar, - group_property: property_filter, - min_groups: least_property_number, - max_degree, - capacity, - limit, - with_intermediary: return_common_connection, - with_vertex: return_complete_info - }; - - if (label === '__all__') { - delete convertedParams.label; - } - - if (max_degree === '') { - delete convertedParams.max_degree; - } - - if (capacity === '') { - delete convertedParams.capacity; - } - - if (limit === '') { - delete convertedParams.limit; - } - - if (max_similar === '') { - delete convertedParams.top; - } - - if (least_similar === '') { - delete convertedParams.min_similars; - } - - if (convertedParams.group_property === '') { - delete convertedParams.group_property; - delete convertedParams.min_groups; - } - - // @ts-ignore - params = convertedParams; - break; - } - - case Algorithm.neighborRank: { - const clonedNeighborRankParams = cloneDeep( - this.algorithmAnalyzerStore.neighborRankParams - ); - - if (clonedNeighborRankParams.capacity === '') { - clonedNeighborRankParams.capacity = '10000000'; - } - - clonedNeighborRankParams.steps.forEach((step, index) => { - delete step.uuid; - const clonedStep = cloneDeep(step); - - if (step.labels[0] === '__all__') { - delete clonedStep.labels; - clonedNeighborRankParams.steps[index] = clonedStep; - } - - if (step.degree === '') { - clonedStep.degree = '10000'; - clonedNeighborRankParams.steps[index] = clonedStep; - } - - if (step.top === '') { - clonedStep.top = '100'; - clonedNeighborRankParams.steps[index] = clonedStep; - } - }); - - params = clonedNeighborRankParams; - break; - } - - case Algorithm.kStepNeighbor: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.kStepNeighborParams, - ['max_degree', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.kHop: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.kHopParams, - ['max_degree', 'capacity', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.customPath: { - const { - source, - vertexType, - vertexProperty, - sort_by, - capacity, - limit, - steps - } = this.algorithmAnalyzerStore.customPathParams; - - const sources: Record = {}; - - if (source !== '') { - sources.ids = source.split(','); - } else { - if (vertexType !== '') { - sources.label = vertexType; - } - - if (vertexProperty[0][0] !== '') { - const convertedVertexProperty = vertexProperty.map( - ([key, value]) => [key, value.split(',')] - ); - - sources.properties = fromPairs(convertedVertexProperty); - } - } - - const clonedCustomPathRules = cloneDeep(steps); - - clonedCustomPathRules.forEach((step, index) => { - delete step.uuid; - - if (isEmpty(step.labels)) { - delete step.labels; - } - - if (step.properties[0][0] !== '') { - // omit property types here - // @ts-ignore - step.properties = fromPairs( - step.properties.map(([key, value]) => [key, value.split(',')]) - ); - } else { - delete step.properties; - } - - if (isEmpty(step.degree)) { - delete step.degree; - } - - if (isEmpty(step.sample)) { - delete step.sample; - } - - if (step.weight_by === '__CUSTOM_WEIGHT__') { - delete step.weight_by; - } else { - delete step.default_weight; - } - - if (step.weight_by === '') { - delete step.weight_by; - } - }); - - const convertedParams: Record = { - sources, - sort_by, - steps: clonedCustomPathRules - }; - - if (!isEmpty(capacity)) { - convertedParams.capactiy = capacity; - } - - if (!isEmpty(limit)) { - convertedParams.limit = limit; - } - - // @ts-ignore - params = convertedParams; - break; - } - - case Algorithm.radiographicInspection: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.radiographicInspectionParams, - ['max_degree', 'capacity', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.sameNeighbor: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.sameNeighborParams, - ['max_degree', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.weightedShortestPath: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.weightedShortestPathParams, - ['max_degree', 'capacity', 'skip_degree'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.singleSourceWeightedShortestPath: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.singleSourceWeightedShortestPathParams, - ['max_degree', 'capacity', 'skip_degree', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.jaccard: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.jaccardParams, - ['max_degree'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - - case Algorithm.personalRankRecommendation: { - const filterdObject = filterEmptyAlgorightmParams( - this.algorithmAnalyzerStore.personalRankParams, - ['degree', 'limit'] - ); - removeLabelKey(filterdObject); - params = filterdObject; - break; - } - } - } - - try { - let result: AxiosResponse; - - if (!isUndefined(algorithmConfigs)) { - result = yield axios - .post( - `${baseUrl}/${this.currentId}/algorithms/${algorithmConfigs.url}`, - { - ...params - } - ) - .catch(checkIfLocalNetworkOffline); - } else { - result = yield axios - .post( - `${baseUrl}/${this.currentId}/gremlin-query`, - { - content: this.codeEditorText - } - ) - .catch(checkIfLocalNetworkOffline); - } - - if (result.data.status !== 200) { - this.errorInfo.fetchGraphs.code = result.data.status; - throw new Error(result.data.message); - } - - // replace null with empty array when query result type is EMPTY - if (result.data.data.type === 'EMPTY') { - result.data.data.json_view.data = []; - result.data.data.table_view = { - header: ['result'], - rows: [] - }; - } - - this.originalGraphData = result.data; - - if ( - result.data.data.graph_view.vertices !== null && - result.data.data.graph_view.edges !== null - ) { - this.vertexCollection = new Set( - result.data.data.graph_view.vertices.map(({ id }) => id) - ); - this.edgeCollection = new Set( - result.data.data.graph_view.edges.map(({ id }) => id) - ); - } - - this.graphData = result.data; - this.pageConfigs.tableResult.pageTotal = this.originalGraphData.data.table_view.rows.length; - this.requestStatus.fetchGraphs = 'success'; - this.isLoadingGraph = false; - } catch (error) { - this.isLoadingGraph = false; - this.requestStatus.fetchGraphs = 'failed'; - this.errorInfo.fetchGraphs.message = error.message; - console.error(error.message); - } - }); - - createAsyncTask = flow(function* createAsyncTask(this: DataAnalyzeStore) { - // reset request status of fetch graphs - this.requestStatus.fetchGraphs = 'stanby'; - this.requestStatus.createAsyncTask = 'pending'; - - try { - const result: AxiosResponse = yield axios - .post( - `${baseUrl}/${this.currentId}/gremlin-query/async-task`, - { - content: this.codeEditorText - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.createAsyncTask.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.createAsyncTask = 'success'; - } catch (error) { - this.requestStatus.createAsyncTask = 'failed'; - this.errorInfo.createAsyncTask.message = error.message; - console.error(error.message); - } - }); - - addGraphNode = flow(function* addGraphNode(this: DataAnalyzeStore) { - this.requestStatus.addGraphNode = 'pending'; - - try { - const properties: Record = {}; - this.newGraphNodeConfigs.properties.nonNullable.forEach((value, key) => { - properties[key] = value; - }); - this.newGraphNodeConfigs.properties.nullable.forEach((value, key) => { - properties[key] = value; - }); - - const result: AxiosResponse> = yield axios.post( - `${baseUrl}/${this.currentId}/graph/vertex`, - { - id: this.newGraphNodeConfigs.id, - label: this.newGraphNodeConfigs.label, - properties - } - ); - - if (result.data.status !== 200) { - this.errorInfo.addGraphNode.code = result.data.status; - throw new Error(result.data.message); - } - - const mergedGraphData = cloneDeep(this.graphData); - mergedGraphData.data.graph_view.vertices.push( - ...result.data.data.vertices - ); - - this.graphData = mergedGraphData; - this.requestStatus.addGraphNode = 'success'; - - return result.data.data.vertices; - } catch (error) { - this.requestStatus.addGraphNode = 'failed'; - this.errorInfo.addGraphNode.message = error.message; - console.error(error.message); - } - }); - - fetchRelatedEdges = flow(function* fetchRelatedEdges(this: DataAnalyzeStore) { - this.requestStatus.fetchRelatedEdges = 'pending'; - try { - const result: AxiosResponse> = yield axios.get< - responseData - >( - `${baseUrl}/${this.currentId}/schema/vertexlabels/${this.rightClickedGraphData.label}/link` - ); - - if (result.data.status !== 200) { - this.errorInfo.fetchRelatedEdges.code = result.data.status; - throw new Error(result.data.message); - } - - this.relatedGraphEdges = result.data.data; - this.requestStatus.fetchRelatedEdges = 'success'; - } catch (error) { - this.requestStatus.fetchRelatedEdges = 'failed'; - this.errorInfo.fetchRelatedEdges.message = error.message; - console.error(error.message); - } - }); - - addGraphEdge = flow(function* addGraphEdge(this: DataAnalyzeStore) { - this.requestStatus.addGraphEdge = 'pending'; - - try { - const vertices = [ - this.rightClickedGraphData.id, - this.newGraphEdgeConfigs.id - ]; - - if (this.dynamicAddGraphDataStatus === 'inEdge') { - vertices.reverse(); - } - - const properties: Record = {}; - this.newGraphEdgeConfigs.properties.nonNullable.forEach((value, key) => { - properties[key] = value; - }); - this.newGraphEdgeConfigs.properties.nullable.forEach((value, key) => { - properties[key] = value; - }); - - const result: AxiosResponse> = yield axios.post( - `${baseUrl}/${this.currentId}/graph/edge`, - { - label: this.newGraphEdgeConfigs.label, - source: vertices[0], - target: vertices[1], - properties - } - ); - - if (result.data.status !== 200) { - this.errorInfo.addGraphEdge.code = result.data.status; - throw new Error(result.data.message); - } - - const mergedGraphData = cloneDeep(this.graphData); - const filteredVertices: GraphNode[] = []; - - result.data.data.vertices.forEach((vertex) => { - if (this.visDataSet!.nodes.get(vertex.id) === null) { - filteredVertices.push(vertex); - } - }); - - mergedGraphData.data.graph_view.vertices.push(...filteredVertices); - mergedGraphData.data.graph_view.edges.push(...result.data.data.edges); - - this.graphData = mergedGraphData; - this.requestStatus.addGraphEdge = 'success'; - - return { - originalVertices: result.data.data.vertices, - vertices: filteredVertices, - edges: result.data.data.edges - }; - } catch (error) { - this.requestStatus.addGraphEdge = 'failed'; - this.errorInfo.addGraphEdge.message = error.message; - console.error(error.message); - } - }); - - expandGraphNode = flow(function* expandGraphNode( - this: DataAnalyzeStore, - // double click on a node, or right click a node - nodeId?: string, - label?: string - ) { - this.requestStatus.expandGraphNode = 'pending'; - - try { - const result: AxiosResponse = yield axios.put( - `${baseUrl}/${this.currentId}/gremlin-query`, - { - vertex_id: nodeId || this.rightClickedGraphData.id, - vertex_label: label || this.rightClickedGraphData.label - } - ); - - if (result.data.status !== 200) { - this.errorInfo.expandGraphNode.code = result.data.status; - throw new Error(result.data.message); - } - - const newGraphData = result.data; - - const filteredVertices = newGraphData.data.graph_view.vertices.filter( - ({ id }) => { - if (this.vertexCollection.has(id)) { - return false; - } - - this.vertexCollection.add(id); - return true; - } - ); - - const filteredEdges = newGraphData.data.graph_view.edges.filter( - ({ id }) => { - if (this.edgeCollection.has(id)) { - return false; - } - - this.edgeCollection.add(id); - return true; - } - ); - - this.expandedGraphData = { - ...newGraphData, - data: { - ...newGraphData.data, - graph_view: { - vertices: filteredVertices, - edges: filteredEdges - } - } - }; - - const vertexCollection = new Set(); - const edgeCollection = new Set(); - - const mergeData: FetchGraphResponse = { - ...newGraphData, - data: { - ...newGraphData.data, - graph_view: { - vertices: this.graphData.data.graph_view.vertices - .concat(newGraphData.data.graph_view.vertices) - .filter((item) => { - const isDuplicate = vertexCollection.has(item.id); - vertexCollection.add(item.id); - return !isDuplicate; - }), - edges: this.graphData.data.graph_view.edges - .concat(newGraphData.data.graph_view.edges) - .filter((item) => { - const isDuplicate = edgeCollection.has(item.id); - edgeCollection.add(item.id); - return !isDuplicate; - }) - } - } - }; - - this.graphData = mergeData; - this.requestStatus.expandGraphNode = 'success'; - } catch (error) { - this.requestStatus.expandGraphNode = 'failed'; - this.errorInfo.expandGraphNode.message = error.message; - console.error(error.message); - } - }); - - @action - hideGraphNode(nodeId: any) { - this.graphData.data.graph_view.vertices = this.graphData.data.graph_view.vertices.filter( - (data) => data.id !== this.rightClickedGraphData.id - ); - - // only delete node in vertexCollection, not edges in EdgeCollection - this.vertexCollection.delete(nodeId); - - // assign new object to observable - this.graphData = { ...this.graphData }; - } - - updateGraphProperties = flow(function* updateGraphProperties( - this: DataAnalyzeStore - ) { - this.requestStatus.updateGraphProperties = 'pending'; - - const { id, label, properties } = - this.graphInfoDataSet === 'node' - ? this.selectedGraphData - : this.selectedGraphLinkData; - - const editedProperties: Record> = { - ...Object.fromEntries([ - ...this.editedSelectedGraphDataProperties.primary - ]), - ...Object.fromEntries([ - ...this.editedSelectedGraphDataProperties.nonNullable - ]), - ...Object.fromEntries([ - ...this.editedSelectedGraphDataProperties.nullable - ]) - }; - - // check if originial type is Array - Object.entries(editedProperties).forEach(([key, value]) => { - if (Array.isArray(properties[key])) { - if ((value as string).includes(',')) { - editedProperties[key] = (value as string).split(','); - } - - if ((value as string).includes(',')) { - editedProperties[key] = (value as string).split(','); - } - } - }); - - try { - const result: AxiosResponse> = yield axios.put>( - `${baseUrl}/${this.currentId}/graph/${ - this.graphInfoDataSet === 'node' ? 'vertex' : 'edge' - }/${encodeURIComponent(id)}`, - this.graphInfoDataSet === 'node' - ? { - id, - label, - properties: editedProperties - } - : { - id, - label, - properties: editedProperties, - source: this.selectedGraphLinkData.source, - target: this.selectedGraphLinkData.target - } - ); - - if (result.data.status !== 200) { - this.errorInfo.updateGraphProperties.code = result.data.status; - throw new Error(result.data.message); - } - - const graphData = cloneDeep(this.graphData); - if (this.graphInfoDataSet === 'node') { - const vertex = graphData.data.graph_view.vertices.find( - ({ id }) => id === result.data.data.id - ); - - if (!isUndefined(vertex)) { - vertex.id = result.data.data.id; - vertex.label = result.data.data.label; - vertex.properties = result.data.data.properties; - } - } else { - const edge = graphData.data.graph_view.edges.find( - ({ id }) => id === result.data.data.id - ); - - if (!isUndefined(edge)) { - edge.id = result.data.data.id; - edge.label = result.data.data.label; - edge.properties = result.data.data.properties; - } - } - - this.graphData = graphData; - this.requestStatus.updateGraphProperties = 'success'; - return result.data.data; - } catch (error) { - this.requestStatus.updateGraphProperties = 'failed'; - this.errorInfo.updateGraphProperties.message = error.message; - console.error(error.message); - } - }); - - // require list of edge type options in QueryFilteredOptions - fetchRelatedVertex = flow(function* fetchRelatedVertex( - this: DataAnalyzeStore - ) { - this.requestStatus.fetchRelatedVertex = 'pending'; - - try { - const result = yield axios.get( - `${baseUrl}/${this.currentId}/schema/vertexlabels/${this.rightClickedGraphData.label}/link` - ); - - if (result.data.status !== 200) { - this.errorInfo.fetchRelatedVertex = result.data.status; - throw new Error(result.data.message); - } - - this.graphDataEdgeTypes = result.data.data; - - this.editEdgeFilterOption( - 'type', - !isUndefined(result.data.data[0]) ? result.data.data[0] : '' - ); - } catch (error) { - this.requestStatus.fetchRelatedVertex = 'failed'; - this.errorInfo.fetchRelatedVertex.message = error.message; - console.error(error.message); - } - }); - - // require list of property options in QueryFilteredOptions - fetchFilteredPropertyOptions = flow(function* fetchFilteredPropertyOptions( - this: DataAnalyzeStore, - edgeName: string - ) { - this.requestStatus.fetchFilteredPropertyOptions = 'pending'; - - try { - const result: AxiosResponse = yield axios.get( - `${baseUrl}/${this.currentId}/schema/edgelabels/${edgeName}` - ); - - if (result.data.status !== 200) { - this.errorInfo.filteredPropertyOptions.code = result.data.status; - throw new Error(result.data.message); - } - - this.filteredPropertyOptions = result.data.data.properties.map( - ({ name }) => name - ); - } catch (error) { - this.requestStatus.fetchFilteredPropertyOptions = 'failed'; - this.errorInfo.filteredPropertyOptions = error.message; - console.error(error.message); - } - }); - - filterGraphData = flow(function* filteredGraphData(this: DataAnalyzeStore) { - this.requestStatus.filteredGraphData = 'pending'; - - try { - const result: AxiosResponse = yield axios.put( - `${baseUrl}/${this.currentId}/gremlin-query`, - { - vertex_id: this.rightClickedGraphData.id, - vertex_label: this.rightClickedGraphData.label, - edge_label: this.filteredGraphQueryOptions.line.type, - direction: this.filteredGraphQueryOptions.line.direction, - conditions: this.filteredGraphQueryOptions.properties.map( - ({ property, rule, value }) => ({ - key: property, - operator: ruleMap[rule], - value: rule === 'True' || rule === 'False' ? Boolean(rule) : value - }) - ) - } - ); - - if (result.data.status !== 200) { - this.errorInfo.filteredGraphData.code = result.data.status; - throw new Error(result.data.message); - } - - const newGraphData = result.data; - - const filteredVertices = newGraphData.data.graph_view.vertices.filter( - ({ id }) => { - if (this.vertexCollection.has(id)) { - return false; - } - - this.vertexCollection.add(id); - return true; - } - ); - - const filteredEdges = newGraphData.data.graph_view.edges.filter( - ({ id }) => { - if (this.edgeCollection.has(id)) { - return false; - } - - this.edgeCollection.add(id); - return true; - } - ); - - this.expandedGraphData = { - ...newGraphData, - data: { - ...newGraphData.data, - graph_view: { - vertices: filteredVertices, - edges: filteredEdges - } - } - }; - - const vertexCollection = new Set(); - const edgeCollection = new Set(); - - const mergeData: FetchGraphResponse = { - ...newGraphData, - data: { - ...newGraphData.data, - graph_view: { - vertices: this.graphData.data.graph_view.vertices - .concat(newGraphData.data.graph_view.vertices) - .filter((item) => { - const isDuplicate = vertexCollection.has(item.id); - vertexCollection.add(item.id); - return !isDuplicate; - }), - edges: this.graphData.data.graph_view.edges - .concat(newGraphData.data.graph_view.edges) - .filter((item) => { - const isDuplicate = edgeCollection.has(item.id); - edgeCollection.add(item.id); - return !isDuplicate; - }) - } - } - }; - - this.graphData = mergeData; - this.requestStatus.filteredGraphData = 'success'; - } catch (error) { - this.errorInfo.filteredGraphData.message = error.message; - console.error(error.message); - } - }); - - addQueryCollection = flow(function* addQueryCollection( - this: DataAnalyzeStore, - name: string, - // if content is not the value in codeEditor (e.g. in table) - content?: string - ) { - this.requestStatus.addQueryCollection = 'pending'; - - try { - const result = yield axios.post( - `${baseUrl}/${this.currentId}/gremlin-collections`, - { - name, - content: content || this.codeEditorText - } - ); - - if (result.data.status !== 200) { - this.errorInfo.addQueryCollection.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.addQueryCollection = 'success'; - } catch (error) { - this.requestStatus.addQueryCollection = 'failed'; - this.errorInfo.addQueryCollection.message = error.message; - console.error(error.message); - } - }); - - editQueryCollection = flow(function* editQueryCollection( - this: DataAnalyzeStore, - id: number, - name: string, - content: string - ) { - this.requestStatus.editQueryCollection = 'pending'; - - try { - const result = yield axios.put( - `${baseUrl}/${this.currentId}/gremlin-collections/${id}`, - { - name, - content - } - ); - - if (result.data.status !== 200) { - this.errorInfo.editQueryCollection.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.editQueryCollection = 'success'; - } catch (error) { - this.requestStatus.editQueryCollection = 'failed'; - this.errorInfo.editQueryCollection.message = error.message; - console.error(error.message); - } - }); - - deleteQueryCollection = flow(function* deleteQueryCollection( - this: DataAnalyzeStore, - id: number - ) { - this.requestStatus.deleteQueryCollection = 'pending'; - - try { - const result = yield axios.delete( - `${baseUrl}/${this.currentId}/gremlin-collections/${id}` - ); - - if (result.data.status !== 200) { - this.errorInfo.deleteQueryCollection = result.data.status; - throw new Error(result.data.message); - } - - // if current pageNumber has no data after delete, set the pageNumber to the previous - if ( - this.favoriteQueryData.length === 1 && - this.pageConfigs.favoriteQueries.pageNumber > 1 - ) { - this.pageConfigs.favoriteQueries.pageNumber = - this.pageConfigs.favoriteQueries.pageNumber - 1; - } - - this.requestStatus.deleteQueryCollection = 'success'; - } catch (error) { - this.requestStatus.deleteQueryCollection = 'failed'; - this.errorInfo.deleteQueryCollection.message = error.message; - console.error(error.message); - } - }); - - fetchExecutionLogs = flow(function* fetchExecutionLogs( - this: DataAnalyzeStore - ) { - this.requestStatus.fetchExecutionLogs = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - ExecutionLogsResponse - >(`${baseUrl}/${this.currentId}/execute-histories`, { - params: { - page_size: this.pageConfigs.executionLog.pageSize, - page_no: this.pageConfigs.executionLog.pageNumber - } - }); - - if (result.data.status !== 200) { - this.errorInfo.fetchExecutionLogs.code = result.data.status; - throw new Error(result.data.message); - } - - this.executionLogData = result.data.data.records; - this.pageConfigs.executionLog.pageTotal = result.data.data.total; - this.requestStatus.fetchExecutionLogs = 'success'; - } catch (error) { - this.requestStatus.fetchExecutionLogs = 'failed'; - this.errorInfo.fetchExecutionLogs.message = error.message; - console.error(error.message); - } - }); - - fetchFavoriteQueries = flow(function* fetchFavoriteQueries( - this: DataAnalyzeStore - ) { - const url = - `${baseUrl}/${this.currentId}/gremlin-collections?` + - `&page_no=${this.pageConfigs.favoriteQueries.pageNumber}` + - `&page_size=${this.pageConfigs.favoriteQueries.pageSize}` + - (this.favoriteQueriesSortOrder.time !== '' - ? `&time_order=${this.favoriteQueriesSortOrder.time}` - : '') + - (this.favoriteQueriesSortOrder.name !== '' - ? `&name_order=${this.favoriteQueriesSortOrder.name}` - : '') + - (this.isSearched.status && this.searchText !== '' - ? `&content=${this.searchText}` - : ''); - - this.requestStatus.fetchFavoriteQueries = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - FavoriteQueryResponse - >(url); - - if (result.data.status !== 200) { - this.errorInfo.fetchFavoriteQueries.code = result.data.status; - throw new Error(result.data.message); - } - - this.favoriteQueryData = result.data.data.records; - this.pageConfigs.favoriteQueries.pageTotal = result.data.data.total; - this.requestStatus.fetchFavoriteQueries = 'success'; - } catch (error) { - this.requestStatus.fetchFavoriteQueries = 'failed'; - this.errorInfo.fetchFavoriteQueries.message = error.message; - console.error(error.message); - } - }); -} - -export default createContext(new DataAnalyzeStore()); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts deleted file mode 100644 index c9b513531..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts +++ /dev/null @@ -1,383 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { isEmpty, size } from 'lodash-es'; - -import i18next from '../../../i18n'; -import { - Job, - JobResponse -} from '../../types/GraphManagementStore/dataImportStore'; -import { - initRequestStatus, - initErrorInfo -} from '../../factory/dataImportStore/importManagmentStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -import { baseUrl, responseData } from '../../types/common'; -import type { - JobGlance, - JobFailedReason -} from '../../types/GraphManagementStore/dataImportStore'; - -export class ImportManagerStore { - @observable requestStatus = initRequestStatus(); - @observable errorInfo = initErrorInfo(); - - @observable currentId: number | null = null; - @observable jobDetailsStep = 'basic'; - @observable selectedJobIndex = NaN; - @observable selectedJob: Job | null = null; - @observable searchWords = ''; - @observable isCreateNewProperty = false; - - @observable.shallow importJobListPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - @observable.shallow isSearched = { - status: false, - value: '' - }; - - @observable.shallow newJob = { - name: '', - description: '' - }; - - // @observable editJob: JobGlance | null = null; - @observable editJob: JobGlance | null = { - name: '', - description: '' - }; - - @observable.ref importJobList: Job[] = []; - @observable.ref failedReason: JobFailedReason[] = []; - - @observable validateNewJobErrorMessage = { - name: '', - description: '' - }; - - @observable validateEditJobErrorMessage = { - name: '', - description: '' - }; - - @computed get currentJobDetails() { - return this.importJobList[this.selectedJobIndex]; - } - - @action - setCurrentId(id: number) { - this.currentId = id; - } - - @action - switchCreateNewProperty(flag: boolean) { - this.isCreateNewProperty = flag; - } - - @action - switchSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchWords) - : (this.isSearched.value = ''); - } - - @action - setCurrentJobDetailStep(step: string) { - this.jobDetailsStep = step; - } - - @action - setSelectedJobIndex(index: number) { - this.selectedJobIndex = index; - } - - @action - setSelectedJob(jobId: number | null) { - if (jobId === null) { - this.selectedJob = null; - } else { - this.selectedJob = this.importJobList.find( - ({ id }) => jobId === id - ) as Job; - } - } - - @action - mutateSearchWords(word: string) { - this.searchWords = word; - } - - @action - mutateNewJob(key: T, value: JobGlance[T]) { - this.newJob[key] = value; - } - - @action - mutateEditJob(key: T, value: JobGlance[T]) { - if (this.editJob !== null) { - this.editJob[key] = value; - } - } - - @action - mutateImportJobListPageNumber(pageNumber: number) { - this.importJobListPageConfig.pageNumber = pageNumber; - } - - @action - validateJob(type: 'new' | 'edit', category: keyof JobGlance) { - const job = type === 'new' ? this.newJob : this.editJob!; - const errorMessage = - type === 'new' - ? this.validateNewJobErrorMessage - : this.validateEditJobErrorMessage; - - if (category === 'name') { - const name = job.name; - - if (isEmpty(name)) { - errorMessage.name = i18next.t('import-manager.validator.no-empty'); - } else if (size(name) > 48) { - errorMessage.name = i18next.t( - 'import-manager.validator.over-limit-size' - ); - } else if (!/^[\w\d\u4e00-\u9fa5]{1,48}$/.test(name)) { - errorMessage.name = i18next.t( - 'import-manager.validator.invalid-format' - ); - } else { - errorMessage.name = ''; - } - } - - if (category === 'description') { - const description = job.description; - - if (size(description) > 200) { - errorMessage.description = i18next.t( - 'import-manager.validator.over-limit-size' - ); - } else if (!/^[\w\d\u4e00-\u9fa5]{0,200}$/.test(description)) { - errorMessage.description = i18next.t( - 'import-manager.validator.invalid-format' - ); - } else { - errorMessage.description = ''; - } - } - } - - @action - resetJob(type: 'new' | 'edit') { - if (type === 'new') { - this.newJob = { - name: '', - description: '' - }; - } else { - this.editJob = null; - } - } - - @action - dispose() { - this.requestStatus = initRequestStatus(); - this.errorInfo = initErrorInfo(); - this.currentId = null; - this.jobDetailsStep = 'basic'; - this.selectedJobIndex = NaN; - this.selectedJob = null; - this.isCreateNewProperty = false; - - this.importJobListPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - this.isSearched = { - status: false, - value: '' - }; - - this.newJob = { - name: '', - description: '' - }; - - this.editJob = { - name: '', - description: '' - }; - - this.importJobList = []; - this.failedReason = []; - - this.validateNewJobErrorMessage = { - name: '', - description: '' - }; - - this.validateEditJobErrorMessage = { - name: '', - description: '' - }; - } - - fetchImportJobList = flow(function* fetchImportJobList( - this: ImportManagerStore - ) { - this.requestStatus.fetchImportJobList = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/job-manager?page_no=${this.importJobListPageConfig.pageNumber}&page_size=10` + - (this.isSearched.status && this.searchWords !== '' - ? `&content=${this.searchWords}` - : '') - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchImportJobList.code = result.data.status; - throw new Error(result.data.message); - } - - this.importJobList = result.data.data.records; - this.importJobListPageConfig.pageTotal = result.data.data.total; - this.requestStatus.fetchImportJobList = 'success'; - } catch (error) { - this.requestStatus.fetchImportJobList = 'failed'; - this.errorInfo.fetchImportJobList.message = error.message; - } - }); - - createNewJob = flow(function* createNewJob(this: ImportManagerStore) { - this.requestStatus.createNewJob = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>(`${baseUrl}/${this.currentId}/job-manager`, { - job_name: this.newJob.name, - job_remarks: this.newJob.description - }) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.createNewJob.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.createNewJob = 'success'; - } catch (error) { - this.requestStatus.createNewJob = 'failed'; - this.errorInfo.createNewJob.message = error.message; - } - }); - - updateJobInfo = flow(function* updateJobInfo(this: ImportManagerStore) { - this.requestStatus.updateJobInfo = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .put>( - `${baseUrl}/${this.currentId}/job-manager/${this.selectedJob!.id}`, - { - job_name: this.editJob!.name, - job_remarks: this.editJob!.description - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.updateJobInfo.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedJob = result.data.data; - this.requestStatus.updateJobInfo = 'success'; - } catch (error) { - this.requestStatus.updateJobInfo = 'failed'; - this.errorInfo.updateJobInfo.message = error.message; - } - }); - - deleteJob = flow(function* deleteJob(this: ImportManagerStore, id: number) { - this.requestStatus.deleteJob = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete>( - `${baseUrl}/${this.currentId}/job-manager/${id}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteJob.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.deleteJob = 'success'; - } catch (error) { - this.requestStatus.deleteJob = 'failed'; - this.errorInfo.deleteJob.message = error.message; - } - }); - - fetchFailedReason = flow(function* fetchFailedReason( - this: ImportManagerStore, - connectId: number, - jobId: number - ) { - this.requestStatus.fetchFailedReason = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${connectId}/job-manager/${jobId}/reason` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchFailedReason.code = result.data.status; - throw new Error(result.data.message); - } - - this.failedReason = result.data.data; - this.requestStatus.fetchFailedReason = 'success'; - } catch (error) { - this.requestStatus.fetchFailedReason = 'failed'; - this.errorInfo.fetchFailedReason.message = error.message; - } - }); -} - -export default createContext(new ImportManagerStore()); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts deleted file mode 100644 index 451613e09..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts +++ /dev/null @@ -1,407 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { remove, isUndefined } from 'lodash-es'; - -import { DataMapStore } from './dataMapStore'; -import { ServerDataImportStore } from './serverDataImportStore'; -import { - initErrorInfo, - initRequestStatus -} from '../../factory/dataImportStore/dataImportRootStore'; -import { baseUrl, responseData } from '../../types/common'; -import { - FileUploadResult, - FileUploadTask, - FileUploadQueue -} from '../../types/GraphManagementStore/dataImportStore'; -import { - VertexType, - VertexTypeListResponse, - EdgeType, - EdgeTypeListResponse -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -const MAX_CONCURRENT_UPLOAD = 5; - -export class DataImportRootStore { - dataMapStore: DataMapStore; - serverDataImportStore: ServerDataImportStore; - - constructor() { - this.dataMapStore = new DataMapStore(this); - this.serverDataImportStore = new ServerDataImportStore(this); - } - - @observable currentId: number | null = null; - @observable currentJobId: number | null = null; - @observable currentStatus = ''; - @observable currentStep = NaN; - - @observable requestStatus = initRequestStatus(); - @observable errorInfo = initErrorInfo(); - - @observable fileList: File[] = []; - @observable.ref fileHashes: Record = {}; - @observable fileUploadTasks: FileUploadTask[] = []; - @observable fileUploadQueue: FileUploadQueue[] = []; - @observable fileRetryUploadList: string[] = []; - - @observable.ref fileInfos: FileUploadResult[] = []; - @observable.ref vertexTypes: VertexType[] = []; - @observable.ref edgeTypes: EdgeType[] = []; - - @computed get successFileUploadTaskNames() { - return this.fileUploadTasks - .filter(({ status }) => status === 'success') - .map(({ name }) => name); - } - - @computed get unsuccessFileUploadTasks() { - return this.fileUploadTasks.filter(({ status }) => status !== 'success'); - } - - @action - setCurrentId(id: number) { - this.currentId = id; - } - - @action - setCurrentJobId(id: number) { - this.currentJobId = id; - } - - @action - setCurrentStatus(status: string) { - this.currentStatus = status; - } - - @action - setCurrentStep(step: number) { - this.currentStep = step; - } - - @action - updateFileList(files: File[]) { - this.fileList = [...files, ...this.fileList]; - } - - @action - initFileUploadTask(tasks: FileUploadTask) { - this.fileUploadTasks = [tasks, ...this.fileUploadTasks]; - } - - @action - addFileUploadQueue(element: FileUploadQueue) { - this.fileUploadQueue.push(element); - } - - @action - removeFileUploadQueue(fileName: string) { - remove(this.fileUploadQueue, ({ fileName: name }) => name === fileName); - } - - @action - mutateFileUploadQueue( - key: T, - value: FileUploadQueue[T], - index: number - ) { - this.fileUploadQueue[index][key] = value; - } - - @action - mutateFileUploadTasks( - key: T, - value: FileUploadTask[T], - fileName: string - ) { - const fileUploadTask = this.fileUploadTasks.find( - ({ name }) => name === fileName - )!; - - // users may click back button in browser - if (!isUndefined(fileUploadTask)) { - fileUploadTask[key] = value; - } - } - - @action - removeFileUploadTasks(fileName: string) { - remove(this.fileUploadTasks, ({ name }) => fileName === name); - } - - @action - addRetryFileUploadQueue(fileName: string) { - this.fileRetryUploadList.push(fileName); - } - - @action - pullRetryFileUploadQueue() { - return this.fileRetryUploadList.shift(); - } - - @action - resetAllFileInfos() { - this.fileList = []; - this.fileUploadTasks = []; - this.fileUploadQueue = []; - this.fileInfos = []; - } - - @action - dispose() { - this.currentId = null; - this.currentJobId = null; - this.currentStatus = ''; - this.currentStep = NaN; - this.vertexTypes = []; - this.edgeTypes = []; - - this.resetAllFileInfos(); - this.requestStatus = initRequestStatus(); - this.errorInfo = initErrorInfo(); - } - - fetchFilehashes = flow(function* fetchFilehashes( - this: DataImportRootStore, - fileNames: string[] - ) { - this.requestStatus.fetchFilehashes = 'pending'; - - try { - const result = yield axios - .get>>( - `${baseUrl}/${this.currentId}/job-manager/${ - this.currentJobId - }/upload-file/token?${fileNames - .map((name) => `names=${name}`) - .join('&')}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchFilehashes.code = result.data.status; - throw new Error(result.data.message); - } - - this.fileHashes = { ...this.fileHashes, ...result.data.data }; - this.requestStatus.fetchFilehashes = 'success'; - } catch (error) { - this.requestStatus.fetchFilehashes = 'failed'; - this.errorInfo.fetchFilehashes.message = error.message; - console.error(error.message); - } - }); - - uploadFiles = flow(function* uploadFiles( - this: DataImportRootStore, - { - fileName, - fileChunkList, - fileChunkTotal - }: { - fileName: string; - fileChunkList: { - chunkIndex: number; - chunk: Blob; - }; - fileChunkTotal: number; - } - ) { - this.requestStatus.uploadFiles = 'pending'; - const formData = new FormData(); - formData.append('file', fileChunkList.chunk); - - if (this.currentId === null || this.currentJobId === null) { - return; - } - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file?total=${fileChunkTotal}&index=${fileChunkList.chunkIndex}&name=${fileName}&token=${this.fileHashes[fileName]}`, - formData, - { - headers: { - 'Content-Type': 'multipart/form-data' - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.uploadFiles.code = result.data.status; - throw new Error(result.data.message); - } - - this.fileInfos.push(result.data.data); - this.requestStatus.uploadFiles = 'success'; - return result.data.data; - } catch (error) { - this.requestStatus.uploadFiles = 'failed'; - this.errorInfo.uploadFiles.message = error.message; - console.error(error.message); - } - }); - - deleteFiles = flow(function* deleteFiles( - this: DataImportRootStore, - fileName: string - ) { - this.requestStatus.deleteFiles = 'pending'; - - try { - const result = yield axios - .delete( - `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file?name=${fileName}&token=${this.fileHashes[fileName]}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteFiles.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.deleteFiles = 'success'; - } catch (error) { - this.requestStatus.deleteFiles = 'failed'; - this.errorInfo.deleteFiles.message = error.message; - console.error(error.message); - } - }); - - sendUploadCompleteSignal = flow(function* sendUploadCompleteSignal( - this: DataImportRootStore - ) { - this.requestStatus.sendUploadCompleteSignal = 'pending'; - - try { - const result = yield axios - .put( - `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file/next-step` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.sendUploadCompleteSignal.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.sendUploadCompleteSignal = 'success'; - } catch (error) { - this.requestStatus.sendUploadCompleteSignal = 'failed'; - this.errorInfo.sendUploadCompleteSignal.message = error.message; - console.error(error.message); - } - }); - - sendMappingCompleteSignal = flow(function* sendMappingCompleteSignal( - this: DataImportRootStore - ) { - this.requestStatus.sendMappingCompleteSignal = 'pending'; - - try { - const result = yield axios - .put( - `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/file-mappings/next-step` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.sendMappingCompleteSignal.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.sendMappingCompleteSignal = 'success'; - } catch (error) { - this.requestStatus.sendMappingCompleteSignal = 'failed'; - this.errorInfo.sendMappingCompleteSignal.message = error.message; - console.error(error.message); - } - }); - - fetchVertexTypeList = flow(function* fetchVertexTypeList( - this: DataImportRootStore - ) { - this.requestStatus.fetchVertexTypeList = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/schema/vertexlabels`, - { - params: { - page_size: -1 - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchVertexTypeList.code = result.data.status; - throw new Error(result.data.message); - } - - this.vertexTypes = result.data.data.records; - this.requestStatus.fetchVertexTypeList = 'success'; - } catch (error) { - this.requestStatus.fetchVertexTypeList = 'failed'; - this.errorInfo.fetchVertexTypeList.message = error.message; - } - }); - - fetchEdgeTypeList = flow(function* fetchEdgeTypeList( - this: DataImportRootStore - ) { - this.requestStatus.fetchEdgeTypeList = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.currentId}/schema/edgelabels`, - { - params: { - page_size: -1 - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchEdgeTypeList.code = result.data.status; - throw new Error(result.data.message); - } - - this.edgeTypes = result.data.data.records; - this.requestStatus.fetchEdgeTypeList = 'success'; - } catch (error) { - this.requestStatus.fetchEdgeTypeList = 'failed'; - this.errorInfo.fetchEdgeTypeList.message = error.message; - } - }); -} - -export default createContext(new DataImportRootStore()); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts deleted file mode 100644 index 67bdcbe97..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts +++ /dev/null @@ -1,1321 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { isUndefined, isEmpty, cloneDeep, remove, flatMap } from 'lodash-es'; - -import { DataImportRootStore } from './dataImportRootStore'; -import { baseUrl, responseData } from '../../types/common'; -import { - initRequestStatus, - initErrorInfo, - createNewEdgeType, - createNewVertexType, - createValidateFileInfoErrorMessage, - createValidateAdvanceConfigErrorMessage -} from '../../factory/dataImportStore/dataMapStore'; -import { - FileMapInfo, - FileConfig, - FileMapResult, - VertexMap, - EdgeMap, - FileValidator, - ValueMapValidator -} from '../../types/GraphManagementStore/dataImportStore'; -import { checkIfLocalNetworkOffline, validateGraphProperty } from '../../utils'; - -import type { - VertexType, - EdgeType -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import i18next from '../../../i18n'; - -export class DataMapStore { - dataImportRootStore: DataImportRootStore; - - constructor(dataImportRootStore: DataImportRootStore) { - this.dataImportRootStore = dataImportRootStore; - } - - // v1.3.1: check details from import-manager - @observable readOnly = false; - // v1.3.1: task process comes from import-manager entrance - @observable isIrregularProcess = false; - // v1.5.0 no check details but in progress when LOADING - @observable lock = false; - - @observable isExpandFileConfig = true; - // If one of the type info card is being edited - @observable isExpandTypeConfig = false; - @observable isAddNewTypeConfig = false; - @observable fileMapInfos: FileMapInfo[] = []; - // v1.3.1: preFetched file mapping infos from import-manager - @observable preFetchedFileMapInfos: FileMapInfo[] = []; - @observable selectedFileId: number = NaN; - @observable selectedFileInfo: FileMapInfo | null = null; - - @observable newVertexType: VertexMap = createNewVertexType(); - @observable editedVertexMap: VertexMap | null = null; - - @observable newEdgeType: EdgeMap = createNewEdgeType(); - @observable editedEdgeMap: EdgeMap | null = null; - - // validators - @observable - validateFileInfoErrorMessage: FileValidator = createValidateFileInfoErrorMessage(); - @observable - validateAdvanceConfigErrorMessage: ValueMapValidator = createValidateAdvanceConfigErrorMessage(); - - @observable requestStatus = initRequestStatus(); - @observable errorInfo = initErrorInfo(); - - @computed get isValidateFileInfo() { - return ( - !isEmpty(this.selectedFileInfo?.file_setting.delimiter) && - !isEmpty(this.selectedFileInfo?.file_setting.charset) && - !isEmpty(this.selectedFileInfo?.file_setting.date_format) && - !isEmpty(this.selectedFileInfo?.file_setting.skipped_line) && - Object.values(this.validateFileInfoErrorMessage).every( - (errorMessage) => errorMessage === '' - ) - ); - } - - @computed get isValidateSave() { - return ( - this.validateAdvanceConfigErrorMessage.null_values.every((value) => - isEmpty(value) - ) && - this.validateAdvanceConfigErrorMessage.value_mapping.every( - ({ column_name, values }) => { - const errorMessages = flatMap( - values, - ({ column_value, mapped_value }) => [column_value, mapped_value] - ); - - return ( - isEmpty(column_name) && - errorMessages.every((message) => isEmpty(message)) - ); - } - ) - ); - } - - @computed get filteredColumnNamesInVertexEditSelection() { - return this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => !this.editedVertexMap!.id_fields.includes(column_name) - ); - } - - @computed get filteredColumnNamesInVertexNewSelection() { - return this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => !this.newVertexType?.id_fields.includes(column_name) - ); - } - - @computed get filteredColumnNamesInEdgeEditSelection() { - return this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !this.editedEdgeMap!.source_fields.includes(column_name) && - !this.editedEdgeMap!.target_fields.includes(column_name) - ); - } - - @computed get filteredColumnNamesInEdgeNewSelection() { - return this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !this.newEdgeType.source_fields.includes(column_name) && - !this.newEdgeType.target_fields.includes(column_name) - ); - } - - @computed get filteredFileMapInfo() { - return this.fileMapInfos.filter(({ name }) => - this.dataImportRootStore.fileList.map(({ name }) => name).includes(name) - ); - } - - @action - switchReadOnly(isReadOnly: boolean) { - this.readOnly = isReadOnly; - } - - @action - switchLock(lock: boolean) { - this.lock = lock; - } - - @action - switchIrregularProcess(flag: boolean) { - this.isIrregularProcess = flag; - } - - @action - switchExpand(card: 'file' | 'type', flag: boolean) { - if (card === 'file') { - this.isExpandFileConfig = flag; - } else { - this.isExpandTypeConfig = flag; - } - } - - @action - switchEditTypeConfig(flag: boolean) { - this.isExpandTypeConfig = flag; - } - - @action - switchAddNewTypeConfig(flag: boolean) { - this.isAddNewTypeConfig = flag; - } - - @action - setSelectedFileId(id: number) { - this.selectedFileId = id; - } - - @action - setSelectedFileInfo() { - const fileInfo = this.fileMapInfos.find( - ({ id }) => id === this.selectedFileId - ); - - if (!isUndefined(fileInfo)) { - this.selectedFileInfo = fileInfo; - } - } - - @action - setFileConfig(key: T, value: FileConfig[T]) { - if (this.selectedFileInfo !== null) { - this.selectedFileInfo.file_setting[key] = value; - } - } - - @action - syncEditMap(type: 'vertex' | 'edge', mapIndex: number) { - if (type === 'vertex') { - this.editedVertexMap = cloneDeep( - this.selectedFileInfo!.vertex_mappings[mapIndex] - ); - } else { - this.editedEdgeMap = cloneDeep( - this.selectedFileInfo!.edge_mappings[mapIndex] - ); - } - } - - @action - setNewVertexConfig(key: T, value: VertexMap[T]) { - this.newVertexType[key] = value; - } - - @action - editVertexMapConfig( - key: T, - value: VertexMap[T], - vertexMapIndex: number - ) { - this.editedVertexMap![key] = value; - } - - @action - setNewEdgeConfig(key: T, value: EdgeMap[T]) { - this.newEdgeType[key] = value; - } - - @action - editEdgeMapConfig( - key: T, - value: EdgeMap[T], - edgeMapIndex: number - ) { - this.editedEdgeMap![key] = value; - } - - @action - setVertexFieldMappingKey(type: 'new' | 'edit', key: string, value?: string) { - if (type === 'new') { - this.newVertexType.field_mapping.unshift({ - column_name: key, - mapped_name: isUndefined(value) ? '' : value - }); - } else { - this.editedVertexMap!.field_mapping.unshift({ - column_name: key, - mapped_name: isUndefined(value) ? '' : value - }); - } - } - - @action - setEdgeFieldMappingKey(type: 'new' | 'edit', key: string, value?: string) { - if (type === 'new') { - this.newEdgeType.field_mapping.unshift({ - column_name: key, - mapped_name: isUndefined(value) ? '' : value - }); - } else { - this.editedEdgeMap!.field_mapping.unshift({ - column_name: key, - mapped_name: isUndefined(value) ? '' : value - }); - } - } - - @action - setVertexFieldMapping( - type: 'new' | 'edit', - value: string, - vertexMapFieldIndex: number - ) { - if (type === 'new') { - this.newVertexType.field_mapping[vertexMapFieldIndex].mapped_name = value; - } else { - this.editedVertexMap!.field_mapping[ - vertexMapFieldIndex - ].mapped_name = value; - } - } - - @action - setEdgeFieldMapping( - type: 'new' | 'edit', - value: string, - edgeMapFieldIndex: number - ) { - if (type === 'new') { - this.newEdgeType.field_mapping[edgeMapFieldIndex].mapped_name = value; - } else { - this.editedEdgeMap!.field_mapping[edgeMapFieldIndex].mapped_name = value; - } - } - - @action - removeVertexFieldMapping(type: 'new' | 'edit', columnName: string) { - if (type === 'new') { - remove( - this.newVertexType.field_mapping, - ({ column_name }) => column_name === columnName - ); - } else { - remove( - this.editedVertexMap!.field_mapping, - ({ column_name }) => column_name === columnName - ); - } - } - - @action - removeEdgeFieldMapping(type: 'new' | 'edit', columnName: string) { - if (type === 'new') { - remove( - this.newEdgeType.field_mapping, - ({ column_name }) => column_name === columnName - ); - } else { - remove( - this.editedEdgeMap!.field_mapping, - ({ column_name }) => column_name === columnName - ); - } - } - - @action - toggleVertexSelectAllFieldMapping( - type: 'new' | 'edit', - selectAll: boolean, - selectedVertex?: VertexType - ) { - if (selectAll) { - if (type === 'new') { - const existedFieldColumnNames = this.newVertexType.field_mapping.map( - ({ column_name }) => column_name - ); - - this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !existedFieldColumnNames.includes(column_name) && - !this.newVertexType.id_fields.includes(column_name) - ).map((columnName) => { - this.setVertexFieldMappingKey( - type, - columnName, - selectedVertex?.properties.find(({ name }) => name === columnName) - ?.name - ); - }); - } else { - const existedFieldColumnNames = this.editedVertexMap!.field_mapping.map( - ({ column_name }) => column_name - ); - - this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !existedFieldColumnNames.includes(column_name) && - !this.editedVertexMap!.id_fields.includes(column_name) - ).forEach((columnName) => { - this.setVertexFieldMappingKey( - type, - columnName, - selectedVertex?.properties.find(({ name }) => name === columnName) - ?.name - ); - }); - } - } else { - if (type === 'new') { - this.newVertexType.field_mapping = []; - } else { - this.editedVertexMap!.field_mapping = []; - } - } - } - - @action - toggleEdgeSelectAllFieldMapping( - type: 'new' | 'edit', - selectAll: boolean, - selectedEdge?: EdgeType - ) { - if (selectAll) { - if (type === 'new') { - const existedFieldColumnNames = this.newEdgeType.field_mapping.map( - ({ column_name }) => column_name - ); - - this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !existedFieldColumnNames.includes(column_name) && - !this.newEdgeType.source_fields.includes(column_name) && - !this.newEdgeType.target_fields.includes(column_name) - ).forEach((columnName) => { - this.setEdgeFieldMappingKey( - type, - columnName, - selectedEdge?.properties.find(({ name }) => name === columnName) - ?.name - ); - }); - } else { - const existedFieldColumnNames = this.editedEdgeMap!.field_mapping.map( - ({ column_name }) => column_name - ); - - this.selectedFileInfo!.file_setting.column_names.filter( - (column_name) => - !existedFieldColumnNames.includes(column_name) && - !this.editedEdgeMap!.source_fields.includes(column_name) && - !this.editedEdgeMap!.target_fields.includes(column_name) - ).map((columnName) => { - this.setEdgeFieldMappingKey( - type, - columnName, - selectedEdge?.properties.find(({ name }) => name === columnName) - ?.name - ); - }); - } - } else { - if (type === 'new') { - this.newEdgeType.field_mapping = []; - } else { - this.editedEdgeMap!.field_mapping = []; - } - } - } - - toggleCustomNullValue( - type: 'new' | 'edit', - collection: 'vertex' | 'edge', - flag: boolean - ) { - if (type === 'new') { - if (collection === 'vertex') { - if (flag) { - this.newVertexType.null_values.customized = ['']; - } else { - this.newVertexType.null_values.customized = []; - } - } else { - if (flag) { - this.newEdgeType.null_values.customized = ['']; - } else { - this.newEdgeType.null_values.customized = []; - } - } - } else { - if (collection === 'vertex') { - if (flag) { - this.editedVertexMap!.null_values.customized = ['']; - } else { - this.editedVertexMap!.null_values.customized = []; - } - } else { - if (flag) { - this.editedEdgeMap!.null_values.customized = ['']; - } else { - this.editedEdgeMap!.null_values.customized = []; - } - } - } - } - - editCheckedNullValues( - type: 'new' | 'edit', - collection: 'vertex' | 'edge', - values: string[] - ) { - if (type === 'new') { - if (collection === 'vertex') { - this.newVertexType.null_values.checked = values; - } else { - this.newEdgeType.null_values.checked = values; - } - } else { - if (collection === 'vertex') { - this.editedVertexMap!.null_values.checked = values; - } else { - this.editedEdgeMap!.null_values.checked = values; - } - } - } - - addCustomNullValues(type: 'new' | 'edit', collection: 'vertex' | 'edge') { - if (type === 'new') { - if (collection === 'vertex') { - this.newVertexType.null_values.customized.push(''); - } else { - this.newEdgeType.null_values.customized.push(''); - } - } else { - if (collection === 'vertex') { - this.editedVertexMap!.null_values.customized.push(''); - } else { - this.editedVertexMap!.null_values.customized.push(''); - } - } - } - - editCustomNullValues( - type: 'new' | 'edit', - collection: 'vertex' | 'edge', - value: string, - nullValueIndex: number - ) { - if (type === 'new') { - if (collection === 'vertex') { - this.newVertexType.null_values.customized[nullValueIndex] = value; - } else { - this.newEdgeType.null_values.customized[nullValueIndex] = value; - } - } else { - if (collection === 'vertex') { - this.editedVertexMap!.null_values.customized[nullValueIndex] = value; - } else { - this.editedEdgeMap!.null_values.customized[nullValueIndex] = value; - } - } - } - - @action - addVertexValueMapping(type: 'new' | 'edit') { - const newValueMapping = { - column_name: '', - values: [ - { - column_value: '', - mapped_value: '' - } - ] - }; - - if (type === 'new') { - this.newVertexType.value_mapping.push(newValueMapping); - } else { - this.editedVertexMap!.value_mapping.push(newValueMapping); - } - } - - @action - addEdgeValueMapping(type: 'new' | 'edit') { - const newValueMapping = { - column_name: '', - values: [ - { - column_value: '', - mapped_value: '' - } - ] - }; - - if (type === 'new') { - this.newEdgeType.value_mapping.push(newValueMapping); - } else { - this.editedEdgeMap!.value_mapping.push(newValueMapping); - } - } - - @action - addVertexValueMappingValue(type: 'new' | 'edit', vertexMapIndex: number) { - const newValue = { - column_value: '', - mapped_value: '' - }; - - if (type === 'new') { - this.newVertexType.value_mapping[vertexMapIndex].values.push(newValue); - } else { - this.editedVertexMap!.value_mapping[vertexMapIndex].values.push(newValue); - } - } - - @action - addEdgeValueMappingValue(type: 'new' | 'edit', vertexMapIndex: number) { - const newValue = { - column_value: '', - mapped_value: '' - }; - - if (type === 'new') { - this.newEdgeType.value_mapping[vertexMapIndex].values.push(newValue); - } else { - this.editedEdgeMap!.value_mapping[vertexMapIndex].values.push(newValue); - } - } - - @action - editVertexValueMappingColumnName( - type: 'new' | 'edit', - value: string, - valueMapIndex: number - ) { - if (type === 'new') { - this.newVertexType.value_mapping[valueMapIndex].column_name = value; - } else { - this.editedVertexMap!.value_mapping[valueMapIndex].column_name = value; - } - } - - @action - editEdgeValueMappingColumnName( - type: 'new' | 'edit', - value: string, - valueMapIndex: number - ) { - if (type === 'new') { - this.newEdgeType.value_mapping[valueMapIndex].column_name = value; - } else { - this.editedEdgeMap!.value_mapping[valueMapIndex].column_name = value; - } - } - - @action - editVertexValueMappingColumnValueName( - type: 'new' | 'edit', - field: 'column_value' | 'mapped_value', - value: string, - valueMapIndex: number, - valueIndex: number - ) { - if (type === 'new') { - this.newVertexType.value_mapping[valueMapIndex].values[valueIndex][ - field - ] = value; - } else { - this.editedVertexMap!.value_mapping[valueMapIndex].values[valueIndex][ - field - ] = value; - } - } - - @action - editEdgeValueMappingColumnValueName( - type: 'new' | 'edit', - field: 'column_value' | 'mapped_value', - value: string, - valueMapIndex: number, - valueIndex: number - ) { - if (type === 'new') { - this.newEdgeType.value_mapping[valueMapIndex].values[valueIndex][ - field - ] = value; - } else { - this.editedEdgeMap!.value_mapping[valueMapIndex].values[valueIndex][ - field - ] = value; - } - } - - @action - removeVertexValueMapping(type: 'new' | 'edit', valueMapIndex: number) { - if (type === 'new') { - remove( - this.newVertexType.value_mapping, - (_, index) => index === valueMapIndex - ); - } else { - remove( - this.editedVertexMap!.value_mapping, - (_, index) => index === valueMapIndex - ); - } - } - - @action - removeEdgeValueMapping(type: 'new' | 'edit', valueMapIndex: number) { - if (type === 'new') { - remove( - this.newEdgeType.value_mapping, - (_, index) => index === valueMapIndex - ); - } else { - remove( - this.editedEdgeMap!.value_mapping, - (_, index) => index === valueMapIndex - ); - } - } - - @action - removeVertexValueMappingValue( - type: 'new' | 'edit', - valueMapIndex: number, - valueIndex: number - ) { - if (type === 'new') { - remove( - this.newVertexType.value_mapping[valueMapIndex].values, - (_, index) => index === valueIndex - ); - } else { - remove( - this.editedVertexMap!.value_mapping[valueMapIndex].values, - (_, index) => index === valueIndex - ); - } - } - - @action - removeEdgeValueMappingValue( - type: 'new' | 'edit', - valueMapIndex: number, - valueIndex: number - ) { - if (type === 'new') { - remove( - this.newEdgeType.value_mapping[valueMapIndex].values, - (_, index) => index === valueIndex - ); - } else { - remove( - this.editedEdgeMap!.value_mapping[valueMapIndex].values, - (_, index) => index === valueIndex - ); - } - } - - @action - resetNewMap(newMap: 'vertex' | 'edge') { - if (newMap === 'vertex') { - this.newVertexType = createNewVertexType(); - } else { - this.newEdgeType = createNewEdgeType(); - } - } - - @action - resetEditMapping(editMapping: 'vertex' | 'edge') { - if (editMapping === 'vertex') { - this.editedVertexMap = createNewVertexType(); - } else { - this.editedEdgeMap = createNewEdgeType(); - } - } - - @action - validateFileInfo( - category: 'delimiter' | 'charset' | 'date_format' | 'skipped_line' - ) { - if (this.selectedFileInfo?.file_setting[category] === '') { - this.validateFileInfoErrorMessage[category] = i18next.t( - 'addition.store.cannot-be-empty1' - ); - return; - } - - if (category === 'date_format') { - const date_format = this.selectedFileInfo!.file_setting.date_format; - - if ( - date_format === 'yyyy-MM-dd' || - date_format === 'yyyy-MM-dd HH:mm:ss' || - date_format === 'yyyy-MM-dd HH:mm:ss.SSS' - ) { - this.validateFileInfoErrorMessage.date_format = ''; - return; - } - - if ( - !validateGraphProperty( - 'DATE', - // hack - this.selectedFileInfo!.file_setting.date_format.replace(/\w/g, '1') - ) - ) { - this.validateFileInfoErrorMessage.date_format = i18next.t( - 'addition.store.incorrect-time-format' - ); - return; - } - } - - this.validateFileInfoErrorMessage[category] = ''; - } - - @action - validateValueMapping( - type: 'vertex' | 'edge', - status: 'new' | 'edit', - category: 'null_values' | 'value_mappings', - optionIndex: number, - valueMapOptions?: { - field: 'column_name' | 'column_value' | 'mapped_value'; - valueIndex?: number; - } - ) { - let mapping; - - if (type === 'vertex') { - mapping = status === 'new' ? this.newVertexType : this.editedVertexMap; - } else { - mapping = status === 'new' ? this.newEdgeType : this.editedEdgeMap; - } - - if (category === 'null_values') { - const value = mapping!.null_values.customized[optionIndex]; - - if (isEmpty(value)) { - this.validateAdvanceConfigErrorMessage.null_values[ - optionIndex - ] = i18next.t('data-configs.validator.no-empty'); - } else { - this.validateAdvanceConfigErrorMessage.null_values[optionIndex] = ''; - } - } - - if (category === 'value_mappings') { - const { column_name, values } = mapping!.value_mapping[optionIndex]; - - if (valueMapOptions?.field === 'column_name') { - this.validateAdvanceConfigErrorMessage.value_mapping[ - optionIndex - ].column_name = isEmpty(column_name) - ? i18next.t('data-configs.validator.no-empty') - : ''; - } else { - const { column_value, mapped_value } = values[ - valueMapOptions?.valueIndex! - ]; - - if (valueMapOptions?.field === 'column_value') { - this.validateAdvanceConfigErrorMessage.value_mapping[ - optionIndex - ].values[valueMapOptions!.valueIndex!].column_value = isEmpty( - column_value - ) - ? i18next.t('data-configs.validator.no-empty') - : ''; - } - - if (valueMapOptions?.field === 'mapped_value') { - this.validateAdvanceConfigErrorMessage.value_mapping[ - optionIndex - ].values[valueMapOptions!.valueIndex!].mapped_value = isEmpty( - mapped_value - ) - ? i18next.t('data-configs.validator.no-empty') - : ''; - } - } - } - } - - @action - addValidateValueMappingOption( - category: 'null_values' | 'value_mappings' | 'value_mappings_value', - valueMapIndex?: number - ) { - if (category === 'null_values') { - this.validateAdvanceConfigErrorMessage.null_values.push(''); - } - - if (category === 'value_mappings') { - this.validateAdvanceConfigErrorMessage.value_mapping.push({ - column_name: '', - values: [ - { - column_value: '', - mapped_value: '' - } - ] - }); - } - - if (category === 'value_mappings_value') { - this.validateAdvanceConfigErrorMessage.value_mapping[ - valueMapIndex! - ].values.push({ - column_value: '', - mapped_value: '' - }); - } - } - - @action - syncValidateNullAndValueMappings(type: 'vertex' | 'edge') { - const { null_values, value_mapping } = - type === 'vertex' ? this.editedVertexMap! : this.editedEdgeMap!; - - null_values.customized.forEach(() => { - this.validateAdvanceConfigErrorMessage.null_values.push(''); - }); - - value_mapping.forEach(({ values }) => { - this.validateAdvanceConfigErrorMessage.value_mapping.push({ - column_name: '', - values: values.map(() => ({ - column_value: '', - mapped_value: '' - })) - }); - }); - } - - @action - removeValidateValueMappingOption( - type: 'vertex' | 'edge', - status: 'new' | 'edit', - category: 'null_values' | 'value_mappings' | 'value_mappings_value', - optionIndex: number, - valueMappingValueIndex?: number - ) { - let mapping; - - if (type === 'vertex') { - mapping = status === 'new' ? this.newVertexType : this.editedVertexMap; - } else { - mapping = status === 'new' ? this.newEdgeType : this.editedEdgeMap; - } - - if (category === 'null_values') { - remove( - this.validateAdvanceConfigErrorMessage.null_values, - (_, index) => index === optionIndex - ); - } - - if (category === 'value_mappings') { - remove( - this.validateAdvanceConfigErrorMessage.value_mapping, - (_, index) => index === optionIndex - ); - } - - if (category === 'value_mappings_value') { - remove( - this.validateAdvanceConfigErrorMessage.value_mapping[optionIndex] - .values, - (_, index) => index === valueMappingValueIndex - ); - } - } - - @action - allowAddPropertyMapping(type: 'vertex' | 'edge') { - let valueMapping; - - if (type === 'vertex') { - valueMapping = this.isExpandTypeConfig - ? this.editedVertexMap!.value_mapping - : this.newVertexType.value_mapping; - } else { - valueMapping = this.isExpandTypeConfig - ? this.editedEdgeMap!.value_mapping - : this.newEdgeType.value_mapping; - } - - return valueMapping.every((_, valueMapIndex) => - this.allowAddPropertyValueMapping(type, valueMapIndex) - ); - } - - @action - allowAddPropertyValueMapping(type: 'vertex' | 'edge', valueMapIndex: number) { - let currentValueMapping; - - if (type === 'vertex') { - currentValueMapping = this.isExpandTypeConfig - ? this.editedVertexMap!.value_mapping - : this.newVertexType.value_mapping; - } else { - currentValueMapping = this.isExpandTypeConfig - ? this.editedEdgeMap!.value_mapping - : this.newEdgeType.value_mapping; - } - - // when status is edit, init currentValueMapping is empty - // it's weired that TS has no error in destruction below - // where column_name or values could be undefined - // if (isEmpty(currentValueMapping[valueMapIndex])) { - // return true; - // } - - const { column_name, values } = currentValueMapping[valueMapIndex]; - - return ( - !isEmpty(column_name) && - values.every( - ({ column_value, mapped_value }) => - !isEmpty(column_value) && !isEmpty(mapped_value) - ) && - this.validateAdvanceConfigErrorMessage.value_mapping[ - valueMapIndex - ].values.every( - ({ column_value, mapped_value }) => - isEmpty(column_value) && isEmpty(mapped_value) - ) - ); - } - - @action - resetValidateFileInfoErrorMessage() { - this.validateFileInfoErrorMessage = createValidateFileInfoErrorMessage(); - } - - @action - resetValidateValueMapping(category: 'null_values' | 'value_mapping' | 'all') { - switch (category) { - case 'null_values': - case 'value_mapping': - this.validateAdvanceConfigErrorMessage[category] = []; - return; - case 'all': - this.validateAdvanceConfigErrorMessage = createValidateAdvanceConfigErrorMessage(); - return; - } - } - - @action - resetDataMaps() { - this.isExpandTypeConfig = false; - this.isAddNewTypeConfig = false; - - this.newVertexType = createNewVertexType(); - this.editedVertexMap = null; - - this.newEdgeType = createNewEdgeType(); - this.editedEdgeMap = null; - - this.validateFileInfoErrorMessage = createValidateFileInfoErrorMessage(); - this.validateAdvanceConfigErrorMessage = createValidateAdvanceConfigErrorMessage(); - - this.requestStatus = initRequestStatus(); - this.errorInfo = initErrorInfo(); - } - - @action - dispose() { - this.resetDataMaps(); - - this.readOnly = false; - this.lock = false; - this.isIrregularProcess = false; - this.isExpandFileConfig = true; - this.fileMapInfos = []; - this.preFetchedFileMapInfos = []; - this.selectedFileId = NaN; - this.selectedFileInfo = null; - } - - fetchDataMaps = flow(function* fetchDataMaps(this: DataMapStore) { - this.requestStatus.fetchDataMaps = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings`, - { - params: { - page_size: -1 - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchDataMaps.code = result.data.status; - throw new Error(result.data.message); - } - - this.fileMapInfos = result.data.data.records; - this.requestStatus.fetchDataMaps = 'success'; - } catch (error) { - this.requestStatus.fetchDataMaps = 'failed'; - this.errorInfo.fetchDataMaps.message = error.message; - console.error(error.message); - } - }); - - updateFileConfig = flow(function* updateFileConfig( - this: DataMapStore, - fileId: number - ) { - this.requestStatus.updateFileConfig = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/file-setting`, - this.selectedFileInfo?.file_setting - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.updateFileConfig.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedFileInfo!.file_setting = result.data.data.file_setting; - this.requestStatus.updateFileConfig = 'success'; - } catch (error) { - this.requestStatus.updateFileConfig = 'failed'; - this.errorInfo.updateFileConfig.message = error.message; - console.error(error.message); - } - }); - - updateVertexMap = flow(function* updateVertexMap( - this: DataMapStore, - method: 'add' | 'upgrade' | 'delete', - fileId: number - ) { - this.requestStatus.updateVertexMap = 'pending'; - - try { - let result: AxiosResponse>; - - switch (method) { - case 'add': { - const newVertexType = cloneDeep(this.newVertexType); - - if ( - newVertexType.null_values.checked.includes('NULL') && - !newVertexType.null_values.checked.includes('null') - ) { - newVertexType.null_values.checked.push('null'); - } - - result = yield axios - .post( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings`, - newVertexType - ) - .catch(checkIfLocalNetworkOffline); - break; - } - case 'upgrade': { - const editedVertexMap = cloneDeep(this.editedVertexMap); - - if ( - editedVertexMap!.null_values.checked.includes('NULL') && - !editedVertexMap!.null_values.checked.includes('null') - ) { - editedVertexMap!.null_values.checked.push('null'); - } - - result = yield axios - .put( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings/${this.editedVertexMap?.id}`, - editedVertexMap - ) - .catch(checkIfLocalNetworkOffline); - break; - } - case 'delete': - result = yield axios - .delete( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings/${this.editedVertexMap?.id}` - ) - .catch(checkIfLocalNetworkOffline); - break; - } - - if (result.data.status !== 200) { - this.errorInfo.updateVertexMap.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedFileInfo!.vertex_mappings = result.data.data.vertex_mappings; - this.requestStatus.updateVertexMap = 'success'; - } catch (error) { - this.requestStatus.updateVertexMap = 'failed'; - this.errorInfo.updateVertexMap.message = error.message; - console.error(error.message); - } - }); - - updateEdgeMap = flow(function* updateEdgeMap( - this: DataMapStore, - method: 'add' | 'upgrade' | 'delete', - fileId: number - ) { - this.requestStatus.updateEdgeMap = 'pending'; - - try { - let result: AxiosResponse>; - - switch (method) { - case 'add': { - const newEdgeType = cloneDeep(this.newEdgeType); - - if ( - newEdgeType.null_values.checked.includes('NULL') && - !newEdgeType.null_values.checked.includes('null') - ) { - newEdgeType.null_values.checked.push('null'); - } - - result = yield axios - .post( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings`, - newEdgeType - ) - .catch(checkIfLocalNetworkOffline); - break; - } - case 'upgrade': { - const editedEdgeMap = cloneDeep(this.editedEdgeMap); - - if ( - editedEdgeMap!.null_values.checked.includes('NULL') && - !editedEdgeMap!.null_values.checked.includes('null') - ) { - editedEdgeMap!.null_values.checked.push('null'); - } - - result = yield axios - .put( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings/${this.editedEdgeMap?.id}`, - this.editedEdgeMap - ) - .catch(checkIfLocalNetworkOffline); - break; - } - case 'delete': - result = yield axios - .delete( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings/${this.editedEdgeMap?.id}` - ) - .catch(checkIfLocalNetworkOffline); - break; - } - - if (result.data.status !== 200) { - this.errorInfo.updateEdgeMap.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedFileInfo!.edge_mappings = result.data.data.edge_mappings; - this.requestStatus.updateEdgeMap = 'success'; - } catch (error) { - this.requestStatus.updateEdgeMap = 'failed'; - this.errorInfo.updateEdgeMap.message = error.message; - console.error(error.message); - } - }); - - deleteVertexMap = flow(function* deleteVertexMap( - this: DataMapStore, - mapIndex: number - ) { - this.requestStatus.deleteVertexMap = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ - this.dataImportRootStore.currentJobId - }/file-mappings/${this.selectedFileInfo!.id}/vertex-mappings/${ - this.selectedFileInfo?.vertex_mappings[mapIndex].id - }` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteVertexMap.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedFileInfo!.vertex_mappings = result.data.data.vertex_mappings; - this.requestStatus.deleteVertexMap = 'success'; - } catch (error) { - this.requestStatus.deleteVertexMap = 'failed'; - this.errorInfo.deleteVertexMap.message = error.message; - console.error(error.message); - } - }); - - deleteEdgeMap = flow(function* deleteEdgeMap( - this: DataMapStore, - mapIndex: number - ) { - this.requestStatus.deleteEdgeMap = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ - this.dataImportRootStore.currentJobId - }/file-mappings/${this.selectedFileInfo!.id}/edge-mappings/${ - this.selectedFileInfo?.edge_mappings[mapIndex].id - }` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteEdgeMap.code = result.data.status; - throw new Error(result.data.message); - } - - this.selectedFileInfo!.edge_mappings = result.data.data.edge_mappings; - this.requestStatus.deleteEdgeMap = 'success'; - } catch (error) { - this.requestStatus.deleteEdgeMap = 'failed'; - this.errorInfo.deleteEdgeMap.message = error.message; - console.error(error.message); - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts deleted file mode 100644 index c25c2f4ff..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts +++ /dev/null @@ -1,516 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { size, isUndefined } from 'lodash-es'; -import isInt from 'validator/lib/isInt'; - -import { DataImportRootStore } from './dataImportRootStore'; -import i18next from '../../../i18n'; -import { baseUrl, responseData } from '../../types/common'; -import { - LoadParameter, - ImportTasks, - AllImportTasksRecords -} from '../../types/GraphManagementStore/dataImportStore'; -import { - initRequestStatus, - initErrorInfo, - createValidateFileInfoErrorMessage -} from '../../../stores/factory/dataImportStore/serverDataImportStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -export class ServerDataImportStore { - dataImportRootStore: DataImportRootStore; - - constructor(dataImportRootStore: DataImportRootStore) { - this.dataImportRootStore = dataImportRootStore; - } - - @observable requestStatus = initRequestStatus(); - @observable errorInfo = initErrorInfo(); - - // v1.3.1 - @observable readOnly = false; - @observable importConfigReadOnly = false; - @observable isIrregularProcess = false; - - @observable isExpandImportConfig = true; - @observable isImporting = false; - @observable isImportFinished = false; - @observable importConfigs: LoadParameter | null = null; - @observable - validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); - - @observable importTasks: ImportTasks[] = []; - @observable.ref fileImportTaskIds: number[] = []; - @observable errorLogs = ''; - - @computed get isServerStartImport() { - return this.requestStatus.startImport !== 'standby'; - } - - @computed get successImportFileStatusNumber() { - return size(this.importTasks.filter(({ status }) => status === 'SUCCEED')); - } - - @computed get pausedImportFileNumber() { - return size(this.importTasks.filter(({ status }) => status === 'PAUSED')); - } - - @computed get abortImportFileNumber() { - return size(this.importTasks.filter(({ status }) => status === 'STOPPED')); - } - - @action - switchReadOnly(isReadOnly: boolean) { - this.readOnly = isReadOnly; - } - - @action - switchImportConfigReadOnly(isReadOnly: boolean) { - this.importConfigReadOnly = isReadOnly; - } - - @action - switchIrregularProcess(flag: boolean) { - this.isIrregularProcess = flag; - } - - @action - switchExpandImportConfig(flag: boolean) { - this.isExpandImportConfig = flag; - } - - @action - switchImporting(flag: boolean) { - this.isImporting = flag; - } - - @action - switchImportFinished(flag: boolean) { - this.isImportFinished = flag; - } - - @action - switchFetchImportStatus(status: string) { - this.requestStatus.fetchImportTasks = status; - } - - @action - syncImportConfigs(configs: LoadParameter) { - this.importConfigs = configs; - } - - @action - mutateImportConfigs( - key: T, - value: LoadParameter[T] - ) { - this.importConfigs![key] = value; - } - - @action - validateImportConfigs(key: keyof LoadParameter) { - switch (key) { - case 'max_parse_errors': - case 'max_insert_errors': - if (this.importConfigs![key] === '') { - this.validateImportConfigErrorMessage[key] = i18next.t( - 'server-data-import.validator.no-empty' - ); - - return; - } else if ( - !isInt(String(this.importConfigs![key]), { min: -1 }) || - String(Number(this.importConfigs![key])) === '0' - ) { - this.validateImportConfigErrorMessage[key] = i18next.t( - 'server-data-import.validator.need-integer-with-negative' - ); - - return; - } - - break; - case 'insert_timeout': - case 'retry_interval': - case 'retry_times': - if (this.importConfigs![key] === '') { - this.validateImportConfigErrorMessage[key] = i18next.t( - 'server-data-import.validator.no-empty' - ); - - return; - } else if (!isInt(String(this.importConfigs![key]), { min: 1 })) { - this.validateImportConfigErrorMessage[key] = i18next.t( - 'server-data-import.validator.need-integer' - ); - - return; - } - - break; - } - - this.validateImportConfigErrorMessage[key] = ''; - } - - @action - resetValidateImportConfigs() { - this.validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); - } - - @action - resetImportTasks() { - this.importTasks = []; - } - - @action - dispose() { - this.readOnly = false; - this.importConfigReadOnly = false; - this.isIrregularProcess = false; - this.requestStatus = initRequestStatus(); - this.errorInfo = initErrorInfo(); - this.errorLogs = ''; - this.isExpandImportConfig = true; - this.isImporting = false; - this.isImportFinished = false; - this.importConfigs = null; - this.importTasks = []; - this.fileImportTaskIds = []; - this.validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); - } - - fetchImportTasks = flow(function* fetchImportTasks( - this: ServerDataImportStore, - taskIds: number[] - ) { - this.requestStatus.fetchImportTasks = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ - this.dataImportRootStore.currentJobId - }/load-tasks/ids?${taskIds.map((id) => 'task_ids=' + id).join('&')}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchImportTasks.code = result.data.status; - throw new Error(result.data.message); - } - - this.importTasks = result.data.data; - - if (!this.importTasks.some(({ status }) => status === 'RUNNING')) { - this.switchFetchImportStatus('pending'); - this.switchImporting(false); - this.switchImportFinished(true); - } - - this.requestStatus.fetchImportTasks = 'success'; - } catch (error) { - this.requestStatus.fetchImportTasks = 'failed'; - this.errorInfo.fetchImportTasks.message = error.message; - console.error(error.message); - } - }); - - fetchAllImportTasks = flow(function* fetchAllImportTasks( - this: ServerDataImportStore - ) { - this.requestStatus.fetchImportTasks = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchImportTasks.code = result.data.status; - throw new Error(result.data.message); - } - - this.importTasks = result.data.data.records; - - if (!this.importTasks.some(({ status }) => status === 'RUNNING')) { - this.switchFetchImportStatus('pending'); - this.switchImporting(false); - this.switchImportFinished(true); - } - - this.requestStatus.fetchImportTasks = 'success'; - } catch (error) { - this.requestStatus.fetchImportTasks = 'failed'; - this.errorInfo.fetchImportTasks.message = error.message; - console.error(error.message); - } - }); - - setConfigParams = flow(function* setConfigParams( - this: ServerDataImportStore - ) { - this.requestStatus.setConfigParams = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/load-parameter`, - this.importConfigs - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.setConfigParams.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.setConfigParams = 'success'; - } catch (error) { - this.requestStatus.setConfigParams = 'failed'; - this.errorInfo.setConfigParams.message = error.message; - console.error(error.message); - } - }); - - startImport = flow(function* startImport( - this: ServerDataImportStore, - fileIds: number[] - ) { - this.requestStatus.startImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ - this.dataImportRootStore.currentJobId - }/load-tasks/start?${fileIds - .map((id) => 'file_mapping_ids=' + id) - .join('&')}`, - {} - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.startImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.fileImportTaskIds = result.data.data.map(({ id }) => id); - this.requestStatus.startImport = 'success'; - } catch (error) { - this.requestStatus.startImport = 'failed'; - this.errorInfo.startImport.message = error.message; - console.error(error.message); - } - }); - - pauseImport = flow(function* pauseImport( - this: ServerDataImportStore, - taskId: number - ) { - this.requestStatus.pauseImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/pause`, - {}, - { - params: { - task_id: taskId - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.pauseImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.pauseImport = 'success'; - } catch (error) { - this.requestStatus.pauseImport = 'failed'; - this.errorInfo.pauseImport.message = error.message; - console.error(error.message); - } - }); - - resumeImport = flow(function* resumeImport( - this: ServerDataImportStore, - taskId: number - ) { - this.requestStatus.resumeImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/resume`, - {}, - { - params: { - task_id: taskId - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.resumeImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.resumeImport = 'success'; - } catch (error) { - this.requestStatus.resumeImport = 'failed'; - this.errorInfo.resumeImport.message = error.message; - console.error(error.message); - } - }); - - abortImport = flow(function* abortImport( - this: ServerDataImportStore, - taskId: number - ) { - this.requestStatus.abortImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/stop`, - {}, - { - params: { - task_id: taskId - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.abortImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.abortImport = 'success'; - } catch (error) { - this.requestStatus.abortImport = 'failed'; - this.errorInfo.abortImport.message = error.message; - console.error(error.message); - } - }); - - retryImport = flow(function* retryImport( - this: ServerDataImportStore, - taskId: number - ) { - this.requestStatus.retryImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/retry`, - {}, - { - params: { - task_id: taskId - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.retryImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.retryImport = 'success'; - } catch (error) { - this.requestStatus.retryImport = 'failed'; - this.errorInfo.retryImport.message = error.message; - console.error(error.message); - } - }); - - deleteTaskImport = flow(function* deleteTaskImport( - this: ServerDataImportStore, - taskId: number - ) { - this.requestStatus.deleteTaskImport = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete>( - `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/${taskId}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.deleteTaskImport.code = result.data.status; - throw new Error(result.data.message); - } - - this.requestStatus.deleteTaskImport = 'success'; - } catch (error) { - this.requestStatus.deleteTaskImport = 'failed'; - this.errorInfo.deleteTaskImport.message = error.message; - console.error(error.message); - } - }); - - checkErrorLogs = flow(function* checkErrorLogs( - this: ServerDataImportStore, - id: number, - jobId: number, - taskId: number - ) { - this.requestStatus.checkErrorLogs = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .get>( - `${baseUrl}/${id}/job-manager/${jobId}/load-tasks/${taskId}/reason` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.checkErrorLogs.code = result.data.status; - throw new Error(result.data.message); - } - - this.errorLogs = result.data.data; - this.requestStatus.checkErrorLogs = 'success'; - } catch (error) { - this.requestStatus.checkErrorLogs = 'failed'; - this.errorInfo.checkErrorLogs.message = error.message; - console.error(error.message); - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/graphManagementStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/graphManagementStore.ts deleted file mode 100644 index d22e5e782..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/graphManagementStore.ts +++ /dev/null @@ -1,571 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; - -import { baseUrl, responseData } from '../types/common'; -import { - LincenseInfo, - GraphData, - GraphDataConfig, - GraphDataPageConfig, - GraphDataResponse -} from '../types/GraphManagementStore/graphManagementStore'; -import i18next from '../../i18n'; - -export class GraphManagementStore { - [key: string]: any; - - // display create new graph layout - @observable showCreateNewGraph = false; - - // display delete modal after dropdown click in GraphList - @observable showDeleteModal = false; - - // disable all other buttons except from the current new/edit layout - @observable selectedEditIndex: number | null = null; - - // values from the Search component - @observable searchWords = ''; - - @observable errorInfo = { - fetchLicenseInfo: { - code: NaN, - message: '' - }, - fetchIdList: { - code: NaN, - message: '' - }, - fetchGraphData: { - code: NaN, - message: '' - }, - AddGraphData: { - code: NaN, - message: '' - }, - upgradeGraphData: { - code: NaN, - message: '' - }, - deleteGraphData: { - code: NaN, - message: '' - } - }; - - // searched results rather than initial fetched result - @observable.shallow isSearched = { - status: false, - value: '' - }; - - // is sidebar in graphdata details has expanded - @observable isExpanded = false; - - // is clicekd submit or save to validate - @observable isValidated = false; - - @observable.shallow requestStatus = { - fetchLicenseInfo: 'standby', - fetchIdList: 'standby', - fetchGraphData: 'standby', - AddGraphData: 'standby', - upgradeGraphData: 'standby', - deleteGraphData: 'standby' - }; - - @observable validateErrorMessage: Record = { - name: '', - graph: '', - host: '', - port: '', - usernameAndPassword: '' - }; - - @observable.shallow newGraphData: GraphDataConfig = { - name: '', - graph: '', - host: '', - port: '', - username: '', - password: '' - }; - - @observable.shallow editGraphData: GraphDataConfig = { - name: '', - graph: '', - host: '', - port: '', - username: '', - password: '' - }; - - @observable.ref idList: { id: number; name: string }[] = []; - @observable.ref graphData: GraphData[] = []; - @observable.ref licenseInfo: LincenseInfo | null = null; - - @observable.shallow graphDataPageConfig: GraphDataPageConfig = { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - }; - - @action - dispose() { - this.showCreateNewGraph = false; - this.showDeleteModal = false; - this.selectedEditIndex = null; - this.searchWords = ''; - this.isSearched = { - status: false, - value: '' - }; - this.isValidated = false; - this.isExpanded = false; - this.requestStatus = { - fetchLicenseInfo: 'standby', - fetchIdList: 'standby', - fetchGraphData: 'standby', - AddGraphData: 'standby', - upgradeGraphData: 'standby', - deleteGraphData: 'standby' - }; - this.graphData = []; - this.graphDataPageConfig = { - pageNumber: 1, - pageSize: 10, - pageTotal: 0 - }; - this.resetGraphDataConfig('new'); - this.resetGraphDataConfig('edit'); - this.resetErrorInfo(); - this.resetValidateErrorMessage(); - } - - @action - switchCreateNewGraph(flag: boolean) { - this.showCreateNewGraph = flag; - } - - @action - switchDeleteModal(flag: boolean) { - this.showDeleteModal = flag; - } - - @action - switchExpanded(flag: boolean) { - this.isExpanded = flag; - } - - @action - changeSelectedEditIndex(index: number | null) { - this.selectedEditIndex = index; - } - - @action - mutateSearchWords(text: string) { - this.searchWords = text; - } - - @action - mutateGraphDataConfig(key: string, type: 'new' | 'edit') { - return (eventTarget: HTMLInputElement) => { - this.isValidated = false; - - if (type === 'new') { - this.newGraphData[key] = eventTarget.value; - } - - if (type === 'edit') { - this.editGraphData[key] = eventTarget.value; - } - }; - } - - @action - swtichIsSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchWords) - : (this.isSearched.value = ''); - } - - @action - fillInGraphDataConfig(index: number) { - this.editGraphData.id = String(this.graphData[index].id); - this.editGraphData.name = this.graphData[index].name; - this.editGraphData.graph = this.graphData[index].graph; - this.editGraphData.host = this.graphData[index].host; - this.editGraphData.port = String(this.graphData[index].port); - this.editGraphData.username = this.graphData[index].username; - this.editGraphData.password = this.graphData[index].password; - } - - @action - fillInGraphDataDefaultConfig() { - this.newGraphData.name = 'test'; - this.newGraphData.graph = 'hugegraph'; - this.newGraphData.host = '0.0.0.0'; - this.newGraphData.port = '8080'; - } - - @action - resetGraphDataConfig(type: 'new' | 'edit') { - if (type === 'new') { - Object.keys(this.newGraphData).forEach((key) => { - this.newGraphData[key] = ''; - }); - } - - if (type === 'edit') { - Object.keys(this.newGraphData).forEach((key) => { - this.editGraphData[key] = ''; - }); - } - } - - @action - mutatePageNumber(pageNumber: number) { - this.graphDataPageConfig.pageNumber = pageNumber; - } - - @action - validate(type: 'new' | 'edit') { - const nameReg = /^[A-Za-z]\w{0,47}$/; - const hostReg = /((\d{1,3}\.){3}\d{1,3}|([\w!~*'()-]+\.)*[\w!~*'()-]+)$/; - const portReg = /^([1-9]|[1-9]\d{1}|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/; - const dataName = type + 'GraphData'; - let readyToSubmit = true; - - this.resetValidateErrorMessage(); - - if (!nameReg.test(this[dataName].name)) { - this[dataName].name.length === 0 - ? (this.validateErrorMessage.name = i18next.t( - 'addition.store.required' - )) - : (this.validateErrorMessage.name = i18next.t( - 'addition.store.no-match-input-requirements' - )); - readyToSubmit = false; - } - - if (!nameReg.test(this[dataName].graph)) { - this[dataName].graph.length === 0 - ? (this.validateErrorMessage.graph = i18next.t( - 'addition.store.required' - )) - : (this.validateErrorMessage.graph = i18next.t( - 'addition.store.no-match-input-requirements' - )); - readyToSubmit = false; - } - - if (!hostReg.test(this[dataName].host)) { - this[dataName].host.length === 0 - ? (this.validateErrorMessage.host = i18next.t( - 'addition.store.required' - )) - : (this.validateErrorMessage.host = i18next.t('addition.store.rule1')); - readyToSubmit = false; - } - - if (!portReg.test(this[dataName].port)) { - this[dataName].port.length === 0 - ? (this.validateErrorMessage.port = i18next.t( - 'addition.store.required' - )) - : (this.validateErrorMessage.port = i18next.t('addition.store.rule2')); - readyToSubmit = false; - } - - if ( - dataName === 'newGraphData' && - ((this[dataName].username.length !== 0 && - this[dataName].password.length === 0) || - (this[dataName].username.length === 0 && - this[dataName].password.length !== 0)) - ) { - this.validateErrorMessage.usernameAndPassword = i18next.t( - 'addition.store.rule3' - ); - readyToSubmit = false; - } - - return readyToSubmit; - } - - @action - switchValidateStatus(flag: boolean) { - this.isValidated = flag; - } - - @action - resetErrorInfo() { - this.errorInfo = { - fetchLicenseInfo: { - code: NaN, - message: '' - }, - fetchIdList: { - code: NaN, - message: '' - }, - fetchGraphData: { - code: NaN, - message: '' - }, - AddGraphData: { - code: NaN, - message: '' - }, - upgradeGraphData: { - code: NaN, - message: '' - }, - deleteGraphData: { - code: NaN, - message: '' - } - }; - } - - @action - resetValidateErrorMessage() { - Object.keys(this.validateErrorMessage).forEach((key) => { - this.validateErrorMessage[key] = ''; - }); - } - - fetchLicenseInfo = flow(function* fetchLicenseInfo( - this: GraphManagementStore - ) { - this.resetErrorInfo(); - this.requestStatus.fetchLicenseInfo = 'pending'; - - try { - const result: AxiosResponse> = yield axios.get( - '/about' - ); - - if (result.data.status !== 200) { - this.errorInfo.fetchLicenseInfo.code = result.data.status; - throw new Error(result.data.message); - } - - this.licenseInfo = result.data.data; - } catch (error) { - this.requestStatus.fetchLicenseInfo = 'failed'; - this.errorInfo.fetchLicenseInfo.message = error.message; - console.error(error.message); - } - }); - - fetchIdList = flow(function* fetchIdList(this: GraphManagementStore) { - this.resetErrorInfo(); - this.requestStatus.fetchIdList = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - GraphData - >(baseUrl, { - params: { - page_size: -1 - } - }); - - if (result.data.status === 200 || result.data.status === 401) { - if (result.data.status === 200) { - this.requestStatus.fetchIdList = 'success'; - } - - this.idList = result.data.data.records.map(({ id, name }) => ({ - id, - name - })); - - this.graphData = result.data.data.records; - this.graphDataPageConfig.pageTotal = result.data.data.total; - } - - if (result.data.status !== 200) { - this.errorInfo.fetchIdList.code = result.data.status; - throw new Error(result.data.message); - } - } catch (error) { - this.requestStatus.fetchIdList = 'failed'; - this.errorInfo.fetchIdList.message = error.message; - console.error(error.message); - } - }); - - fetchGraphDataList = flow(function* fetchGraphDataList( - this: GraphManagementStore - ) { - this.resetErrorInfo(); - const url = - `${baseUrl}?page_no=${this.graphDataPageConfig.pageNumber}&page_size=${this.graphDataPageConfig.pageSize}` + - (this.isSearched.status && this.searchWords !== '' - ? `&content=${this.searchWords}` - : ''); - - this.requestStatus.fetchGraphData = 'pending'; - - try { - const result: AxiosResponse = yield axios.get< - GraphData - >(url); - - if (result.data.status === 200 || result.data.status === 401) { - if (result.data.status === 200) { - this.requestStatus.fetchGraphData = 'success'; - } - - this.graphData = result.data.data.records; - this.graphDataPageConfig.pageTotal = result.data.data.total; - } - - if (result.data.status !== 200) { - this.errorInfo.fetchGraphData.code = result.data.status; - throw new Error(result.data.message); - } - } catch (error) { - this.requestStatus.fetchGraphData = 'failed'; - this.errorInfo.fetchGraphData.message = error.message; - console.error(error.message); - } - }); - - AddGraphData = flow(function* AddGraphData(this: GraphManagementStore) { - this.resetErrorInfo(); - this.requestStatus.AddGraphData = 'pending'; - const filteredParams = filterParams(this.newGraphData); - - try { - const result: AxiosResponse = yield axios.post< - GraphDataResponse - >(baseUrl, filteredParams); - - if (result.data.status === 200 || result.data.status === 401) { - if (result.data.status === 200) { - this.requestStatus.AddGraphData = 'success'; - } - } - - if (result.data.status !== 200) { - this.errorInfo.AddGraphData.code = result.data.status; - throw new Error(result.data.message); - } - } catch (error) { - this.requestStatus.AddGraphData = 'failed'; - this.errorInfo.AddGraphData.message = error.message; - console.error(error.message); - } - }); - - upgradeGraphData = flow(function* upgradeGraphData( - this: GraphManagementStore, - id: number - ) { - this.resetErrorInfo(); - this.requestStatus.upgradeGraphData = 'pending'; - const filteredParams = filterParams(this.editGraphData); - - try { - const result: AxiosResponse = yield axios.put< - GraphDataResponse - >(`${baseUrl}/${id}`, filteredParams); - - if (result.data.status === 200 || result.data.status === 401) { - if (result.data.status === 200) { - this.requestStatus.upgradeGraphData = 'success'; - } - } - - if (result.data.status !== 200) { - this.errorInfo.upgradeGraphData.code = result.data.status; - throw new Error(result.data.message); - } - } catch (error) { - this.requestStatus.upgradeGraphData = 'failed'; - this.errorInfo.upgradeGraphData.message = error.message; - console.error(error.message); - } - }); - - deleteGraphData = flow(function* deleteGraphData( - this: GraphManagementStore, - id - ) { - this.resetErrorInfo(); - this.requestStatus.deleteGraphData = 'pending'; - - try { - const result: AxiosResponse = yield axios.delete< - GraphDataResponse - >(`${baseUrl}/${id}`); - - if (result.data.status === 200 || result.data.status === 401) { - if (result.data.status === 200) { - this.requestStatus.deleteGraphData = 'success'; - } - - // if current pageNumber has no data after delete, set the pageNumber to the previous - if ( - this.graphData.length === 1 && - this.graphDataPageConfig.pageNumber > 1 - ) { - this.graphDataPageConfig.pageNumber = - this.graphDataPageConfig.pageNumber - 1; - } - } - - if (result.data.status !== 200) { - this.errorInfo.deleteGraphData.code = result.data.status; - throw new Error(result.data.message); - } - } catch (error) { - this.requestStatus.deleteGraphData = 'failed'; - this.errorInfo.deleteGraphData.message = error.message; - console.error(error.message); - } - }); -} - -function filterParams(originParams: GraphDataConfig): GraphDataConfig { - const newParams = {} as GraphDataConfig; - - Object.keys(originParams).forEach((key) => { - const value = originParams[key]; - - if (typeof value !== 'undefined') { - newParams[key] = originParams[key]; - } - }); - - return newParams; -} - -// For DI in subclass -export const GraphManagementStoreInstance = new GraphManagementStore(); - -export default createContext(GraphManagementStoreInstance); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts deleted file mode 100644 index 5fdaca468..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts +++ /dev/null @@ -1,1533 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { cloneDeep, isUndefined, remove } from 'lodash-es'; - -import { MetadataConfigsRootStore } from './metadataConfigsStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -import { baseUrl, responseData } from '../../types/common'; -import { - EdgeType, - EditEdgeTypeParams, - EdgeTypeListResponse, - PageConfig, - CheckedReusableData, - EdgeTypeValidateFields, - EdgeTypeValidatePropertyIndexes -} from '../../types/GraphManagementStore/metadataConfigsStore'; - -import SelectedSolidArrowIcon from '../../../assets/imgs/ic_arrow_selected.svg'; -import NoSelectedSolidArrowIcon from '../../../assets/imgs/ic_arrow.svg'; -import SelectedSolidStraightIcon from '../../../assets/imgs/ic_straight_selected.svg'; -import NoSelectedSolidStraightIcon from '../../../assets/imgs/ic_straight.svg'; -import i18next from '../../../i18n'; -export class EdgeTypeStore { - metadataConfigsRootStore: MetadataConfigsRootStore; - - constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { - this.metadataConfigsRootStore = MetadataConfigsRootStore; - } - - @observable validateLicenseOrMemories = true; - @observable currentTabStatus = 'list'; - - @observable.shallow requestStatus = { - fetchEdgeTypeList: 'pending', - addEdgeType: 'pending', - updateEdgeType: 'pending', - deleteEdgeType: 'pending', - checkConflict: 'pending', - recheckConflict: 'pending', - reuseEdgeType: 'pending' - }; - - @observable errorMessage = ''; - - // should user able to create new vertex type - @observable isCreatedReady = false; - // should user able to create new property index - @observable isAddNewPropertyIndexReady = true; - - // only have to check property - @observable isEditReady = true; - - @observable.ref colorSchemas = [ - '#5c73e6', - '#569380', - '#8ecc93', - '#fe9227', - '#fe5b5d', - '#fd6ace', - '#4d8dda', - '#57c7e3', - '#ffe081', - '#c570ff', - '#2b65ff', - '#0eb880', - '#76c100', - '#ed7600', - '#e65055', - '#a64ee6', - '#108cee', - '#00b5d9', - '#f2ca00', - '#e048ae' - ]; - - @observable.ref edgeShapeSchemas = [ - { - blackicon: NoSelectedSolidArrowIcon, - blueicon: SelectedSolidArrowIcon, - flag: true, - shape: 'solid' - }, - { - blackicon: NoSelectedSolidStraightIcon, - blueicon: SelectedSolidStraightIcon, - flag: false, - shape: 'solid' - } - ]; - - @observable.ref thicknessSchemas = [ - { ch: '粗', en: 'THICK' }, - { ch: '中', en: 'NORMAL' }, - { ch: '细', en: 'FINE' } - ]; - - @observable edgeTypeListPageConfig: PageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - @observable.shallow newEdgeType: EdgeType = { - name: '', - source_label: '', - target_label: '', - link_multi_times: false, - properties: [], - sort_keys: [], - property_indexes: [], - open_label_index: false, - style: { - color: '#5c73e6', - icon: null, - with_arrow: true, - thickness: 'NORMAL', - display_fields: ['~id'] - } - }; - - @observable.ref edgeTypes: EdgeType[] = []; - - @observable.ref selectedEdgeType: EdgeType | null = null; - @observable.ref selectedEdgeTypeNames: string[] = []; - - @observable.ref editedSelectedEdgeType: EditEdgeTypeParams = { - append_properties: [], - append_property_indexes: [], - remove_property_indexes: [], - style: { - color: null, - icon: null, - with_arrow: null, - thickness: 'NORMAL', - display_fields: [] - } - }; - - @observable addedPropertiesInSelectedEdgeType: Set = new Set(); - - // reuse - @observable reusableEdgeTypes: EdgeType[] = []; - @observable checkedReusableData: CheckedReusableData | null = null; - @observable - editedCheckedReusableData: CheckedReusableData | null = null; - - @observable reusableEdgeTypeNameChangeIndexes: Set = new Set< - number - >(); - @observable reusableVertexTypeNameChangeIndexes: Set = new Set< - number - >(); - @observable reusablePropertyNameChangeIndexes: Set = new Set< - number - >(); - @observable reusablePropertyIndexNameChangeIndexes: Set = new Set< - number - >(); - - @observable validateNewEdgeTypeErrorMessage: Record< - EdgeTypeValidateFields, - string | EdgeTypeValidatePropertyIndexes[] - > = { - name: '', - sourceLabel: '', - targetLabel: '', - properties: '', - sortKeys: '', - propertyIndexes: [], - displayFeilds: [] - }; - - @observable.shallow validateEditEdgeTypeErrorMessage: Record< - 'propertyIndexes', - EdgeTypeValidatePropertyIndexes[] - > = { - propertyIndexes: [] - }; - - @observable validateReuseErrorMessage: Record< - 'edgeType' | 'vertexType' | 'property' | 'property_index', - string - > = { - edgeType: '', - vertexType: '', - property: '', - property_index: '' - }; - - @computed get reusableEdgeTypeDataMap() { - const dataMap: Record> = {}; - - this.reusableEdgeTypes.forEach(({ name }) => { - dataMap[name] = { - key: name, - title: name - }; - }); - - return dataMap; - } - - @computed get isReadyToReuse() { - return ( - this.editedCheckedReusableData && - this.editedCheckedReusableData!.propertykey_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - this.editedCheckedReusableData!.vertexlabel_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - this.editedCheckedReusableData!.propertyindex_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - this.editedCheckedReusableData!.edgelabel_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - // no data standingby validation - this.reusableEdgeTypeNameChangeIndexes.size === 0 && - this.reusableVertexTypeNameChangeIndexes.size === 0 && - this.reusablePropertyNameChangeIndexes.size === 0 && - this.reusablePropertyIndexNameChangeIndexes.size === 0 - ); - } - - @action - changeCurrentTabStatus(status: string) { - this.currentTabStatus = status; - } - - @action - mutateNewEdgeType(newEdgeType: EdgeType) { - this.newEdgeType = newEdgeType; - } - - @action - mutateSelectedEdgeTypeNames(names: string[]) { - this.selectedEdgeTypeNames = names; - } - - @action - mutatePageNumber(pageNumber: number) { - this.edgeTypeListPageConfig.pageNumber = pageNumber; - } - - @action - mutatePageSort(sort: 'desc' | 'asc') { - this.edgeTypeListPageConfig.sort = sort; - } - - @action - selectEdgeType(index: number | null) { - if (index === null) { - this.selectedEdgeType = null; - return; - } - - this.selectedEdgeType = cloneDeep(this.edgeTypes[index]); - } - - @action - mutateSelectedProperty(selectedProperty: EdgeType) { - this.selectedEdgeType = selectedProperty; - } - - @action - mutateEditedSelectedEdgeType(editedSelectedEdgeType: EditEdgeTypeParams) { - this.editedSelectedEdgeType = editedSelectedEdgeType; - } - - @action - resetNewEdgeType() { - this.newEdgeType = { - name: '', - source_label: '', - target_label: '', - link_multi_times: false, - properties: [], - sort_keys: [], - property_indexes: [], - open_label_index: false, - style: { - color: '#5c73e6', - icon: null, - with_arrow: true, - thickness: 'NORMAL', - display_fields: ['~id'] - } - }; - - this.isCreatedReady = false; - } - - @action - resetAddedPropertiesInSelectedEdgeType() { - this.addedPropertiesInSelectedEdgeType.clear(); - } - - @action - resetEditedSelectedEdgeType() { - this.editedSelectedEdgeType = { - append_properties: [], - append_property_indexes: [], - remove_property_indexes: [], - style: { - color: null, - icon: null, - with_arrow: null, - thickness: 'NORMAL', - display_fields: [] - } - }; - - this.resetAddedPropertiesInSelectedEdgeType(); - } - - // reuse - - @action - mutateEditedReusableData(newEditedReusableVertexTypes: CheckedReusableData) { - this.editedCheckedReusableData = newEditedReusableVertexTypes; - } - - @action - mutateReusableEdgeTypeChangeIndexes(index: number) { - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - - @action - mutateReusableVertexTypeChangeIndexes(index: number) { - this.reusableVertexTypeNameChangeIndexes.add(index); - } - - @action - mutateReusablePropertyNameChangeIndexes(index: number) { - this.reusablePropertyNameChangeIndexes.add(index); - } - - @action - mutateReusablePropertyIndexNameChangeIndexes(index: number) { - this.reusablePropertyIndexNameChangeIndexes.add(index); - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusableEdgeTypeName(index: number) { - this.editedCheckedReusableData!.edgelabel_conflicts[ - index - ].entity.name = this.checkedReusableData!.edgelabel_conflicts[ - index - ].entity.name; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusableVertexTypeName(index: number) { - this.editedCheckedReusableData!.vertexlabel_conflicts[ - index - ].entity.name = this.checkedReusableData!.vertexlabel_conflicts[ - index - ].entity.name; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusablePropertyName(index: number) { - this.editedCheckedReusableData!.propertykey_conflicts[ - index - ].entity.name = this.checkedReusableData!.propertykey_conflicts[ - index - ].entity.name; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusablePropertyIndexName(index: number) { - this.editedCheckedReusableData!.propertyindex_conflicts[ - index - ].entity.name = this.checkedReusableData!.propertyindex_conflicts[ - index - ].entity.name; - } - - @action - clearReusableNameChangeIndexes() { - this.reusableEdgeTypeNameChangeIndexes.clear(); - this.reusableVertexTypeNameChangeIndexes.clear(); - this.reusablePropertyNameChangeIndexes.clear(); - this.reusablePropertyIndexNameChangeIndexes.clear(); - } - - @action - resetReusableEdgeTypes() { - this.reusableEdgeTypes = []; - } - - @action - validateNewEdgeType(category: EdgeTypeValidateFields, initial = false) { - let isReady = true; - - if (category === 'name') { - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newEdgeType.name)) { - if (this.newEdgeType.name.length === 0) { - !initial && - (this.validateNewEdgeTypeErrorMessage.name = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } else { - !initial && - (this.validateNewEdgeTypeErrorMessage.name = i18next.t( - 'addition.store.rule4' - )); - isReady = false; - } - } else { - this.validateNewEdgeTypeErrorMessage.name = ''; - } - } - - if (category === 'sourceLabel') { - if (this.newEdgeType.source_label === '') { - !initial && - (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'targetLabel') { - if (this.newEdgeType.target_label === '') { - !initial && - (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'properties') { - if ( - this.newEdgeType.properties.length === 0 && - this.newEdgeType.link_multi_times - ) { - !initial && - (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'sortKeys') { - if ( - this.newEdgeType.link_multi_times && - this.newEdgeType.sort_keys.length === 0 - ) { - !initial && - (this.validateNewEdgeTypeErrorMessage.sortKeys = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'displayFeilds') { - if (this.newEdgeType.style.display_fields.length === 0) { - !initial && - (this.validateNewEdgeTypeErrorMessage.displayFeilds = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'propertyIndexes') { - this.isAddNewPropertyIndexReady = true; - this.validateNewEdgeTypeErrorMessage.propertyIndexes = this.newEdgeType.property_indexes.map( - ({ name, type, fields }) => { - const validatedPropertyIndex = { - name: '', - type: '', - properties: '' - }; - - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { - if (!initial) { - if (name.length !== 0) { - validatedPropertyIndex.name = i18next.t('addition.store.rule4'); - } else { - validatedPropertyIndex.name = i18next.t( - 'addition.store.item-is-required' - ); - } - } - - isReady = false; - this.isAddNewPropertyIndexReady = false; - } else { - validatedPropertyIndex.name = ''; - } - - if (type.length === 0) { - !initial && - (validatedPropertyIndex.type = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - this.isAddNewPropertyIndexReady = false; - } else { - validatedPropertyIndex.type = ''; - } - - if (Array.isArray(fields)) { - if (fields.length === 0) { - !initial && - (validatedPropertyIndex.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - this.isAddNewPropertyIndexReady = false; - } - } else { - validatedPropertyIndex.properties = ''; - } - - return validatedPropertyIndex; - } - ); - } - - return isReady; - } - - @action - validateAllNewEdgeType(initial = false) { - this.isCreatedReady = - this.validateNewEdgeType('name', initial) && - this.validateNewEdgeType('sourceLabel', initial) && - this.validateNewEdgeType('targetLabel', initial) && - this.validateNewEdgeType('properties', initial) && - this.validateNewEdgeType('sortKeys', initial) && - this.validateNewEdgeType('propertyIndexes', initial) && - this.validateNewEdgeType('displayFeilds', initial); - } - - @action - validateEditEdgeType(initial = false) { - this.isEditReady = true; - - this.validateEditEdgeTypeErrorMessage.propertyIndexes = this.editedSelectedEdgeType.append_property_indexes.map( - ({ name, type, fields }) => { - const validatedPropertyIndex = { - name: '', - type: '', - properties: '' - }; - - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { - if (!initial) { - if (name.length !== 0) { - validatedPropertyIndex.name = i18next.t('addition.store.rule4'); - } else { - validatedPropertyIndex.name = i18next.t( - 'addition.store.item-is-required' - ); - } - } - - this.isEditReady = false; - } else { - validatedPropertyIndex.name = ''; - } - - if (type.length === 0) { - !initial && - (validatedPropertyIndex.type = i18next.t( - 'addition.store.item-is-required' - )); - this.isEditReady = false; - } else { - validatedPropertyIndex.type = ''; - } - - if (Array.isArray(fields)) { - if (fields.length === 0) { - !initial && - (validatedPropertyIndex.properties = i18next.t( - 'addition.store.item-is-required' - )); - this.isEditReady = false; - } - } else { - validatedPropertyIndex.properties = ''; - } - - return validatedPropertyIndex; - } - ); - } - - @action - validateReuseData( - category: 'edgeType' | 'vertexType' | 'property' | 'property_index', - originalValue: string, - newValue: string - ) { - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(newValue)) { - if (newValue.length === 0) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.item-is-required' - ); - } else { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.rule4' - ); - } - - return false; - } - - // if value has changed - if (originalValue !== newValue) { - if (category === 'edgeType') { - if ( - !isUndefined( - this.checkedReusableData!.edgelabel_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-edge-name-notice' - ); - - return false; - } - } - - if (category === 'vertexType') { - if ( - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) || - !isUndefined( - this.checkedReusableData!.edgelabel_conflicts.find( - ({ entity }) => - entity.source_label === newValue || - entity.target_label === newValue - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-vertex-name-notice' - ); - - return false; - } - } - - if (category === 'property') { - // check if there's an existed value equals to new value - if ( - !isUndefined( - this.checkedReusableData!.propertykey_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) || - !isUndefined( - this.checkedReusableData!.propertyindex_conflicts.find( - ({ entity }) => - !isUndefined( - entity.fields.find((fieldName) => fieldName === newValue) - ) - ) - ) || - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.properties.find(({ name }) => name === newValue) - ) || - !isUndefined( - entity.primary_keys.find((key) => key === newValue) - ) || - !isUndefined( - entity.property_indexes.find( - ({ fields }) => - !isUndefined( - fields.find((fieldName) => fieldName === newValue) - ) - ) - ) - ) - ) || - !isUndefined( - this.checkedReusableData!.edgelabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.properties.find(({ name }) => name === newValue) - ) || - !isUndefined( - entity.sort_keys.find((key) => key === newValue) - ) || - !isUndefined( - entity.property_indexes.find( - ({ fields }) => - !isUndefined( - fields.find((fieldName) => fieldName === newValue) - ) - ) - ) - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-property-name-notice' - ); - - return false; - } - } - - if (category === 'property_index') { - if ( - !isUndefined( - this.checkedReusableData!.propertyindex_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) || - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.property_indexes.find(({ name }) => name === newValue) - ) - ) - ) || - !isUndefined( - this.checkedReusableData!.edgelabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.property_indexes.find(({ name }) => name === newValue) - ) - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-index-name-notice' - ); - - return false; - } - } - } - - return true; - } - - @action - mutateReuseData( - category: 'edgeType' | 'vertexType' | 'property' | 'property_index', - originalValue: string, - newValue: string - ) { - const editedCheckedReusableData = cloneDeep(this.editedCheckedReusableData); - - if (category === 'edgeType') { - } - - if (category === 'vertexType') { - editedCheckedReusableData!.edgelabel_conflicts.forEach( - ({ entity }, index) => { - if (entity.source_label === originalValue) { - entity.source_label = newValue; - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - - if (entity.target_label === originalValue) { - entity.target_label = newValue; - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - } - ); - } - - if (category === 'property') { - editedCheckedReusableData!.edgelabel_conflicts.forEach( - ({ entity }, index) => { - const mutatePropertyIndex = entity.properties.findIndex( - ({ name }) => name === originalValue - ); - - if (mutatePropertyIndex !== -1) { - entity.properties[mutatePropertyIndex].name = newValue; - // property name in current vertex label has been edited - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - - const sortKeyIndex = entity.sort_keys.findIndex( - (key) => key === originalValue - ); - - if (sortKeyIndex !== -1) { - entity.sort_keys[sortKeyIndex] = newValue; - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - - entity.property_indexes.forEach(({ fields }) => { - const mutatePropertyIndexIndex = fields.findIndex( - (fieldName) => fieldName === originalValue - ); - - if (mutatePropertyIndexIndex !== -1) { - fields[mutatePropertyIndex] = newValue; - this.reusableEdgeTypeNameChangeIndexes.add(index); - } - }); - } - ); - - editedCheckedReusableData!.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const mutatePropertyIndex = entity.properties.findIndex( - ({ name }) => name === originalValue - ); - - if (mutatePropertyIndex !== -1) { - entity.properties[mutatePropertyIndex].name = newValue; - // property name in current vertex label has been edited - this.reusableVertexTypeNameChangeIndexes.add(index); - - // current vertex belongs to which edge - const mutateEdgeIndex = editedCheckedReusableData!.edgelabel_conflicts.findIndex( - (edge) => - edge.entity.source_label === entity.name || - edge.entity.target_label === entity.name - ); - - // property name in source_label or target_label has been edited - this.reusableEdgeTypeNameChangeIndexes.add(mutateEdgeIndex); - } - - const primaryKeyIndex = entity.primary_keys.findIndex( - (key) => key === originalValue - ); - - if (primaryKeyIndex !== -1) { - entity.primary_keys[primaryKeyIndex] = newValue; - - this.reusableVertexTypeNameChangeIndexes.add(index); - } - - entity.property_indexes.forEach(({ fields }) => { - const mutatePropertyIndexIndex = fields.findIndex( - (fieldName) => fieldName === originalValue - ); - - if (mutatePropertyIndexIndex !== -1) { - fields[mutatePropertyIndex] = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - }); - } - ); - - editedCheckedReusableData!.propertyindex_conflicts.forEach( - ({ entity }, index) => { - const mutateIndex = entity.fields.findIndex( - (fieldName) => fieldName === originalValue - ); - - if (mutateIndex !== -1) { - entity.fields[mutateIndex] = newValue; - this.reusablePropertyIndexNameChangeIndexes.add(index); - } - } - ); - } - - if (category === 'property_index') { - editedCheckedReusableData!.edgelabel_conflicts.forEach( - ({ entity }, index) => { - const mutateVertexIndex = entity.property_indexes.findIndex( - ({ name }) => name === originalValue - ); - - if (mutateVertexIndex !== -1) { - entity.property_indexes[mutateVertexIndex].name = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - } - ); - - editedCheckedReusableData!.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const mutateVertexIndex = entity.property_indexes.findIndex( - ({ name }) => name === originalValue - ); - - if (mutateVertexIndex !== -1) { - entity.property_indexes[mutateVertexIndex].name = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - } - ); - } - - this.editedCheckedReusableData = editedCheckedReusableData; - this.checkedReusableData = cloneDeep(editedCheckedReusableData); - } - - @action - deleteReuseData( - category: - | 'edgelabel_conflicts' - | 'vertexlabel_conflicts' - | 'propertykey_conflicts' - | 'propertyindex_conflicts', - index: number - ) { - if (this.editedCheckedReusableData !== null) { - const editedCheckedReusableData = cloneDeep( - this.editedCheckedReusableData - ); - - if (category === 'edgelabel_conflicts') { - const deletedEdgeType = - editedCheckedReusableData.edgelabel_conflicts[index]; - const deletedPropertyNames: string[] = []; - const deletedPropertyIndexNames: string[] = []; - const deletedSourceVertexNames = deletedEdgeType.entity.source_label; - const deletedTargetVertexNames = deletedEdgeType.entity.target_label; - - deletedEdgeType.entity.properties.forEach(({ name }) => { - deletedPropertyNames.push(name); - }); - - deletedEdgeType.entity.property_indexes.forEach(({ name }) => { - deletedPropertyIndexNames.push(name); - }); - - editedCheckedReusableData.edgelabel_conflicts.splice(index, 1); - - // if there's no edge labels, return since it will move back to the previous step - if (editedCheckedReusableData.edgelabel_conflicts.length === 0) { - return; - } - - // remove source vertex - if ( - isUndefined( - editedCheckedReusableData.edgelabel_conflicts.find( - ({ entity }) => - entity.source_label === deletedSourceVertexNames || - entity.target_label === deletedSourceVertexNames - ) - ) - ) { - remove( - editedCheckedReusableData.vertexlabel_conflicts, - ({ entity }) => entity.name === deletedSourceVertexNames - ); - } - - // remove target vertex - if ( - isUndefined( - editedCheckedReusableData.edgelabel_conflicts.find( - ({ entity }) => - entity.source_label === deletedTargetVertexNames || - entity.target_label === deletedTargetVertexNames - ) - ) - ) { - remove( - editedCheckedReusableData.vertexlabel_conflicts, - ({ entity }) => entity.name === deletedTargetVertexNames - ); - } - - deletedPropertyIndexNames.forEach((propertyIndexName) => { - editedCheckedReusableData.vertexlabel_conflicts.forEach( - ({ entity }) => { - remove( - entity.property_indexes, - ({ name }) => name === propertyIndexName - ); - } - ); - - editedCheckedReusableData.edgelabel_conflicts.forEach( - ({ entity }) => { - remove( - entity.property_indexes, - ({ name }) => name === propertyIndexName - ); - } - ); - - remove( - editedCheckedReusableData.propertyindex_conflicts, - ({ entity }) => entity.name === propertyIndexName - ); - }); - - deletedPropertyNames - .filter( - (propertyName) => - !isUndefined( - editedCheckedReusableData.vertexlabel_conflicts.find( - ({ entity }) => - isUndefined( - entity.properties.find( - ({ name }) => name === propertyName - ) - ) - ) - ) && - !isUndefined( - editedCheckedReusableData.edgelabel_conflicts.find( - ({ entity }) => - isUndefined( - entity.properties.find( - ({ name }) => name === propertyName - ) - ) - ) - ) - ) - .forEach((propertyName) => { - remove( - editedCheckedReusableData.propertykey_conflicts, - ({ entity }) => entity.name === propertyName - ); - }); - } - - if (category === 'propertykey_conflicts') { - const deletedName = - editedCheckedReusableData.propertykey_conflicts[index].entity.name; - // remove property in properties - editedCheckedReusableData.propertykey_conflicts.splice(index, 1); - - // remove property in property index - editedCheckedReusableData.propertyindex_conflicts.forEach( - ({ entity }) => { - remove(entity.fields, (name) => name === deletedName); - } - ); - - remove( - editedCheckedReusableData.propertyindex_conflicts, - ({ entity }) => entity.fields.length === 0 - ); - - // remove property in vertex labels - editedCheckedReusableData.vertexlabel_conflicts.forEach( - ({ entity }, vertexlabelIndex) => { - const cb = (param: { name: string } | string) => { - const name = typeof param === 'string' ? param : param.name; - - if (name === deletedName) { - this.reusableVertexTypeNameChangeIndexes.add(vertexlabelIndex); - return true; - } - - return false; - }; - - remove(entity.properties, cb); - remove(entity.primary_keys, cb); - - entity.property_indexes.forEach(({ fields }) => { - remove(fields, cb); - }); - } - ); - - // remove property in edge labels - editedCheckedReusableData.edgelabel_conflicts.forEach( - ({ entity }, edgelabelIndex) => { - const cb = (param: { name: string } | string) => { - const name = typeof param === 'string' ? param : param.name; - - if (name === deletedName) { - this.reusableEdgeTypeNameChangeIndexes.add(edgelabelIndex); - return true; - } - - return false; - }; - - remove(entity.properties, cb); - remove(entity.sort_keys, cb); - - entity.property_indexes.forEach(({ fields }) => { - remove(fields, cb); - }); - } - ); - } - - if (category === 'propertyindex_conflicts') { - const { - name: deletedPropertyIndexName - } = editedCheckedReusableData.propertyindex_conflicts[index].entity; - - editedCheckedReusableData.propertyindex_conflicts.splice(index, 1); - - // delete property index in vertex label - editedCheckedReusableData.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const deletedIndex = entity.property_indexes.findIndex( - ({ name }) => name === deletedPropertyIndexName - ); - - if (deletedIndex !== -1) { - this.reusableVertexTypeNameChangeIndexes.add(index); - entity.property_indexes.splice(deletedIndex, 1); - } - } - ); - - editedCheckedReusableData.edgelabel_conflicts.forEach(({ entity }) => { - const deletedIndex = entity.property_indexes.findIndex( - ({ name }) => name === deletedPropertyIndexName - ); - - if (deletedIndex !== -1) { - this.reusableEdgeTypeNameChangeIndexes.add(index); - entity.property_indexes.splice(deletedIndex, 1); - } - }); - } - - this.mutateEditedReusableData(editedCheckedReusableData); - } - } - - @action - resetValidateNewEdgeTypeMessage( - category?: EdgeTypeValidateFields, - propertIndexIndex?: number, - propertIndexProperty?: keyof EdgeTypeValidatePropertyIndexes - ) { - if (isUndefined(category)) { - this.validateNewEdgeTypeErrorMessage = { - name: '', - sourceLabel: '', - targetLabel: '', - properties: '', - sortKeys: '', - propertyIndexes: [], - displayFeilds: [] - }; - - return; - } - - if (category === 'propertyIndexes') { - (this.validateNewEdgeTypeErrorMessage - .propertyIndexes as EdgeTypeValidatePropertyIndexes[])[ - propertIndexIndex as number - ][propertIndexProperty as keyof EdgeTypeValidatePropertyIndexes] = ''; - - return; - } - - this.validateNewEdgeTypeErrorMessage[category] = ''; - } - - @action - resetValidateReuseErrorMessage( - category?: 'edgeType' | 'vertexType' | 'property' | 'property_index' - ) { - if (isUndefined(category)) { - this.validateReuseErrorMessage = { - edgeType: '', - property: '', - property_index: '', - vertexType: '' - }; - - return; - } - - this.validateReuseErrorMessage[category] = ''; - } - - @action - dispose() { - this.currentTabStatus = 'list'; - this.requestStatus = { - fetchEdgeTypeList: 'pending', - addEdgeType: 'pending', - updateEdgeType: 'pending', - deleteEdgeType: 'pending', - checkConflict: 'pending', - recheckConflict: 'pending', - reuseEdgeType: 'pending' - }; - this.errorMessage = ''; - - this.isCreatedReady = false; - this.isAddNewPropertyIndexReady = true; - this.isEditReady = true; - - this.edgeTypeListPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - this.resetNewEdgeType(); - this.edgeTypes = []; - this.selectedEdgeType = null; - this.selectedEdgeTypeNames = []; - this.editedSelectedEdgeType = { - append_properties: [], - append_property_indexes: [], - remove_property_indexes: [], - style: { - color: null, - icon: null, - with_arrow: null, - thickness: 'NORMAL', - display_fields: [] - } - }; - this.resetValidateNewEdgeTypeMessage(); - this.resetReusableEdgeTypes(); - this.validateReuseErrorMessage = { - edgeType: '', - vertexType: '', - property: '', - property_index: '' - }; - } - - fetchEdgeTypeList = flow(function* fetchEdgeTypeList( - this: EdgeTypeStore, - options?: { fetchAll?: boolean; reuseId?: number } - ) { - this.requestStatus.fetchEdgeTypeList = 'pending'; - - const conn_id = - options && typeof options.reuseId === 'number' - ? options.reuseId - : this.metadataConfigsRootStore.currentId; - - try { - const result: AxiosResponse> = yield axios - .get(`${baseUrl}/${conn_id}/schema/edgelabels`, { - params: { - page_no: this.edgeTypeListPageConfig.pageNumber, - page_size: !options ? 10 : -1, - name_order: - this.edgeTypeListPageConfig.sort !== '' - ? this.edgeTypeListPageConfig.sort - : null - } - }) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - if (result.data.status === 401) { - this.validateLicenseOrMemories = false; - } - - throw new Error(result.data.message); - } - - if (options && typeof options.reuseId === 'number') { - this.reusableEdgeTypes = result.data.data.records; - } else { - this.edgeTypes = result.data.data.records; - this.edgeTypeListPageConfig.pageTotal = result.data.data.total; - } - - if (this.currentTabStatus !== 'reuse') { - result.data.data.records.length === 0 - ? (this.currentTabStatus = 'empty') - : (this.currentTabStatus = 'list'); - } - - this.requestStatus.fetchEdgeTypeList = 'success'; - } catch (error) { - this.requestStatus.fetchEdgeTypeList = 'failed'; - this.errorMessage = error.message; - } - }); - - addEdgeType = flow(function* addEdgeType(this: EdgeTypeStore) { - this.requestStatus.addEdgeType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels`, - { - name: this.newEdgeType.name, - source_label: this.newEdgeType.source_label, - target_label: this.newEdgeType.target_label, - link_multi_times: this.newEdgeType.link_multi_times, - properties: this.newEdgeType.properties, - sort_keys: this.newEdgeType.sort_keys, - property_indexes: this.newEdgeType.property_indexes, - open_label_index: this.newEdgeType.open_label_index, - style: this.newEdgeType.style - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.addEdgeType = 'success'; - } catch (error) { - this.requestStatus.addEdgeType = 'failed'; - this.errorMessage = error.message; - } - }); - - updateEdgeType = flow(function* updateEdgeType(this: EdgeTypeStore) { - this.requestStatus.updateEdgeType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .put( - `${baseUrl}/${ - this.metadataConfigsRootStore.currentId - }/schema/edgelabels/${this.selectedEdgeType!.name}`, - { - append_properties: this.editedSelectedEdgeType.append_properties, - append_property_indexes: this.editedSelectedEdgeType - .append_property_indexes, - remove_property_indexes: this.editedSelectedEdgeType - .remove_property_indexes, - style: this.editedSelectedEdgeType.style - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.updateEdgeType = 'success'; - } catch (error) { - this.requestStatus.updateEdgeType = 'failed'; - this.errorMessage = error.message; - } - }); - - deleteEdgeType = flow(function* deleteEdgeType( - this: EdgeTypeStore, - selectedEdgeTypeNames: string[] - ) { - this.requestStatus.deleteEdgeType = 'pending'; - - const combinedParams = selectedEdgeTypeNames - .map((name) => 'names=' + name) - .join('&'); - - try { - const result: AxiosResponse> = yield axios - .delete( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels?` + - combinedParams + - `&skip_using=${String( - Array.isArray(selectedEdgeTypeNames) && - selectedEdgeTypeNames.length !== 1 - )}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - if ( - selectedEdgeTypeNames.length === this.edgeTypes.length && - this.edgeTypeListPageConfig.pageNumber === - Math.ceil(this.edgeTypeListPageConfig.pageTotal / 10) && - this.edgeTypeListPageConfig.pageNumber > 1 - ) { - this.edgeTypeListPageConfig.pageNumber = - this.edgeTypeListPageConfig.pageNumber - 1; - } - - this.requestStatus.deleteEdgeType = 'success'; - } catch (error) { - this.requestStatus.deleteEdgeType = 'failed'; - this.errorMessage = error.message; - } - }); - - checkConflict = flow(function* checkConflict( - this: EdgeTypeStore, - reuseId: string, - selectedEdgeTypes: string[] - ) { - this.requestStatus.checkConflict = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/check_conflict`, - { - edgelabels: selectedEdgeTypes.map((selectedEdgeType) => - this.reusableEdgeTypes.find( - ({ name }) => name === selectedEdgeType - ) - ) - }, - { - params: { - reused_conn_id: this.metadataConfigsRootStore.graphManagementStore.idList.find( - ({ name }) => name === reuseId - )!.id - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableData = result.data.data; - this.editedCheckedReusableData = cloneDeep(result.data.data); - this.requestStatus.checkConflict = 'success'; - } catch (error) { - this.requestStatus.checkConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - recheckConflict = flow(function* recheckConflict(this: EdgeTypeStore) { - this.requestStatus.recheckConflict = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/recheck_conflict`, - { - propertykeys: this.editedCheckedReusableData!.propertykey_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ), - propertyindexes: this.editedCheckedReusableData!.propertyindex_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ), - vertexlabels: this.editedCheckedReusableData!.vertexlabel_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ), - edgelabels: this.editedCheckedReusableData!.edgelabel_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ) - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableData = result.data.data; - this.editedCheckedReusableData = cloneDeep(result.data.data); - this.requestStatus.recheckConflict = 'success'; - } catch (error) { - this.requestStatus.recheckConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - reuseEdgeType = flow(function* reuseEdgeType(this: EdgeTypeStore) { - this.requestStatus.reuseEdgeType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/reuse`, - this.editedCheckedReusableData - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.reuseEdgeType = 'success'; - } catch (error) { - this.requestStatus.reuseEdgeType = 'failed'; - this.errorMessage = error.message; - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts deleted file mode 100644 index ee99ed87b..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios from 'axios'; -import { isUndefined, cloneDeep, clone } from 'lodash-es'; - -import vis from 'vis-network'; -import { MetadataConfigsRootStore } from './metadataConfigsStore'; -import { - checkIfLocalNetworkOffline, - vertexRadiusMapping, - edgeWidthMapping -} from '../../utils'; - -import { baseUrl } from '../../types/common'; -import type { - GraphViewData, - DrawerTypes -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import i18next from '../../../i18n'; - -export class GraphViewStore { - metadataConfigsRootStore: MetadataConfigsRootStore; - - constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { - this.metadataConfigsRootStore = MetadataConfigsRootStore; - } - - @observable.ref colorMappings: Record = {}; - @observable.ref vertexSizeMappings: Record = {}; - @observable.ref vertexWritingMappings: Record = {}; - @observable.ref edgeColorMappings: Record = {}; - @observable.ref edgeWithArrowMappings: Record = {}; - @observable.ref edgeThicknessMappings: Record = {}; - @observable.ref edgeWritingMappings: Record = {}; - - @observable currentDrawer: DrawerTypes = ''; - @observable currentSelected = ''; - @observable isNodeOrEdgeClicked = false; - - // avoid to re-assign value to originalGraphViewData from re-rendering - // have to set a flag to inform data is empty - @observable isGraphVertexEmpty = true; - - @observable visNetwork: vis.Network | null = null; - @observable visDataSet: Record<'nodes' | 'edges', any> | null = null; - @observable.ref graphViewData: GraphViewData | null = null; - @observable.ref originalGraphViewData: GraphViewData | null = null; - - @observable.shallow requestStatus = { - fetchGraphViewData: 'standby' - }; - - @observable errorInfo = { - fetchGraphViewData: { - code: NaN, - message: '' - } - }; - - @computed get graphNodes() { - if (this.originalGraphViewData === null) { - return []; - } - - return this.originalGraphViewData.vertices.map( - ({ id, label, properties, primary_keys }) => { - return { - id, - label: id.length <= 15 ? id : id.slice(0, 15) + '...', - vLabel: id, - value: vertexRadiusMapping[this.vertexSizeMappings[label]], - font: { size: 16 }, - properties, - title: ` - - - ${Object.entries(properties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - const primaryKeyIndex = primary_keys.findIndex( - (primaryKey) => primaryKey === key - ); - - return ``; - }) - .join('')} - `, - color: { - background: this.colorMappings[label] || '#5c73e6', - border: this.colorMappings[label] || '#5c73e6', - highlight: { background: '#fb6a02', border: '#fb6a02' }, - hover: { background: '#ec3112', border: '#ec3112' } - }, - // reveal label when zoom to max - scaling: { - label: { - max: Infinity, - maxVisible: Infinity - } - }, - chosen: { - node( - values: any, - id: string, - selected: boolean, - hovering: boolean - ) { - if (hovering || selected) { - values.shadow = true; - values.shadowColor = 'rgba(0, 0, 0, 0.6)'; - values.shadowX = 0; - values.shadowY = 0; - values.shadowSize = 25; - } - - if (selected) { - values.size += 5; - } - } - } - }; - } - ); - } - - @computed get graphEdges() { - if (this.originalGraphViewData === null) { - return []; - } - - return this.originalGraphViewData.edges.map( - ({ id, label, source, target, properties, sort_keys }) => { - return { - id, - label: label.length < 15 ? label : label.slice(0, 15) + '...', - properties, - source, - target, - from: source, - to: target, - font: { size: 16, strokeWidth: 0, color: '#666' }, - arrows: this.edgeWithArrowMappings[label] === true ? 'to' : '', - value: edgeWidthMapping[this.edgeThicknessMappings[label]], - title: ` - - - ${Object.entries(properties) - .map(([key, value]) => { - const convertedValue = - value.toLowerCase() === 'text' - ? 'string' - : value.toLowerCase(); - - const sortKeyIndex = sort_keys.findIndex( - (sortKey) => sortKey === key - ); - - return ``; - }) - .join('')} - `, - color: this.edgeColorMappings[label] || '#5c73e6' - }; - } - ); - } - - @action - setCurrentDrawer(drawer: DrawerTypes) { - this.currentDrawer = drawer; - } - - @action - switchNodeOrEdgeClicked(flag: boolean) { - this.isNodeOrEdgeClicked = flag; - } - - @action - switchGraphDataEmpty(flag: boolean) { - this.isGraphVertexEmpty = flag; - } - - @action - setVisNetwork(visNetwork: vis.Network) { - this.visNetwork = visNetwork; - } - - @action - setVisDataSet(visDataSet: Record<'nodes' | 'edges', any>) { - this.visDataSet = visDataSet; - } - - @action - dispose() { - this.edgeColorMappings = {}; - this.currentDrawer = ''; - this.currentSelected = ''; - this.colorMappings = {}; - this.edgeColorMappings = {}; - this.graphViewData = null; - this.isNodeOrEdgeClicked = false; - this.isGraphVertexEmpty = true; - this.visNetwork = null; - this.visDataSet = null; - this.graphViewData = null; - this.originalGraphViewData = null; - this.requestStatus = { - fetchGraphViewData: 'standby' - }; - this.errorInfo = { - fetchGraphViewData: { - code: NaN, - message: '' - } - }; - } - - fetchGraphViewData = flow(function* fetchGraphViewData( - this: GraphViewStore, - colorMappings?: Record, - vertexSizeMappings?: Record, - vertexWritingMappings?: Record, - edgeColorMappings?: Record, - edgeThicknessMappings?: Record, - edgeWithArrowMappings?: Record, - edgeWritingMappings?: Record - ) { - this.requestStatus.fetchGraphViewData = 'pending'; - - if (!isUndefined(colorMappings)) { - this.colorMappings = colorMappings; - } - if (!isUndefined(vertexSizeMappings)) { - this.vertexSizeMappings = vertexSizeMappings; - } - if (!isUndefined(vertexWritingMappings)) { - this.vertexWritingMappings = vertexWritingMappings; - } - if (!isUndefined(edgeColorMappings)) { - this.edgeColorMappings = edgeColorMappings; - } - if (!isUndefined(edgeThicknessMappings)) { - this.edgeThicknessMappings = edgeThicknessMappings; - } - if (!isUndefined(edgeWithArrowMappings)) { - this.edgeWithArrowMappings = edgeWithArrowMappings; - } - if (!isUndefined(edgeWritingMappings)) { - this.edgeWritingMappings = edgeWritingMappings; - } - - try { - const result = yield axios - .get( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/graphview` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - this.errorInfo.fetchGraphViewData.code = result.data.status; - throw new Error(result.data.message); - } - - const data = result.data.data; - - if (data.vertices.length !== 0) { - this.switchGraphDataEmpty(false); - } - - this.originalGraphViewData = data; - this.graphViewData = data; - - this.requestStatus.fetchGraphViewData = 'success'; - } catch (error) { - this.requestStatus.fetchGraphViewData = 'failed'; - this.errorInfo.fetchGraphViewData.message = error.message; - console.error(error.message); - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts deleted file mode 100644 index bc204b6d3..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action } from 'mobx'; - -import { MetadataPropertyStore } from './metadataPropertyStore'; -import { VertexTypeStore } from './vertexTypeStore'; -import { EdgeTypeStore } from './edgeTypeStore'; -import { MetadataPropertyIndexStore } from './metadataPropertyIndexStore'; -import { GraphViewStore } from './graphViewStore'; - -import { - GraphManagementStore, - GraphManagementStoreInstance -} from '../graphManagementStore'; - -export class MetadataConfigsRootStore { - graphManagementStore: GraphManagementStore; - metadataPropertyStore: MetadataPropertyStore; - vertexTypeStore: VertexTypeStore; - edgeTypeStore: EdgeTypeStore; - metadataPropertyIndexStore: MetadataPropertyIndexStore; - graphViewStore: GraphViewStore; - - @observable currentId: number | null = null; - - constructor(GraphManagementStore: GraphManagementStore) { - this.graphManagementStore = GraphManagementStore; - - this.metadataPropertyStore = new MetadataPropertyStore(this); - this.vertexTypeStore = new VertexTypeStore(this); - this.edgeTypeStore = new EdgeTypeStore(this); - this.metadataPropertyIndexStore = new MetadataPropertyIndexStore(this); - this.graphViewStore = new GraphViewStore(this); - } - - @action - setCurrentId(id: number | null) { - this.currentId = id; - } - - @action - dispose() { - this.currentId = null; - } -} - -export default createContext( - new MetadataConfigsRootStore(GraphManagementStoreInstance) -); diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts deleted file mode 100644 index eff06eb70..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; - -import { MetadataConfigsRootStore } from './metadataConfigsStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -import { baseUrl, responseData } from '../../types/common'; -import { - MetadataPropertyIndex, - MetadataPropertyIndexResponse, - PageConfig -} from '../../types/GraphManagementStore/metadataConfigsStore'; - -export class MetadataPropertyIndexStore { - metadataConfigsRootStore: MetadataConfigsRootStore; - - constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { - this.metadataConfigsRootStore = MetadataConfigsRootStore; - } - - @observable validateLicenseOrMemories = true; - @observable searchWords = ''; - @observable.shallow isSearched = { - status: false, - value: '' - }; - - @observable.shallow requestStatus = { - fetchMetadataPropertIndexes: 'pending' - }; - - @observable metadataPropertyIndexPageConfig: PageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - @observable errorMessage = ''; - - @observable.ref metadataPropertyIndexes: MetadataPropertyIndex[] = [ - { - owner: 'person', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'person', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age'] - }, - { - owner: 'person', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['city'] - }, - { - owner: 'company', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'company', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'company', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'city', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'city', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'city', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - }, - { - owner: 'name', - owner_type: 'VERTEX_LABEL', - name: 'personByBorn', - type: 'RANGE', - fields: ['age', 'city'] - } - ]; - - @computed get collpaseInfo(): null | number[][] { - const collpaseNumbers: number[] = []; - - this.metadataPropertyIndexes.forEach( - ({ owner }: MetadataPropertyIndex, index: number) => { - // first owner has default rowSpanStart = 1 - if (index === 0) { - collpaseNumbers.push(1); - return; - } - - // if owner equals to the previous one, plus the owner rowSpan by 1 - // else push this different owner rowSpanStartIndex in to array - owner === this.metadataPropertyIndexes[index - 1].owner - ? ++collpaseNumbers[collpaseNumbers.length - 1] - : collpaseNumbers.push(1); - } - ); - - if (collpaseNumbers.length === this.metadataPropertyIndexes.length) { - return null; - } - - const collpaseStartIndexes: number[] = [0]; - - collpaseNumbers - .slice(0, collpaseNumbers.length - 1) - .reduce((prev, curr) => { - collpaseStartIndexes.push(prev + curr); - return prev + curr; - }, 0); - - return [collpaseStartIndexes, collpaseNumbers]; - } - - @action - mutateSearchWords(text: string) { - this.searchWords = text; - } - - @action - mutatePageNumber(pageNumber: number) { - this.metadataPropertyIndexPageConfig.pageNumber = pageNumber; - } - - @action - switchIsSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchWords) - : (this.isSearched.value = ''); - } - - @action - dispose() { - this.searchWords = ''; - this.isSearched = { - status: false, - value: '' - }; - this.requestStatus = { - fetchMetadataPropertIndexes: 'pending' - }; - this.metadataPropertyIndexPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - this.errorMessage = ''; - this.metadataPropertyIndexes = []; - } - - fetchMetadataPropertIndexes = flow(function* fetchMetadataPropertIndexes( - this: MetadataPropertyIndexStore, - indexType: 'vertex' | 'edge' - ) { - this.requestStatus.fetchMetadataPropertIndexes = 'pending'; - - try { - const result: AxiosResponse< - responseData - > = yield axios - .get( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertyindexes`, - { - params: { - page_no: this.metadataPropertyIndexPageConfig.pageNumber, - page_size: 10, - is_vertex_label: indexType === 'vertex', - content: - this.isSearched.status && this.searchWords !== '' - ? this.searchWords - : null - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - if (result.data.status === 401) { - this.validateLicenseOrMemories = false; - } - - throw new Error(result.data.message); - } - - this.metadataPropertyIndexes = result.data.data.records; - this.metadataPropertyIndexPageConfig.pageTotal = result.data.data.total; - this.requestStatus.fetchMetadataPropertIndexes = 'success'; - } catch (error) { - this.requestStatus.fetchMetadataPropertIndexes = 'failed'; - this.errorMessage = error.message; - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts deleted file mode 100644 index 669c1ab28..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts +++ /dev/null @@ -1,590 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { cloneDeep } from 'lodash-es'; -import { v4 } from 'uuid'; - -import { MetadataConfigsRootStore } from './metadataConfigsStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -import { baseUrl, responseData } from '../../types/common'; -import { - MetadataProperty, - MetadataPropertyListResponse, - PageConfig, - CheckedReusableData, - NewMetadataProperty -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import i18next from '../../../i18n'; - -export class MetadataPropertyStore { - metadataConfigsRootStore: MetadataConfigsRootStore; - - constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { - this.metadataConfigsRootStore = MetadataConfigsRootStore; - } - - @observable validateLicenseOrMemories = true; - @observable currentTabStatus = 'list'; - - @observable.shallow requestStatus = { - fetchMetadataPropertyList: 'standby', - checkIfUsing: 'standby', - addMetadataProperty: 'standby', - deleteMetadataProperty: 'standby', - checkConflict: 'standby', - recheckConflict: 'standby', - reuseMetadataProperties: 'standy' - }; - - @observable errorMessage = ''; - - @observable searchWords = ''; - - @observable isSearched = { - status: false, - value: '' - }; - - @observable metadataPropertyPageConfig: PageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - @observable isCreateNewProperty = false; - // should user able to create new vertex type - @observable isCreatedReady = false; - - @observable newMetadataProperty: NewMetadataProperty = { - name: v4(), - // real input name, to handle
key problems - _name: '', - data_type: 'string', - cardinality: 'single' - }; - - @observable.ref metadataProperties: MetadataProperty[] = []; - - @observable metadataPropertyUsingStatus: Record | null = - null; - - @observable selectedMetadataProperty: MetadataProperty | null = null; - // table selection from user - @observable.ref selectedMetadataPropertyNames: string[] = []; - - // reuse - @observable reuseableProperties: MetadataProperty[] = []; - @observable - checkedReusableProperties: CheckedReusableData | null = null; - @observable - editedCheckedReusableProperties: CheckedReusableData | null = null; - @observable reusablePropertyNameChangeIndexes: Set = - new Set(); - - @observable validateNewPropertyErrorMessage = { - name: '' - }; - - @observable validateRenameReusePropertyErrorMessage = { - name: '' - }; - - @computed get reunionMetadataProperty() { - return this.metadataProperties.length < 10 - ? [this.newMetadataProperty].concat(this.metadataProperties) - : [this.newMetadataProperty].concat(this.metadataProperties.slice(0, 9)); - } - - @computed get reuseablePropertyDataMap() { - const dataMap: Record> = {}; - - this.reuseableProperties.forEach(({ name }) => { - dataMap[name] = { - key: name, - title: name - }; - }); - - return dataMap; - } - - @computed get isReadyToReuse() { - return ( - this.editedCheckedReusableProperties && - this.editedCheckedReusableProperties!.propertykey_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - // no data standingby validation - this.reusablePropertyNameChangeIndexes.size === 0 - ); - } - - @action - changeCurrentTabStatus(status: string) { - this.currentTabStatus = status; - } - - @action - mutateSearchWords(text: string) { - this.searchWords = text; - } - - @action - mutatePageNumber(pageNumber: number) { - this.metadataPropertyPageConfig.pageNumber = pageNumber; - } - - @action - mutatePageSort(sort: 'desc' | 'asc') { - this.metadataPropertyPageConfig.sort = sort; - } - - @action - switchIsSearchedStatus(isSearched: boolean) { - this.isSearched.status = isSearched; - - isSearched - ? (this.isSearched.value = this.searchWords) - : (this.isSearched.value = ''); - } - - @action - switchIsCreateNewProperty(flag: boolean) { - this.isCreateNewProperty = flag; - } - - @action - resetNewProperties() { - this.mutateNewProperty({ - name: v4(), - _name: '', - data_type: 'string', - cardinality: 'single' - }); - - this.isCreatedReady = false; - } - - @action - selectProperty(index: number | null) { - if (index === null) { - this.selectedMetadataProperty = null; - return; - } - - this.selectedMetadataProperty = cloneDeep(this.metadataProperties[index]); - } - - @action - mutateNewProperty(newMetadataProperty: NewMetadataProperty) { - this.newMetadataProperty = newMetadataProperty; - } - - @action - mutateSelectedPropertyName(name: string) { - this.selectedMetadataProperty!.name = name; - } - - @action - mutateSelectedMetadataProperyNames(names: string[]) { - this.selectedMetadataPropertyNames = names; - } - - @action - mutateEditedReusableProperties( - newEditedReusableProperties: CheckedReusableData - ) { - this.editedCheckedReusableProperties = newEditedReusableProperties; - } - - @action - mutateReusablePropertyNameChangeIndexes(index: number) { - this.reusablePropertyNameChangeIndexes.add(index); - } - - @action - clearReusablePropertyNameChangeIndexes() { - this.reusablePropertyNameChangeIndexes.clear(); - } - - @action - resetReusablePropeties() { - this.reuseableProperties = []; - } - - @action - validateNewProperty() { - let isReady = true; - - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newMetadataProperty._name!)) { - if (this.newMetadataProperty._name!.length === 0) { - this.validateNewPropertyErrorMessage.name = i18next.t( - 'addition.store.item-is-required' - ); - isReady = false; - } else { - this.validateNewPropertyErrorMessage.name = i18next.t( - 'addition.store.rule4' - ); - isReady = false; - } - } else { - this.validateNewPropertyErrorMessage.name = ''; - } - - this.isCreatedReady = isReady; - return isReady; - } - - @action - validateRenameReuseProperty(index: number) { - let isReady = true; - const propertyName = - this.editedCheckedReusableProperties!.propertykey_conflicts[index].entity - .name; - - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(propertyName)) { - if (propertyName.length === 0) { - this.validateRenameReusePropertyErrorMessage.name = i18next.t( - 'addition.store.item-is-required' - ); - isReady = false; - } else { - this.validateRenameReusePropertyErrorMessage.name = i18next.t( - 'addition.store.rule4' - ); - isReady = false; - } - } else { - this.validateRenameReusePropertyErrorMessage.name = ''; - } - - return isReady; - } - - @action - resetValidateNewProperty() { - this.validateNewPropertyErrorMessage.name = ''; - } - - @action - resetValidateRenameReuseProperty() { - this.validateRenameReusePropertyErrorMessage.name = ''; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusablePropertyName(index: number) { - this.editedCheckedReusableProperties!.propertykey_conflicts[ - index - ].entity.name = - this.checkedReusableProperties!.propertykey_conflicts[index].entity.name; - } - - @action - dispose() { - this.currentTabStatus = 'list'; - this.requestStatus = { - fetchMetadataPropertyList: 'standby', - checkIfUsing: 'standby', - addMetadataProperty: 'standby', - deleteMetadataProperty: 'standby', - checkConflict: 'standby', - recheckConflict: 'standby', - reuseMetadataProperties: 'standy' - }; - this.errorMessage = ''; - this.searchWords = ''; - this.isSearched = { - status: false, - value: '' - }; - this.metadataPropertyPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - this.isCreateNewProperty = false; - this.isCreatedReady = false; - this.resetNewProperties(); - this.metadataProperties = []; - this.metadataPropertyUsingStatus = null; - this.selectedMetadataProperty = null; - this.selectedMetadataPropertyNames = []; - - this.resetValidateNewProperty(); - this.resetValidateRenameReuseProperty(); - - // reuse - this.reuseableProperties = []; - this.checkedReusableProperties = null; - this.editedCheckedReusableProperties = null; - } - - fetchMetadataPropertyList = flow(function* fetchMetadataPropertyList( - this: MetadataPropertyStore, - options?: { fetchAll?: boolean; reuseId?: number } - ) { - this.requestStatus.fetchMetadataPropertyList = 'pending'; - const conn_id = - options && typeof options.reuseId === 'number' - ? options.reuseId - : this.metadataConfigsRootStore.currentId; - - try { - const result: AxiosResponse> = - yield axios - .get(`${baseUrl}/${conn_id}/schema/propertykeys`, { - params: { - page_no: this.metadataPropertyPageConfig.pageNumber, - page_size: !options ? 10 : -1, - name_order: - this.metadataPropertyPageConfig.sort !== '' - ? this.metadataPropertyPageConfig.sort - : null, - content: - this.isSearched.status && this.searchWords !== '' - ? this.searchWords - : null - } - }) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - if (result.data.status === 401) { - this.validateLicenseOrMemories = false; - } - - throw new Error(result.data.message); - } - - if (options && typeof options.reuseId === 'number') { - this.reuseableProperties = result.data.data.records; - } else { - this.metadataProperties = result.data.data.records; - this.metadataPropertyPageConfig.pageTotal = result.data.data.total; - } - - if (result.data.data.records.length === 0) { - if (this.isSearched.status === true) { - this.currentTabStatus = 'list'; - } else { - this.currentTabStatus = 'empty'; - } - } else if (this.currentTabStatus !== 'reuse') { - // if currentTabStatus is reuse, stay at reuse page - this.currentTabStatus = 'list'; - } - - this.requestStatus.fetchMetadataPropertyList = 'success'; - } catch (error) { - this.requestStatus.fetchMetadataPropertyList = 'failed'; - this.errorMessage = error.message; - } - }); - - checkIfUsing = flow(function* checkIfUsing( - this: MetadataPropertyStore, - selectedPropertyNames: string[] - ) { - this.requestStatus.checkIfUsing = 'pending'; - - try { - const result: AxiosResponse>> = - yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/check_using`, - { - names: selectedPropertyNames - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.metadataPropertyUsingStatus = result.data.data; - this.requestStatus.checkIfUsing = 'success'; - } catch (error) { - this.requestStatus.checkIfUsing = 'failed'; - this.errorMessage = error.message; - } - }); - - addMetadataProperty = flow(function* addMetadataProperty( - this: MetadataPropertyStore - ) { - this.requestStatus.addMetadataProperty = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys`, - { - name: this.newMetadataProperty._name, - data_type: - this.newMetadataProperty.data_type === 'string' - ? 'TEXT' - : this.newMetadataProperty.data_type.toUpperCase(), - cardinality: this.newMetadataProperty.cardinality.toUpperCase() - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.addMetadataProperty = 'success'; - } catch (error) { - this.requestStatus.addMetadataProperty = 'failed'; - this.errorMessage = error.message; - } - }); - - deleteMetadataProperty = flow(function* deleteMetadataProperty( - this: MetadataPropertyStore, - selectedPropertyNames: string[] - ) { - this.requestStatus.deleteMetadataProperty = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .delete( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys?` + - selectedPropertyNames.map((name) => 'names=' + name).join('&') + - `&skip_using=${String(selectedPropertyNames.length !== 1)}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - if ( - selectedPropertyNames.length === this.metadataProperties.length && - this.metadataPropertyPageConfig.pageNumber === - Math.ceil(this.metadataPropertyPageConfig.pageTotal / 10) && - this.metadataPropertyPageConfig.pageNumber > 1 - ) { - this.metadataPropertyPageConfig.pageNumber = - this.metadataPropertyPageConfig.pageNumber - 1; - } - - this.requestStatus.deleteMetadataProperty = 'success'; - } catch (error) { - this.requestStatus.deleteMetadataProperty = 'failed'; - this.errorMessage = error.message; - } - }); - - checkConflict = flow(function* checkConflict( - this: MetadataPropertyStore, - selectedNameList: string[] - ) { - this.requestStatus.checkConflict = 'pending'; - - try { - const result: AxiosResponse> = - yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/check_conflict`, - { - propertykeys: selectedNameList.map((selectedName) => - this.reuseableProperties.find( - ({ name }) => name === selectedName - ) - ) - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableProperties = result.data.data; - this.editedCheckedReusableProperties = cloneDeep(result.data.data); - this.requestStatus.checkConflict = 'success'; - } catch (error) { - this.requestStatus.checkConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - recheckConflict = flow(function* recheckConflict( - this: MetadataPropertyStore - ) { - this.requestStatus.recheckConflict = 'pending'; - - try { - const result: AxiosResponse> = - yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/recheck_conflict`, - { - propertykeys: - this.editedCheckedReusableProperties!.propertykey_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ) - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableProperties = result.data.data; - this.editedCheckedReusableProperties = cloneDeep(result.data.data); - this.requestStatus.recheckConflict = 'success'; - } catch (error) { - this.requestStatus.recheckConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - reuseMetadataProperties = flow(function* reuseMetadataProperties( - this: MetadataPropertyStore - ) { - this.requestStatus.reuseMetadataProperties = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/reuse`, - this.editedCheckedReusableProperties! - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.reuseMetadataProperties = 'success'; - } catch (error) { - this.requestStatus.reuseMetadataProperties = 'failed'; - this.errorMessage = error.message; - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts b/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts deleted file mode 100644 index a91c0ad20..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts +++ /dev/null @@ -1,1266 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { observable, action, flow, computed } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { cloneDeep, isUndefined, remove, size } from 'lodash-es'; - -import { MetadataConfigsRootStore } from './metadataConfigsStore'; -import { checkIfLocalNetworkOffline } from '../../utils'; - -import { baseUrl, responseData } from '../../types/common'; -import { - VertexType, - EditVertexTypeParams, - VertexTypeListResponse, - PageConfig, - CheckedReusableData, - VertexTypeValidateFields, - VertexTypeValidatePropertyIndexes -} from '../../types/GraphManagementStore/metadataConfigsStore'; -import i18next from '../../../i18n'; - -export class VertexTypeStore { - metadataConfigsRootStore: MetadataConfigsRootStore; - - constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { - this.metadataConfigsRootStore = MetadataConfigsRootStore; - } - - @observable validateLicenseOrMemories = true; - @observable currentTabStatus = 'list'; - - @observable.shallow requestStatus = { - fetchVertexTypeList: 'pending', - checkIfUsing: 'pending', - addVertexType: 'pending', - updateVertexType: 'pending', - deleteVertexType: 'pending', - checkConflict: 'pending', - recheckConflict: 'pending', - reuseVertexType: 'pending' - }; - - @observable vertexListPageConfig: PageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - - @observable errorMessage = ''; - - @observable.ref colorSchemas = [ - '#5c73e6', - '#569380', - '#8ecc93', - '#fe9227', - '#fe5b5d', - '#fd6ace', - '#4d8dda', - '#57c7e3', - '#ffe081', - '#c570ff', - '#2b65ff', - '#0eb880', - '#76c100', - '#ed7600', - '#e65055', - '#a64ee6', - '#108cee', - '#00b5d9', - '#f2ca00', - '#e048ae' - ]; - - @observable.ref vertexSizeSchemas = [ - { ch: '超小', en: 'TINY' }, - { ch: '小', en: 'SMALL' }, - { ch: '中', en: 'NORMAL' }, - { ch: '大', en: 'BIG' }, - { ch: '超大', en: 'HUGE' } - ]; - - @observable.shallow newVertexType: VertexType = { - name: '', - id_strategy: 'PRIMARY_KEY', - properties: [], - primary_keys: [], - property_indexes: [], - open_label_index: false, - style: { - color: '#5c73e6', - icon: null, - size: 'NORMAL', - display_fields: ['~id'] - } - }; - - // should user able to create new vertex type - @observable isCreatedReady = false; - // should user able to create new property index - @observable isAddNewPropertyIndexReady = true; - - // only have to check property - @observable isEditReady = true; - - @observable.ref selectedVertexType: VertexType | null = null; - @observable.ref selectedVertexTypeNames: string[] = []; - @observable.ref editedSelectedVertexType: EditVertexTypeParams = { - append_properties: [], - append_property_indexes: [], - remove_property_indexes: [], - style: { - color: '#5c73e6', - icon: null, - size: 'NORMAL', - display_fields: ['~id'] - } - }; - - @observable addedPropertiesInSelectedVertextType: Set = new Set(); - - @observable.ref vertexTypes: VertexType[] = []; - - @observable vertexTypeUsingStatus: Record | null = null; - - // reuse - @observable reusableVertexTypes: VertexType[] = []; - @observable checkedReusableData: CheckedReusableData | null = null; - @observable - editedCheckedReusableData: CheckedReusableData | null = null; - - @observable reusableVertexTypeNameChangeIndexes: Set = new Set< - number - >(); - @observable reusablePropertyNameChangeIndexes: Set = new Set< - number - >(); - @observable reusablePropertyIndexNameChangeIndexes: Set = new Set< - number - >(); - - @observable validateNewVertexTypeErrorMessage: Record< - VertexTypeValidateFields, - string | VertexTypeValidatePropertyIndexes[] - > = { - name: '', - properties: '', - primaryKeys: '', - displayFeilds: '', - propertyIndexes: [] - }; - - @observable.shallow validateEditVertexTypeErrorMessage: Record< - 'propertyIndexes', - VertexTypeValidatePropertyIndexes[] - > = { - propertyIndexes: [] - }; - - @observable validateReuseErrorMessage: Record< - 'vertexType' | 'property' | 'property_index', - string - > = { - vertexType: '', - property: '', - property_index: '' - }; - - @observable validateRenameReuseVertexErrorMessage: Record< - 'vertex' | 'property' | 'property_index', - { name: string } - > = { - vertex: { - name: '' - }, - property: { - name: '' - }, - property_index: { - name: '' - } - }; - - @computed get reusableVertexTypeDataMap() { - const dataMap: Record> = {}; - - this.reusableVertexTypes.forEach(({ name }) => { - dataMap[name] = { - key: name, - title: name - }; - }); - - return dataMap; - } - - @computed get isReadyToReuse() { - return ( - this.editedCheckedReusableData && - this.editedCheckedReusableData!.propertykey_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - this.editedCheckedReusableData!.vertexlabel_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - this.editedCheckedReusableData!.propertyindex_conflicts.every( - ({ status }) => status === 'PASSED' || status === 'EXISTED' - ) && - // no data standingby validation - this.reusableVertexTypeNameChangeIndexes.size === 0 && - this.reusablePropertyNameChangeIndexes.size === 0 && - this.reusablePropertyIndexNameChangeIndexes.size === 0 - ); - } - - @action - changeCurrentTabStatus(status: string) { - this.currentTabStatus = status; - } - - @action - mutateNewProperty(newVertexType: VertexType) { - this.newVertexType = newVertexType; - } - - @action - mutateSelectedVertexTypeNames(names: string[]) { - this.selectedVertexTypeNames = names; - } - - @action - mutatePageNumber(pageNumber: number) { - this.vertexListPageConfig.pageNumber = pageNumber; - } - - @action - mutatePageSort(sort: 'desc' | 'asc') { - this.vertexListPageConfig.sort = sort; - } - - @action - selectVertexType(index: number | null) { - if (index === null) { - this.selectedVertexType = null; - return; - } - - this.selectedVertexType = cloneDeep(this.vertexTypes[index]); - } - - @action - mutateSelectedProperty(selectedProperty: VertexType) { - this.selectedVertexType = selectedProperty; - } - - @action - mutateEditedSelectedVertexType( - editedSelectedVertexType: EditVertexTypeParams - ) { - this.editedSelectedVertexType = editedSelectedVertexType; - } - - @action - resetNewVertextType() { - this.newVertexType = { - name: '', - id_strategy: 'PRIMARY_KEY', - properties: [], - primary_keys: [], - property_indexes: [], - open_label_index: false, - style: { - color: '#5c73e6', - icon: null, - size: 'NORMAL', - display_fields: ['~id'] - } - }; - - this.isCreatedReady = false; - } - - @action - resetAddedPropertiesInSelectedVertextType() { - this.addedPropertiesInSelectedVertextType.clear(); - } - - @action - resetEditedSelectedVertexType() { - this.editedSelectedVertexType = { - append_properties: [], - append_property_indexes: [], - remove_property_indexes: [], - style: { - color: '#5c73e6', - icon: null, - size: 'NORMAL', - display_fields: ['~id'] - } - }; - - // need to clear checkbox status either - this.resetAddedPropertiesInSelectedVertextType(); - } - - // reuse - - @action - mutateEditedReusableData(newEditedReusableVertexTypes: CheckedReusableData) { - this.editedCheckedReusableData = newEditedReusableVertexTypes; - } - - @action - mutateReusableVertexTypeChangeIndexes(index: number) { - this.reusableVertexTypeNameChangeIndexes.add(index); - } - - @action - mutateReusablePropertyNameChangeIndexes(index: number) { - this.reusablePropertyNameChangeIndexes.add(index); - } - - @action - mutateReusablePropertyIndexNameChangeIndexes(index: number) { - this.reusablePropertyIndexNameChangeIndexes.add(index); - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusableVertexTypeName(index: number) { - this.editedCheckedReusableData!.vertexlabel_conflicts[ - index - ].entity.name = this.checkedReusableData!.vertexlabel_conflicts[ - index - ].entity.name; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusablePropertyName(index: number) { - this.editedCheckedReusableData!.propertykey_conflicts[ - index - ].entity.name = this.checkedReusableData!.propertykey_conflicts[ - index - ].entity.name; - } - - // if cancel clicked, reset to the original name - @action - resetEditedReusablePropertyIndexName(index: number) { - this.editedCheckedReusableData!.propertyindex_conflicts[ - index - ].entity.name = this.checkedReusableData!.propertyindex_conflicts[ - index - ].entity.name; - } - - @action - clearReusableNameChangeIndexes() { - this.reusableVertexTypeNameChangeIndexes.clear(); - this.reusablePropertyNameChangeIndexes.clear(); - this.reusablePropertyIndexNameChangeIndexes.clear(); - } - - @action - resetReusableVertexTypes() { - this.reusableVertexTypes = []; - } - - @action - validateNewVertexType(category: VertexTypeValidateFields, initial = false) { - let isReady = true; - - // if initial is true, error message won't be assigned - // which intends to not pop up error layer - if (category === 'name') { - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newVertexType.name)) { - if (this.newVertexType.name.length === 0) { - !initial && - (this.validateNewVertexTypeErrorMessage.name = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } else { - !initial && - (this.validateNewVertexTypeErrorMessage.name = i18next.t( - 'addition.store.rule4' - )); - isReady = false; - } - } else { - this.validateNewVertexTypeErrorMessage.name = ''; - } - } - - if (category === 'properties') { - if ( - this.newVertexType.properties.length === 0 && - this.newVertexType.id_strategy === 'PRIMARY_KEY' - ) { - !initial && - (this.validateNewVertexTypeErrorMessage.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'primaryKeys') { - if ( - this.newVertexType.id_strategy === 'PRIMARY_KEY' && - this.newVertexType.primary_keys.length === 0 - ) { - !initial && - (this.validateNewVertexTypeErrorMessage.primaryKeys = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'displayFeilds') { - if (this.newVertexType.style.display_fields.length === 0) { - !initial && - (this.validateNewVertexTypeErrorMessage.displayFeilds = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - } - } - - if (category === 'propertyIndexes') { - this.isAddNewPropertyIndexReady = true; - - this.validateNewVertexTypeErrorMessage.propertyIndexes = this.newVertexType.property_indexes.map( - ({ name, type, fields }) => { - const validatedPropertyIndex = { - name: '', - type: '', - properties: '' - }; - - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { - if (!initial) { - if (name.length !== 0) { - validatedPropertyIndex.name = i18next.t('addition.store.rule4'); - } else { - validatedPropertyIndex.name = i18next.t( - 'addition.store.item-is-required' - ); - } - } - - isReady = false; - this.isAddNewPropertyIndexReady = false; - } else { - validatedPropertyIndex.name = ''; - } - - if (type.length === 0) { - !initial && - (validatedPropertyIndex.type = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - this.isAddNewPropertyIndexReady = false; - } else { - validatedPropertyIndex.type = ''; - } - - if (Array.isArray(fields)) { - if (fields.length === 0) { - !initial && - (validatedPropertyIndex.properties = i18next.t( - 'addition.store.item-is-required' - )); - isReady = false; - this.isAddNewPropertyIndexReady = false; - } - } else { - validatedPropertyIndex.properties = ''; - } - - return validatedPropertyIndex; - } - ); - } - - return isReady; - } - - @action - validateAllNewVertexType(initial = false) { - this.isCreatedReady = - this.validateNewVertexType('name', initial) && - this.validateNewVertexType('properties', initial) && - this.validateNewVertexType('primaryKeys', initial) && - this.validateNewVertexType('propertyIndexes', initial) && - this.validateNewVertexType('displayFeilds', initial); - } - - @action - validateEditVertexType(initial = false) { - this.isEditReady = true; - - this.validateEditVertexTypeErrorMessage.propertyIndexes = this.editedSelectedVertexType.append_property_indexes.map( - ({ name, type, fields }) => { - const validatedPropertyIndex = { - name: '', - type: '', - properties: '' - }; - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { - if (!initial) { - if (name.length !== 0) { - validatedPropertyIndex.name = i18next.t('addition.store.rule4'); - } else { - validatedPropertyIndex.name = i18next.t( - 'addition.store.item-is-required' - ); - } - } - - this.isEditReady = false; - } else { - validatedPropertyIndex.name = ''; - } - - if (type.length === 0) { - !initial && - (validatedPropertyIndex.type = i18next.t( - 'addition.store.item-is-required' - )); - this.isEditReady = false; - } else { - validatedPropertyIndex.type = ''; - } - - if (Array.isArray(fields)) { - if (fields.length === 0) { - !initial && - (validatedPropertyIndex.properties = i18next.t( - 'addition.store.item-is-required' - )); - this.isEditReady = false; - } - } else { - validatedPropertyIndex.properties = ''; - } - - return validatedPropertyIndex; - } - ); - } - - @action - validateReuseData( - category: 'vertexType' | 'property' | 'property_index', - originalValue: string, - newValue: string - ) { - if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(newValue)) { - if (newValue.length === 0) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.item-is-required' - ); - } else { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.rule4' - ); - } - - return false; - } - - // if value has changed - if (originalValue !== newValue) { - if (category === 'vertexType') { - if ( - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-vertex-name-notice' - ); - - return false; - } - } - - if (category === 'property') { - // check if there's an existed value equals to new value - if ( - !isUndefined( - this.checkedReusableData!.propertykey_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) || - !isUndefined( - this.checkedReusableData!.propertyindex_conflicts.find( - ({ entity }) => - !isUndefined( - entity.fields.find((fieldName) => fieldName === newValue) - ) - ) - ) || - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.properties.find(({ name }) => name === newValue) - ) || - !isUndefined( - entity.primary_keys.find((key) => key === newValue) - ) || - !isUndefined( - entity.property_indexes.find( - ({ fields }) => - !isUndefined( - fields.find((fieldName) => fieldName === newValue) - ) - ) - ) - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-property-name-notice' - ); - - return false; - } - } - - if (category === 'property_index') { - if ( - !isUndefined( - this.checkedReusableData!.propertyindex_conflicts.find( - ({ entity }) => entity.name === newValue - ) - ) || - !isUndefined( - this.checkedReusableData!.vertexlabel_conflicts.find( - ({ entity }) => - !isUndefined( - entity.property_indexes.find(({ name }) => name === newValue) - ) - ) - ) - ) { - this.validateReuseErrorMessage[category] = i18next.t( - 'addition.store.same-index-name-notice' - ); - - return false; - } - } - } - - return true; - } - - @action - mutateReuseData( - category: 'vertexType' | 'property' | 'property_index', - originalValue: string, - newValue: string - ) { - const editedCheckedReusableData = cloneDeep(this.editedCheckedReusableData); - - if (category === 'vertexType') { - } - - if (category === 'property') { - editedCheckedReusableData!.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const mutatePropertyIndex = entity.properties.findIndex( - ({ name }) => name === originalValue - ); - - if (mutatePropertyIndex !== -1) { - entity.properties[mutatePropertyIndex].name = newValue; - // property name in current vertex label has been edited - this.reusableVertexTypeNameChangeIndexes.add(index); - } - - const primaryKeyIndex = entity.primary_keys.findIndex( - (key) => key === originalValue - ); - - if (primaryKeyIndex !== -1) { - entity.primary_keys[primaryKeyIndex] = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - - entity.property_indexes.forEach(({ fields }) => { - const mutatePropertyIndexIndex = fields.findIndex( - (fieldName) => fieldName === originalValue - ); - - if (mutatePropertyIndexIndex !== -1) { - fields[mutatePropertyIndex] = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - }); - } - ); - - editedCheckedReusableData!.propertyindex_conflicts.forEach( - ({ entity }, index) => { - const mutateIndex = entity.fields.findIndex( - (fieldName) => fieldName === originalValue - ); - - if (mutateIndex !== -1) { - entity.fields[mutateIndex] = newValue; - this.reusablePropertyIndexNameChangeIndexes.add(index); - } - } - ); - } - - if (category === 'property_index') { - editedCheckedReusableData!.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const mutateVertexIndex = entity.property_indexes.findIndex( - ({ name }) => name === originalValue - ); - - if (mutateVertexIndex !== -1) { - entity.property_indexes[mutateVertexIndex].name = newValue; - this.reusableVertexTypeNameChangeIndexes.add(index); - } - } - ); - } - - this.editedCheckedReusableData = editedCheckedReusableData; - this.checkedReusableData = cloneDeep(editedCheckedReusableData); - } - - @action - deleteReuseData( - category: - | 'vertexlabel_conflicts' - | 'propertykey_conflicts' - | 'propertyindex_conflicts', - index: number - ) { - if (this.editedCheckedReusableData !== null) { - const editedCheckedReusableData = cloneDeep( - this.editedCheckedReusableData - ); - - if (category === 'vertexlabel_conflicts') { - const deletedVertexType = - editedCheckedReusableData.vertexlabel_conflicts[index]; - const deletedPropertyNames: string[] = []; - const deletedPropertyIndexNames: string[] = []; - - deletedVertexType.entity.properties.forEach(({ name }) => { - deletedPropertyNames.push(name); - }); - - deletedVertexType.entity.property_indexes.forEach(({ name }) => { - deletedPropertyIndexNames.push(name); - }); - - editedCheckedReusableData.vertexlabel_conflicts.splice(index, 1); - - // if there's no vertex labels, return since it will move back to the previous step - if (editedCheckedReusableData.vertexlabel_conflicts.length === 0) { - return; - } - - deletedPropertyIndexNames.forEach((propertyIndexName) => { - remove( - editedCheckedReusableData.propertyindex_conflicts, - ({ entity }) => entity.name === propertyIndexName - ); - }); - - deletedPropertyNames - .filter( - (propertyName) => - !isUndefined( - editedCheckedReusableData.vertexlabel_conflicts.find( - ({ entity }) => - isUndefined( - entity.properties.find( - ({ name }) => name === propertyName - ) - ) - ) - ) - ) - .forEach((propertyName) => { - remove( - editedCheckedReusableData.propertykey_conflicts, - ({ entity }) => entity.name === propertyName - ); - }); - } - - if (category === 'propertykey_conflicts') { - const deletedName = - editedCheckedReusableData.propertykey_conflicts[index].entity.name; - // remove property in properties - editedCheckedReusableData.propertykey_conflicts.splice(index, 1); - - // remove property in property index - editedCheckedReusableData.propertyindex_conflicts.forEach( - ({ entity }) => { - remove(entity.fields, (name) => name === deletedName); - } - ); - - remove( - editedCheckedReusableData.propertyindex_conflicts, - ({ entity }) => entity.fields.length === 0 - ); - - // remove property in vertex labels - editedCheckedReusableData.vertexlabel_conflicts.forEach( - ({ entity }, vertexlabelIndex) => { - const cb = (param: { name: string } | string) => { - const name = typeof param === 'string' ? param : param.name; - - if (name === deletedName) { - this.reusableVertexTypeNameChangeIndexes.add(vertexlabelIndex); - return true; - } - - return false; - }; - - remove(entity.properties, cb); - remove(entity.primary_keys, cb); - - entity.property_indexes.forEach(({ fields }) => { - remove(fields, cb); - }); - } - ); - } - - if (category === 'propertyindex_conflicts') { - const { - name: deletedPropertyIndexName, - fields - } = editedCheckedReusableData.propertyindex_conflicts[index].entity; - - editedCheckedReusableData.propertyindex_conflicts.splice(index, 1); - - // delete property index in vertex label - editedCheckedReusableData.vertexlabel_conflicts.forEach( - ({ entity }, index) => { - const deletedIndex = entity.property_indexes.findIndex( - ({ name }) => name === deletedPropertyIndexName - ); - - if (deletedIndex !== -1) { - this.reusableVertexTypeNameChangeIndexes.add(index); - entity.property_indexes.splice(deletedIndex, 1); - } - } - ); - } - - this.mutateEditedReusableData(editedCheckedReusableData); - } - } - - @action - resetValidateNewVertexTypeMessage( - category?: VertexTypeValidateFields, - propertIndexIndex?: number, - propertIndexProperty?: keyof VertexTypeValidatePropertyIndexes - ) { - if (isUndefined(category)) { - this.validateNewVertexTypeErrorMessage = { - name: '', - properties: '', - primaryKeys: '', - displayFeilds: '', - propertyIndexes: [] - }; - - return; - } - - if (category === 'propertyIndexes') { - (this.validateNewVertexTypeErrorMessage - .propertyIndexes as VertexTypeValidatePropertyIndexes[])[ - propertIndexIndex as number - ][propertIndexProperty as keyof VertexTypeValidatePropertyIndexes] = ''; - - return; - } - - this.validateNewVertexTypeErrorMessage[category] = ''; - } - - @action - resetValidateReuseErrorMessage( - category?: 'vertexType' | 'property' | 'property_index' - ) { - if (isUndefined(category)) { - this.validateReuseErrorMessage = { - property: '', - property_index: '', - vertexType: '' - }; - - return; - } - - this.validateReuseErrorMessage[category] = ''; - } - - @action - dispose() { - this.currentTabStatus = 'list'; - this.requestStatus = { - fetchVertexTypeList: 'pending', - checkIfUsing: 'pending', - addVertexType: 'pending', - updateVertexType: 'pending', - deleteVertexType: 'pending', - checkConflict: 'pending', - recheckConflict: 'pending', - reuseVertexType: 'pending' - }; - this.vertexListPageConfig = { - pageNumber: 1, - pageTotal: 0, - sort: '' - }; - this.errorMessage = ''; - - this.isCreatedReady = false; - this.isAddNewPropertyIndexReady = true; - this.isEditReady = true; - - this.resetNewVertextType(); - this.selectedVertexType = null; - this.selectedVertexTypeNames = []; - this.resetEditedSelectedVertexType(); - this.vertexTypes = []; - this.vertexTypeUsingStatus = null; - // reuse - this.reusableVertexTypes = []; - this.checkedReusableData = null; - this.editedCheckedReusableData = null; - this.resetValidateNewVertexTypeMessage(); - this.resetValidateReuseErrorMessage(); - } - - fetchVertexTypeList = flow(function* fetchVertexTypeList( - this: VertexTypeStore, - options?: { fetchAll?: boolean; reuseId?: number } - ) { - this.requestStatus.fetchVertexTypeList = 'pending'; - - const conn_id = - options && typeof options.reuseId === 'number' - ? options.reuseId - : this.metadataConfigsRootStore.currentId; - - try { - const result: AxiosResponse> = yield axios - .get(`${baseUrl}/${conn_id}/schema/vertexlabels`, { - params: { - page_no: this.vertexListPageConfig.pageNumber, - page_size: !options ? 10 : -1, - name_order: - this.vertexListPageConfig.sort !== '' - ? this.vertexListPageConfig.sort - : null - } - }) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - if (result.data.status === 401) { - this.validateLicenseOrMemories = false; - } - - throw new Error(result.data.message); - } - - if (options && typeof options.reuseId === 'number') { - this.reusableVertexTypes = result.data.data.records; - } else { - this.vertexTypes = result.data.data.records; - this.vertexListPageConfig.pageTotal = result.data.data.total; - } - - if (this.currentTabStatus !== 'reuse') { - result.data.data.records.length === 0 - ? (this.currentTabStatus = 'empty') - : (this.currentTabStatus = 'list'); - } - - this.requestStatus.fetchVertexTypeList = 'success'; - } catch (error) { - this.requestStatus.fetchVertexTypeList = 'failed'; - this.errorMessage = error.message; - } - }); - - checkIfUsing = flow(function* checkIfUsing( - this: VertexTypeStore, - selectedPropertyNames: string[] - ) { - this.requestStatus.checkIfUsing = 'pending'; - - try { - const result: AxiosResponse - >> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/check_using`, - { - names: selectedPropertyNames - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.vertexTypeUsingStatus = result.data.data; - this.requestStatus.checkIfUsing = 'success'; - } catch (error) { - this.requestStatus.checkIfUsing = 'failed'; - this.errorMessage = error.message; - } - }); - - addVertexType = flow(function* addVertexType(this: VertexTypeStore) { - this.requestStatus.addVertexType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels`, - { - name: this.newVertexType.name, - id_strategy: this.newVertexType.id_strategy, - properties: this.newVertexType.properties, - primary_keys: this.newVertexType.primary_keys, - property_indexes: this.newVertexType.property_indexes, - open_label_index: this.newVertexType.open_label_index, - style: this.newVertexType.style - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.addVertexType = 'success'; - } catch (error) { - this.requestStatus.addVertexType = 'failed'; - this.errorMessage = error.message; - } - }); - - updateVertexType = flow(function* updateVertexType(this: VertexTypeStore) { - this.requestStatus.updateVertexType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .put( - `${baseUrl}/${ - this.metadataConfigsRootStore.currentId - }/schema/vertexlabels/${this.selectedVertexType!.name}`, - { - append_properties: this.editedSelectedVertexType.append_properties, - append_property_indexes: this.editedSelectedVertexType - .append_property_indexes, - remove_property_indexes: this.editedSelectedVertexType - .remove_property_indexes, - style: this.editedSelectedVertexType.style - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.updateVertexType = 'success'; - } catch (error) { - this.requestStatus.updateVertexType = 'failed'; - this.errorMessage = error.message; - } - }); - - deleteVertexType = flow(function* deleteVertexType( - this: VertexTypeStore, - selectedVertexTypeNames: string[] - ) { - this.requestStatus.deleteVertexType = 'pending'; - - const combinedParams = selectedVertexTypeNames - .map((name) => 'names=' + name) - .join('&'); - - try { - const result: AxiosResponse> = yield axios - .delete( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels?` + - combinedParams + - `&skip_using=${String(size(selectedVertexTypeNames) !== 1)}` - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - if ( - selectedVertexTypeNames.length === this.vertexTypes.length && - this.vertexListPageConfig.pageNumber === - Math.ceil(this.vertexListPageConfig.pageTotal / 10) && - this.vertexListPageConfig.pageNumber > 1 - ) { - this.vertexListPageConfig.pageNumber = - this.vertexListPageConfig.pageNumber - 1; - } - - this.requestStatus.deleteVertexType = 'success'; - } catch (error) { - this.requestStatus.deleteVertexType = 'failed'; - this.errorMessage = error.message; - } - }); - - checkConflict = flow(function* checkConflict( - this: VertexTypeStore, - reuseId: string, - selectedVertexTypes: string[] - ) { - this.requestStatus.checkConflict = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/check_conflict`, - { - vertexlabels: selectedVertexTypes.map((selectedVertexType) => - this.reusableVertexTypes.find( - ({ name }) => name === selectedVertexType - ) - ) - }, - { - params: { - reused_conn_id: this.metadataConfigsRootStore.graphManagementStore.idList.find( - ({ name }) => name === reuseId - )!.id - } - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableData = result.data.data; - this.editedCheckedReusableData = cloneDeep(result.data.data); - this.requestStatus.checkConflict = 'success'; - } catch (error) { - this.requestStatus.checkConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - recheckConflict = flow(function* recheckConflict(this: VertexTypeStore) { - this.requestStatus.recheckConflict = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/recheck_conflict`, - { - propertykeys: this.editedCheckedReusableData!.propertykey_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ), - propertyindexes: this.editedCheckedReusableData!.propertyindex_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ), - vertexlabels: this.editedCheckedReusableData!.vertexlabel_conflicts.map( - ({ entity }) => ({ - ...entity - }) - ) - } - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.checkedReusableData = result.data.data; - this.editedCheckedReusableData = cloneDeep(result.data.data); - this.requestStatus.recheckConflict = 'success'; - } catch (error) { - this.requestStatus.recheckConflict = 'failed'; - this.errorMessage = error.message; - } - }); - - reuseVertexType = flow(function* reuseVertexType(this: VertexTypeStore) { - this.requestStatus.reuseVertexType = 'pending'; - - try { - const result: AxiosResponse> = yield axios - .post( - `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/reuse`, - this.editedCheckedReusableData - ) - .catch(checkIfLocalNetworkOffline); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.requestStatus.reuseVertexType = 'success'; - } catch (error) { - this.requestStatus.reuseVertexType = 'failed'; - this.errorMessage = error.message; - } - }); -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/appStore.ts b/hugegraph-hubble/hubble-fe/src/stores/appStore.ts deleted file mode 100644 index d8819211f..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/appStore.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { createContext } from 'react'; -import { observable, action, flow } from 'mobx'; -import axios, { AxiosResponse } from 'axios'; -import { responseData, baseUrl } from './types/common'; - -export class AppStore { - @observable user: string = 'Hi, User name'; - @observable currentId: number | null = null; - @observable currentTab: string = 'graph-management'; - @observable errorMessage = ''; - - @observable colorList: string[] = []; - - @observable.shallow requestStatus = { - fetchColorList: 'pending' - }; - - @action.bound - setCurrentId(id: number) { - this.currentId = id; - } - - @action.bound - switchCurrentTab(tab: string) { - this.currentTab = tab; - } - - @action.bound - setUser(user: string) { - this.user = user; - } - - @action - dispose() { - this.user = 'Hi, User name'; - this.currentTab = 'graph-management'; - this.requestStatus = { - fetchColorList: 'pending' - }; - } - - fetchColorList = flow(function* fetchColorList(this: AppStore) { - this.requestStatus.fetchColorList = 'pending'; - - try { - const result: AxiosResponse> = yield axios.get( - `${baseUrl}/${this.currentId}/schema/vertexlabels/optional-colors` - ); - - if (result.data.status !== 200) { - throw new Error(result.data.message); - } - - this.colorList = result.data.data; - this.requestStatus.fetchColorList = 'success'; - } catch (error) { - this.requestStatus.fetchColorList = 'failed'; - this.errorMessage = error.message; - console.error(error.message); - } - }); -} - -export default createContext(new AppStore()); diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/asyncTasksStore.ts deleted file mode 100644 index 9a0a54052..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/asyncTasksStore.ts +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function initRequestStatus() { - return { - fetchAsyncTaskList: 'standby', - fetchAsyncTask: 'standby', - deleteAsyncTask: 'standby', - abortAsyncTask: 'standby' - }; -} - -export function initErrorInfo() { - return { - fetchAsyncTaskList: { - code: NaN, - message: '' - }, - fetchAsyncTask: { - code: NaN, - message: '' - }, - deleteAsyncTask: { - code: NaN, - message: '' - }, - abortAsyncTask: { - code: NaN, - message: '' - } - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/algorithmStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/algorithmStore.ts deleted file mode 100644 index b58aa6cd4..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/algorithmStore.ts +++ /dev/null @@ -1,529 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { v4 } from 'uuid'; - -export enum Algorithm { - loopDetection = 'loop-detection', - focusDetection = 'focus-detection', - shortestPath = 'shortest-path', - shortestPathAll = 'shortest-path-all', - allPath = 'all-path', - modelSimilarity = 'model-similarity', - neighborRank = 'neighbor-rank', - kStepNeighbor = 'k-step-neighbor', - kHop = 'k-hop', - customPath = 'custom-path', - radiographicInspection = 'radiographic-inspection', - sameNeighbor = 'same-neighbor', - weightedShortestPath = 'weighted-shortest-path', - singleSourceWeightedShortestPath = 'single-source-weighted-shortest-path', - jaccard = 'jaccard', - personalRankRecommendation = 'personal-rank' -} - -export function initializeRequestStatus() { - return { - fetchAlgorithmResult: 'standby' - }; -} - -export function initializeErrorInfo() { - return { - fetchAlgorithmResult: { - code: NaN, - message: '' - } - }; -} - -export function createLoopDetectionDefaultParams() { - return { - source: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - source_in_ring: true, - limit: '10', - capacity: '10000000' - }; -} - -export function createValidateLoopDetectionParamsErrorMessage() { - return { - source: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - source_in_ring: '', - limit: '', - capacity: '' - }; -} - -export function createFocusDetectionDefaultParams() { - return { - source: '', - target: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - capacity: '10000000', - limit: '10' - }; -} - -export function createValidateFocusDetectionParamsErrorMessage() { - return { - source: '', - target: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '', - limit: '' - }; -} - -export function createShortestPathDefaultParams() { - return { - source: '', - target: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - skip_degree: '0', - capacity: '10000000' - }; -} - -export function createValidateShortestPathParamsErrorMessage() { - return { - source: '', - target: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '' - }; -} - -export function createShortestPathAllDefaultParams() { - return { - source: '', - target: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - skip_degree: '0', - capacity: '10000000' - }; -} - -export function createValidateShortestPathAllParamsErrorMessage() { - return { - source: '', - target: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '' - }; -} - -export function createAllPathDefaultParams() { - return { - source: '', - target: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - skip_degree: '0', - capacity: '10000000', - limit: '10' - }; -} - -export function createValidateAllPathParamsErrorMessage() { - return { - source: '', - target: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '', - limit: '' - }; -} - -export function createModelSimilarityDefaultParams() { - return { - method: 'id', - source: '', - vertexType: '', - vertexProperty: [['', '']], - direction: 'BOTH', - least_neighbor: '', - similarity: '', - label: '__all__', - max_similar: '1', - least_similar: '1', - property_filter: '', - least_property_number: '', - max_degree: '10000', - capacity: '10000000', - limit: '10', - return_common_connection: false, - return_complete_info: false - }; -} - -export function createValidateModelSimilarParamsErrorMessage() { - return { - method: '', - source: '', - vertexType: '', - vertexProperty: '', - direction: '', - least_neighbor: '', - similarity: '', - label: '', - max_similar: '', - least_similar: '', - property_filter: '', - least_property_number: '', - max_degree: '', - capacity: '', - limit: '', - return_common_connection: '', - return_complete_info: '' - }; -} - -export function createNeighborRankDefaultParams(): { - source: string; - alpha: string; - capacity: string; - steps: { - uuid: string; - direction: string; - labels: string[]; - degree: string; - top: string; - }[]; -} { - return { - source: '', - alpha: '', - capacity: '10000000', - steps: [ - { - uuid: v4(), - direction: 'BOTH', - labels: ['__all__'], - degree: '10000', - top: '100' - } - ] - }; -} - -export function createValidateNeighborRankErrorMessage(): { - source: string; - alpha: string; - capacity: string; - steps: { - uuid: string; - direction: string; - labels: string; - degree: string; - top: string; - }[]; -} { - return { - source: '', - alpha: '', - capacity: '', - steps: [ - { - uuid: '', - direction: '', - labels: '', - degree: '', - top: '' - } - ] - }; -} - -export function createKStepNeighborDefaultParams() { - return { - source: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - limit: '10000000' - }; -} - -export function createValidateKStepNeighborParamsErrorMessage() { - return { - source: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - limit: '' - }; -} - -export function createKHopDefaultParams() { - return { - source: '', - direction: 'BOTH', - max_depth: '', - nearest: true, - label: '__all__', - max_degree: '10000', - limit: '10000000', - capacity: '10000000' - }; -} - -export function createValidateKHopParamsErrorMessage() { - return { - source: '', - direction: '', - max_depth: '', - nearest: '', - label: '', - max_degree: '', - limit: '', - capacity: '' - }; -} - -export function createCustomPathDefaultParams() { - return { - method: 'id', - source: '', - vertexType: '', - vertexProperty: [['', '']], - sort_by: 'NONE', - capacity: '10000000', - limit: '10', - steps: [ - { - uuid: v4(), - direction: 'BOTH', - labels: [], - properties: [['', '']], - weight_by: '', - default_weight: '', - degree: '10000', - sample: '100' - } - ] - }; -} - -export function createValidateCustomPathParamsErrorMessage() { - return { - method: '', - source: '', - vertexType: '', - vertexProperty: '', - sort_by: '', - capacity: '', - limit: '', - steps: [ - { - uuid: '', - direction: '', - labels: '', - properties: '', - weight_by: '', - default_weight: '', - degree: '', - sample: '' - } - ] - }; -} - -export function createRadiographicInspectionDefaultParams() { - return { - source: '', - direction: 'BOTH', - max_depth: '', - label: '__all__', - max_degree: '10000', - capacity: '1000000', - limit: '10' - }; -} - -export function createValidateRadiographicInspectionParamsErrorMessage() { - return { - source: '', - direction: '', - max_depth: '', - label: '', - max_degree: '', - capacity: '', - limit: '' - }; -} - -export function createSameNeighborDefaultParams() { - return { - vertex: '', - other: '', - direction: 'BOTH', - label: '__all__', - max_degree: '10000', - limit: '10000000' - }; -} - -export function createValidateSameNeighborParamsErrorMessage() { - return { - vertex: '', - other: '', - direction: '', - label: '', - max_degree: '', - limit: '' - }; -} - -export function createWeightedShortestPathDefaultParams() { - return { - source: '', - target: '', - direction: 'BOTH', - weight: '', - with_vertex: true, - label: '__all__', - max_degree: '10000', - skip_degree: '0', - capacity: '10000000' - }; -} - -export function createValidateWeightedShortestPathParamsErrorMessage() { - return { - source: '', - target: '', - direction: '', - weight: '', - with_vertex: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '' - }; -} - -export function createSingleSourceWeightedShortestPathDefaultParams() { - return { - source: '', - direction: 'BOTH', - weight: '', - with_vertex: true, - label: '__all__', - max_degree: '10000', - skip_degree: '0', - capacity: '10000000', - limit: '10' - }; -} - -export function createValidateSingleSourceWeightedShortestPathParamsErrorMessage() { - return { - source: '', - direction: '', - weight: '', - with_vertex: '', - label: '', - max_degree: '', - skip_degree: '', - capacity: '', - limit: '' - }; -} - -export function createJaccardDefaultParams() { - return { - vertex: '', - other: '', - direction: 'BOTH', - label: '__all__', - max_degree: '10000' - }; -} - -export function createValidateJaccardParamsErrorMessage() { - return { - vertex: '', - other: '', - direction: '', - label: '', - max_degree: '' - }; -} - -export function createPersonalRankDefaultParams() { - return { - source: '', - alpha: '', - max_depth: '', - with_label: 'SAME_LABEL', - label: '', - degree: '10000', - limit: '10000000', - sorted: true - }; -} - -export function createValidatePersonalRankParamsErrorMessage() { - return { - source: '', - alpha: '', - max_depth: '', - with_label: '', - label: '', - degree: '', - limit: '', - sorted: '' - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts deleted file mode 100644 index 236a95734..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function initalizeRequestStatus() { - return { - fetchIdList: 'standby', - fetchValueTypes: 'standby', - fetchVertexTypeList: 'standby', - fetchColorSchemas: 'standby', - fetchColorList: 'standby', - fetchEdgeTypes: 'standby', - fetchAllNodeStyle: 'standby', - fetchAllEdgeStyle: 'standby', - fetchAllPropertyIndexes: 'standby', - fetchGraphs: 'standby', - createAsyncTask: 'standby', - addGraphNode: 'standby', - fetchRelatedEdges: 'standby', - addGraphEdge: 'standby', - expandGraphNode: 'standby', - filteredGraphData: 'standby', - updateGraphProperties: 'standby', - fetchRelatedVertex: 'standby', - fetchFilteredPropertyOptions: 'standby', - addQueryCollection: 'standby', - editQueryCollection: 'standby', - deleteQueryCollection: 'standby', - fetchExecutionLogs: 'standby', - fetchFavoriteQueries: 'standby' - }; -} - -export function initalizeErrorInfo() { - return { - fetchIdList: { - code: NaN, - message: '' - }, - fetchValueTypes: { - code: NaN, - message: '' - }, - fetchVertexTypeList: { - code: NaN, - message: '' - }, - fetchColorSchemas: { - code: NaN, - message: '' - }, - fetchColorList: { - code: NaN, - message: '' - }, - fetchEdgeTypes: { - code: NaN, - message: '' - }, - fetchAllNodeStyle: { - code: NaN, - message: '' - }, - fetchAllEdgeStyle: { - code: NaN, - message: '' - }, - fetchAllPropertyIndexes: { - code: NaN, - message: '' - }, - fetchGraphs: { - code: NaN, - message: '' - }, - createAsyncTask: { - code: NaN, - message: '' - }, - addGraphNode: { - code: NaN, - message: '' - }, - fetchRelatedEdges: { - code: NaN, - message: '' - }, - addGraphEdge: { - code: NaN, - message: '' - }, - expandGraphNode: { - code: NaN, - message: '' - }, - filteredGraphData: { - code: NaN, - message: '' - }, - updateGraphProperties: { - code: NaN, - message: '' - }, - fetchRelatedVertex: { - code: NaN, - message: '' - }, - filteredPropertyOptions: { - code: NaN, - message: '' - }, - addQueryCollection: { - code: NaN, - message: '' - }, - editQueryCollection: { - code: NaN, - message: '' - }, - fetchExecutionLogs: { - code: NaN, - message: '' - }, - fetchFavoriteQueries: { - code: NaN, - message: '' - }, - deleteQueryCollection: { - code: NaN, - message: '' - } - }; -} - -export function createGraphNode() { - return { - id: '', - label: '', - properties: {} - }; -} - -export function createGraphEdge() { - return { - id: '', - source: '', - target: '', - label: '', - properties: {} - }; -} - -export function createGraphEditableProperties() { - return { - primary: new Map(), - nonNullable: new Map(), - nullable: new Map() - }; -} - -export function createNewGraphDataConfig() { - return { - id: '', - label: '', - properties: { - nullable: new Map(), - nonNullable: new Map() - } - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataImportRootStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataImportRootStore.ts deleted file mode 100644 index 442247a3d..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataImportRootStore.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function initRequestStatus() { - return { - fetchFilehashes: 'standby', - uploadFiles: 'standby', - deleteFiles: 'standby', - fetchVertexTypeList: 'standby', - fetchEdgeTypeList: 'standby', - sendUploadCompleteSignal: 'standby', - sendMappingCompleteSignal: 'standby' - }; -} - -export function initErrorInfo() { - return { - fetchFilehashes: { - code: NaN, - message: '' - }, - uploadFiles: { - code: NaN, - message: '' - }, - deleteFiles: { - code: NaN, - message: '' - }, - fetchVertexTypeList: { - code: NaN, - message: '' - }, - fetchEdgeTypeList: { - code: NaN, - message: '' - }, - sendUploadCompleteSignal: { - code: NaN, - message: '' - }, - sendMappingCompleteSignal: { - code: NaN, - message: '' - } - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataMapStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataMapStore.ts deleted file mode 100644 index 297383095..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/dataMapStore.ts +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function initRequestStatus() { - return { - updateFileConfig: 'standby', - fetchDataMaps: 'standby', - updateVertexMap: 'standby', - updateEdgeMap: 'standby', - deleteVertexMap: 'standby', - deleteEdgeMap: 'standby' - }; -} - -export function initErrorInfo() { - return { - updateFileConfig: { - code: NaN, - message: '' - }, - fetchDataMaps: { - code: NaN, - message: '' - }, - updateVertexMap: { - code: NaN, - message: '' - }, - updateEdgeMap: { - code: NaN, - message: '' - }, - deleteVertexMap: { - code: NaN, - message: '' - }, - deleteEdgeMap: { - code: NaN, - message: '' - } - }; -} - -export function createNewVertexType() { - return { - label: '', - id_fields: [''], - field_mapping: [], - value_mapping: [], - null_values: { - checked: ['NULL', 'null'], - customized: [] - } - }; -} - -export function createNewEdgeType() { - return { - label: '', - source_fields: [''], - target_fields: [''], - field_mapping: [], - value_mapping: [], - null_values: { - checked: ['NULL', 'null'], - customized: [] - } - }; -} - -export function createValidateFileInfoErrorMessage() { - return { - delimiter: '', - charset: '', - date_format: '', - skipped_line: '' - }; -} - -export function createValidateAdvanceConfigErrorMessage() { - return { - null_values: [], - value_mapping: [] - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/importManagmentStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/importManagmentStore.ts deleted file mode 100644 index 08be4a12b..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/importManagmentStore.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function initRequestStatus() { - return { - fetchImportJobList: 'standby', - createNewJob: 'standby', - updateJobInfo: 'standby', - deleteJob: 'standby', - fetchFailedReason: 'standby' - }; -} - -export function initErrorInfo() { - return { - fetchImportJobList: { - code: NaN, - message: '' - }, - createNewJob: { - code: NaN, - message: '' - }, - updateJobInfo: { - code: NaN, - message: '' - }, - deleteJob: { - code: NaN, - message: '' - }, - fetchFailedReason: { - code: NaN, - message: '' - } - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/serverDataImportStore.ts b/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/serverDataImportStore.ts deleted file mode 100644 index 0cc588b1d..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/factory/dataImportStore/serverDataImportStore.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { LoadParameter } from '../../types/GraphManagementStore/dataImportStore'; - -export function initRequestStatus() { - return { - fetchImportTasks: 'standby', - fetchAllImportTasks: 'standby', - setConfigParams: 'standby', - startImport: 'standby', - pauseImport: 'standby', - resumeImport: 'standby', - abortImport: 'standby', - retryImport: 'standby', - deleteTaskImport: 'standby', - checkErrorLogs: 'standby' - }; -} - -export function initErrorInfo() { - return { - fetchImportTasks: { - code: NaN, - message: '' - }, - fetchAllImportTasks: { - code: NaN, - message: '' - }, - setConfigParams: { - code: NaN, - message: '' - }, - startImport: { - code: NaN, - message: '' - }, - pauseImport: { - code: NaN, - message: '' - }, - resumeImport: { - code: NaN, - message: '' - }, - abortImport: { - code: NaN, - message: '' - }, - retryImport: { - code: NaN, - message: '' - }, - deleteTaskImport: { - code: NaN, - message: '' - }, - checkErrorLogs: { - code: NaN, - message: '' - } - }; -} - -export function createValidateFileInfoErrorMessage(): Record< - keyof LoadParameter, - string -> { - return { - check_vertex: '', - insert_timeout: '', - max_parse_errors: '', - max_insert_errors: '', - retry_times: '', - retry_interval: '' - }; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/index.ts b/hugegraph-hubble/hubble-fe/src/stores/index.ts deleted file mode 100644 index 59f9b51c5..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/index.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import AppStoreContext, { AppStore } from './appStore'; -import GraphManagementStoreContext, { - GraphManagementStore -} from './GraphManagementStore/graphManagementStore'; -import DataAnalyzeStoreContext, { - DataAnalyzeStore -} from './GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; -import DataImportRootStoreContext, { - DataImportRootStore -} from './GraphManagementStore/dataImportStore/dataImportRootStore'; -import ImportManagerStoreContext, { - ImportManagerStore -} from './GraphManagementStore/dataImportStore/ImportManagerStore'; -import AsyncTasksStoreContext, { - AsyncTasksStore -} from './GraphManagementStore/asyncTasksStore'; - -export { - AppStore, - AppStoreContext, - GraphManagementStore, - GraphManagementStoreContext, - DataAnalyzeStore, - DataAnalyzeStoreContext, - DataImportRootStore, - DataImportRootStoreContext, - ImportManagerStore, - ImportManagerStoreContext, - AsyncTasksStore, - AsyncTasksStoreContext -}; diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/asyncTasksStore.ts deleted file mode 100644 index 48d31e170..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/asyncTasksStore.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export interface AsyncTask { - id: number; - task_type: string; - task_name: string; - task_status: string; - task_create: string; - task_update: string; - task_result: string; -} - -export interface AsyncTaskListResponse { - records: AsyncTask[]; - total: number; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts deleted file mode 100644 index 7a2eed3ac..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts +++ /dev/null @@ -1,328 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { Node, Edge } from 'vis-network'; -import { dict, responseData } from '../common'; -import { EdgeType } from './metadataConfigsStore'; - -export type ColorSchemas = dict; -export type RuleMap = dict; - -export interface FetchColorSchemas { - status: number; - data: ColorSchemas; - message: string; -} - -export type FetchFilteredPropertyOptions = responseData; - -export interface GraphNode extends Node { - id: string; - label: string; - properties: dict; - chosen?: any; - vLabel?: string; - style?: dict; -} - -export interface GraphEdge extends Edge { - id: string; - label: string; - properties: dict; - source: string; - target: string; -} - -export interface GraphView { - vertices: GraphNode[]; - edges: GraphEdge[]; -} - -export interface NewGraphData { - id?: string; - label: string; - properties: { - nullable: Map; - nonNullable: Map; - }; -} - -export interface EditableProperties { - nonNullable: Map; - nullable: Map; -} - -export interface QueryResult { - table_view: { - header: string[]; - rows: dict[]; - }; - json_view: { - data: dict[]; - }; - graph_view: GraphView; - type: string; -} - -export type FetchGraphResponse = responseData; - -export interface ValueTypes { - name: string; - data_type: string; - cardinality: string; - create_time: string; -} - -export interface AddQueryCollectionParams { - name: string; - content: string; -} - -export interface ExecutionLogs { - id: number; - async_id: number; - async_status: - | 'UNKNOWN' - | 'SCHEDULING' - | 'SCHEDULED' - | 'QUEUED' - | 'RESTORING' - | 'RUNNING' - | 'SUCCESS' - | 'CANCELLING' - | 'CANCELLED' - | 'FAILED'; - type: string; - algorithm_name: string; - content: string; - status: 'SUCCESS' | 'RUNNING' | 'FAILED'; - duration: string; - create_time: string; -} - -export type ExecutionLogsResponse = responseData<{ - records: ExecutionLogs[]; - total: number; -}>; - -export interface FavoriteQuery { - id: number; - name: string; - content: string; - create_time: string; -} - -export type FavoriteQueryResponse = responseData<{ - records: FavoriteQuery[]; - total: number; -}>; - -/* algorithm store */ -export interface LoopDetectionParams { - source: string; - direction: string; - max_depth: string; - label: string; - source_in_ring: boolean; - max_degree: string; - limit: string; - capacity: string; -} - -export interface FocusDetectionParams { - source: string; - target: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - limit: string; - capacity: string; -} - -export interface ShortestPathAlgorithmParams { - source: string; - target: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - skip_degree: string; - capacity: string; -} - -// export type ShortestPathAllAlgorithmParams = ShortestPathAlgorithmParams; -export interface ShortestPathAllAlgorithmParams { - source: string; - target: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - skip_degree: string; - capacity: string; -} - -export type AllPathAlgorithmParams = { - source: string; - target: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - capacity: string; - limit: string; -}; - -export interface ModelSimilarityParams { - method: string; - source: string; - vertexType: string; - vertexProperty: string[][]; - direction: string; - least_neighbor: string; - similarity: string; - label: string; - max_similar: string; - least_similar: string; - property_filter: string; - least_property_number: string; - max_degree: string; - capacity: string; - limit: string; - return_common_connection: boolean; - return_complete_info: boolean; -} - -export interface NeighborRankRule { - uuid: string; - direction: string; - labels: string[]; - degree: string; - top: string; -} - -export interface NeighborRankParams { - source: string; - alpha: string; - capacity: string; - steps: NeighborRankRule[]; -} - -export interface KStepNeighbor { - source: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - limit: string; -} - -export interface KHop { - source: string; - direction: string; - max_depth: string; - nearest: boolean; - label: string; - max_degree: string; - limit: string; - capacity: string; -} - -export interface CustomPathParams { - method: string; - source: string; - vertexType: string; - vertexProperty: string[][]; - sort_by: string; - capacity: string; - limit: string; - steps: CustomPathRule[]; -} - -export interface CustomPathRule { - uuid: string; - direction: string; - labels: string[]; - properties: string[][]; - weight_by: string; - default_weight: string; - degree: string; - sample: string; -} - -export interface RadiographicInspection { - source: string; - direction: string; - max_depth: string; - label: string; - max_degree: string; - capacity: string; - limit: string; -} - -export interface SameNeighbor { - vertex: string; - other: string; - direction: string; - label: string; - max_degree: string; - limit: string; -} - -export interface WeightedShortestPath { - source: string; - target: string; - direction: string; - weight: string; - with_vertex: boolean; - label: string; - max_degree: string; - skip_degree: string; - capacity: string; -} - -export interface SingleSourceWeightedShortestPath { - source: string; - direction: string; - weight: string; - with_vertex: boolean; - label: string; - max_degree: string; - skip_degree: string; - capacity: string; - limit: string; -} - -export interface Jaccard { - vertex: string; - other: string; - direction: string; - label: string; - max_degree: string; -} - -export interface PersonalRank { - source: string; - alpha: string; - max_depth: string; - with_label: string; - label: string; - degree: string; - limit: string; - sorted: boolean; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataImportStore.ts b/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataImportStore.ts deleted file mode 100644 index fbeb8c034..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/dataImportStore.ts +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { CancellablePromise } from 'mobx/lib/api/flow'; - -export interface JobGlance { - name: string; - description: string; -} - -export interface Job { - id: number; - conn_id: number; - job_name: string; - job_remarks: string; - job_size: string; - job_status: string; - job_duration: string; - update_time: string; - create_time: string; -} - -export interface JobResponse { - records: Job[]; - total: number; -} - -export interface JobFailedReason { - task_id: number; - file_id: number; - file_name: string; - reason: string; -} - -export interface FileUploadTask { - name: string; - size: number; - status: 'uploading' | 'failed' | 'success'; - chunkList: { - chunkIndex: number; - chunk: Blob; - }[]; - chunkTotal: number; - uploadedChunkTotal: number; - pendingChunkIndexes: number[]; - failedChunkIndexes: number[]; - uploadedChunksIndexes: number[]; -} - -export interface FileUploadResult { - id: string; - name: string; - size: string; - status: string; - cause: string | null; -} - -export interface FileUploadQueue { - fileName: string; - status: string; - task: CancellablePromise; -} - -export interface FileConfig { - has_header: boolean; - column_names: string[]; - column_values: string[]; - format: string; - delimiter: string; - charset: string; - date_format: string; - time_zone: string; - skipped_line: string; -} - -export type FileValidator = Pick< - FileConfig, - 'delimiter' | 'charset' | 'date_format' | 'skipped_line' ->; - -export interface FieldMapping { - column_name: string; - mapped_name: string; -} - -export interface ValueMapping { - column_name: string; - values: { - column_value: string; - mapped_value: string; - }[]; -} - -export type ValueMapValidator = { - null_values: string[]; - value_mapping: ValueMapping[]; -}; - -export interface NullValues { - checked: string[]; - customized: string[]; -} - -export interface VertexMap { - id?: string; - label: string; - id_fields: string[]; - field_mapping: FieldMapping[]; - value_mapping: ValueMapping[]; - null_values: NullValues; -} - -export interface EdgeMap { - id?: string; - label: string; - source_fields: string[]; - target_fields: string[]; - field_mapping: FieldMapping[]; - value_mapping: ValueMapping[]; - null_values: NullValues; -} - -export interface LoadParameter { - check_vertex: boolean; - insert_timeout: string; - max_parse_errors: string; - max_insert_errors: string; - retry_times: string; - retry_interval: string; -} - -export interface FileMapInfo { - id: number; - name: string; - total_lines: number; - total_size: string; - file_setting: FileConfig; - file_status: string; - vertex_mappings: VertexMap[]; - edge_mappings: EdgeMap[]; - load_parameter: LoadParameter; - last_access_time: string; -} - -export interface FileMapResult { - records: FileMapInfo[]; -} - -export interface ImportTasks { - id: number; - conn_id: number; - file_id: number; - vertices: string[]; - edges: string[]; - load_rate: number; - load_progress: number; - file_total_lines: number; - file_read_lines: number; - status: string; - duration: string; -} - -export interface AllImportTasksRecords { - records: ImportTasks[]; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/graphManagementStore.ts b/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/graphManagementStore.ts deleted file mode 100644 index fdca50cb1..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/graphManagementStore.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { responseData } from '../common'; - -export interface LincenseInfo { - name: string; - edition: string; - version: string; - allowed_graphs: number; - allowed_datasize: string; -} - -export interface GraphData { - id: number; - name: string; - graph: string; - host: string; - port: number; - create_time: string; - username: string; - enabled: boolean; - password: string; -} - -export interface GraphDataConfig { - [index: string]: string | undefined; - name: string; - graph: string; - host: string; - port: string; - username: string; - password: string; -} - -export interface GraphDataPageConfig { - pageNumber: number; - pageSize: number; - pageTotal: number; -} - -export interface GraphDataList { - records: GraphData[]; - total: number; -} - -export type GraphDataResponse = responseData; diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/metadataConfigsStore.ts b/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/metadataConfigsStore.ts deleted file mode 100644 index 8ed2c3a8c..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/GraphManagementStore/metadataConfigsStore.ts +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { dict } from '../common'; -import { VertexTypeStore } from '../../GraphManagementStore/metadataConfigsStore/vertexTypeStore'; - -export interface PageConfig { - pageNumber: number; - pageTotal: number; - sort: 'asc' | 'desc' | ''; -} - -// metadata property - -export interface MetadataProperty { - name: string; - data_type: string; - cardinality: string; - create_time?: string; -} - -export interface NewMetadataProperty extends MetadataProperty { - _name?: string; -} - -export interface MetadataPropertyListResponse { - records: MetadataProperty[]; - total: number; -} - -// vertex types - -export type VertexTypeProperty = { - name: string; - nullable: boolean; -}; - -export type VertexTypePropertyIndex = { - name: string; - type: string; - fields: string[]; -}; - -export type VertexTypeStyle = { - icon: string | null; - color: string | null; - size: string; - display_fields: string[]; -}; - -export type VertexTypeValidateFields = - | 'name' - | 'properties' - | 'primaryKeys' - | 'displayFeilds' - | 'propertyIndexes'; - -export type VertexTypeValidatePropertyIndexes = { - name: string; - type: string; - properties: string; -}; - -export interface EditVertexTypeParams { - append_properties: VertexTypeProperty[]; - append_property_indexes: VertexTypePropertyIndex[]; - remove_property_indexes: string[]; - style: { - color: string | null; - icon: null; - size: string; - display_fields: string[]; - }; -} - -export interface VertexType { - [index: string]: string | any[] | VertexTypeStyle | boolean; - - name: string; - id_strategy: string; - properties: VertexTypeProperty[]; - primary_keys: string[]; - property_indexes: VertexTypePropertyIndex[]; - open_label_index: boolean; - style: VertexTypeStyle; -} - -export interface VertexTypeListResponse { - records: VertexType[]; - total: number; -} - -export interface CheckedReusableData { - type: string; - propertykey_conflicts: { entity: MetadataProperty; status: string }[]; - propertyindex_conflicts: { entity: MetadataPropertyIndex; status: string }[]; - vertexlabel_conflicts: { entity: VertexType; status: string }[]; - edgelabel_conflicts: { entity: EdgeType; status: string }[]; -} - -export interface ReCheckedReusableData { - propertykeys: MetadataProperty[]; - propertyindexes: MetadataPropertyIndex[]; - vertexlabels: VertexType[]; -} - -// edge types - -type EdgeTypeProperty = VertexTypeProperty; -type EdgeTypePropertyIndex = VertexTypePropertyIndex; - -type EdgeTypeStyle = { - color: string | null; - icon: string | null; - with_arrow: boolean; - thickness: string; - display_fields: string[]; -}; - -export type EdgeTypeValidateFields = - | 'name' - | 'sourceLabel' - | 'targetLabel' - | 'properties' - | 'sortKeys' - | 'propertyIndexes' - | 'displayFeilds'; - -export type EdgeTypeValidatePropertyIndexes = VertexTypeValidatePropertyIndexes; - -export interface EditEdgeTypeParams { - append_properties: VertexTypeProperty[]; - append_property_indexes: VertexTypePropertyIndex[]; - remove_property_indexes: string[]; - style: { - color: string | null; - icon: null; - with_arrow: boolean | null; - thickness: string; - display_fields: string[]; - }; -} - -export interface EdgeType { - name: string; - source_label: string; - target_label: string; - link_multi_times: boolean; - properties: EdgeTypeProperty[]; - sort_keys: string[]; - property_indexes: EdgeTypePropertyIndex[]; - open_label_index: boolean; - style: EdgeTypeStyle; -} - -export interface EdgeTypeListResponse { - records: EdgeType[]; - total: number; -} - -// metadata property index - -export interface MetadataPropertyIndex { - owner: string; - owner_type: string; - name: string; - type: string; - fields: string[]; -} - -export interface MetadataPropertyIndexResponse { - records: MetadataPropertyIndex[]; - total: number; -} - -// graph view data - -export type DrawerTypes = - | 'create-property' - | 'create-vertex' - | 'create-edge' - | 'check-property' - | 'check-vertex' - | 'check-edge' - | 'edit-vertex' - | 'edit-edge' - | ''; - -export interface GraphViewData { - vertices: { - id: string; - label: string; - properties: Record; - primary_keys: string[]; - style?: dict; - }[]; - edges: { - id: string; - label: string; - source: string; - target: string; - properties: Record; - sort_keys: string[]; - }[]; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/types/common.ts b/hugegraph-hubble/hubble-fe/src/stores/types/common.ts deleted file mode 100644 index ea4ec7eeb..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/types/common.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export const baseUrl = '/api/v1.2/graph-connections'; - -export type dict = Record; - -export interface responseData { - status: number; - data: T; - message: string; -} diff --git a/hugegraph-hubble/hubble-fe/src/stores/utils/index.ts b/hugegraph-hubble/hubble-fe/src/stores/utils/index.ts deleted file mode 100644 index a2d2c490c..000000000 --- a/hugegraph-hubble/hubble-fe/src/stores/utils/index.ts +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { isUndefined, size } from 'lodash-es'; -import isInt from 'validator/lib/isInt'; -import isFloat from 'validator/lib/isFloat'; -import isBoolean from 'validator/lib/isBoolean'; -import isISO8601 from 'validator/lib/isISO8601'; -import isUUID from 'validator/lib/isUUID'; -import isEmpty from 'validator/lib/isEmpty'; -import i18next from '../../i18n'; - -import type vis from 'vis-network'; -import type { - GraphNode, - GraphEdge -} from '../types/GraphManagementStore/dataAnalyzeStore'; -import type { - VertexTypeProperty, - MetadataProperty -} from '../types/GraphManagementStore/metadataConfigsStore'; - -/* variables */ - -export const vertexRadiusMapping: Record = { - HUGE: 40, - BIG: 30, - NORMAL: 20, - SMALL: 10, - TINY: 1 -}; - -export const edgeWidthMapping: Record = { - THICK: 45, - NORMAL: 20, - FINE: -10 -}; - -/* functions */ - -export function checkIfLocalNetworkOffline(error: any) { - if (error.request) { - throw new Error(i18next.t('addition.store.network-error')); - } -} - -export function mapMetadataProperties( - properties: VertexTypeProperty[], - propertyCollection: MetadataProperty[] -) { - const mappedProperties: Record = {}; - - properties.forEach(({ name }) => { - const value = propertyCollection.find( - ({ name: propertyName }) => propertyName === name - )!.data_type; - - mappedProperties[name] = value; - }); - - return mappedProperties; -} - -export function generateGraphModeId( - id: string, - source: string, - target: string -): string { - return `${source}-${id}->${target}`; -} - -export function convertArrayToString( - values: any[] | any, - separtor: string = ',' -) { - return Array.isArray(values) - ? values.filter((value) => value !== '').join(separtor) - : String(values); -} - -export function validateGraphProperty( - type: string, - value: string, - premitEmpty: boolean = false -) { - if (premitEmpty) { - if (value === '') { - return true; - } - } - - switch (type) { - case 'BOOLEAN': - return isBoolean(value); - case 'BYTE': - return isInt(value) && Number(value) > -128 && Number(value) <= 127; - case 'INT': - case 'LONG': - return isInt(value); - case 'FLOAT': - case 'DOUBLE': - return isFloat(value); - case 'TEXT': - case 'BLOB': - return !isEmpty(value); - case 'DATE': - return isISO8601(value); - case 'UUID': - return isUUID(value); - } -} - -export function addGraphNodes( - collection: GraphNode[], - visGraphNodes: vis.data.DataSet, - vertexSizeMapping: Record, - colorMappings: Record, - displayFieldMappings: Record -) { - collection.forEach(({ id, label, properties }) => { - const joinedLabel = !isUndefined(displayFieldMappings[label]) - ? displayFieldMappings[label] - .map((field) => (field === '~id' ? id : properties[field])) - .filter((label) => label !== undefined && label !== null) - .join('-') - : id; - - visGraphNodes.add({ - id, - label: - size(joinedLabel) <= 15 - ? joinedLabel - : joinedLabel.slice(0, 15) + '...', - vLabel: label, - value: vertexRadiusMapping[vertexSizeMapping[label]], - font: { size: 16 }, - properties, - title: ` -
-
${i18next.t('addition.common.vertex-type')}:
-
${label}
-
-
-
${i18next.t('addition.common.vertex-id')}:
-
${id}
-
- ${Object.entries(properties) - .map(([key, value]) => { - return `
-
${key}:
-
${convertArrayToString(value)}
-
`; - }) - .join('')} - `, - color: { - background: colorMappings[label] || '#5c73e6', - border: colorMappings[label] || '#5c73e6', - highlight: { background: '#fb6a02', border: '#fb6a02' }, - hover: { background: '#ec3112', border: '#ec3112' } - }, - // reveal label when zoom to max - scaling: { - label: { - max: Infinity, - maxVisible: Infinity - } - }, - chosen: { - node(values: any, id: string, selected: boolean, hovering: boolean) { - if (hovering || selected) { - values.shadow = true; - values.shadowColor = 'rgba(0, 0, 0, 0.6)'; - values.shadowX = 0; - values.shadowY = 0; - values.shadowSize = 25; - } - - if (selected) { - values.size += 5; - } - } - } - }); - }); -} - -export function addGraphEdges( - collection: GraphEdge[], - visGraphEdges: vis.data.DataSet, - colorMappings: Record, - edgeThicknessMappings: Record, - edgeWithArrowMappings: Record, - displayFieldMappings: Record -) { - collection.forEach(({ id, label, source, target, properties }) => { - const joinedLabel = displayFieldMappings[label] - .map((field) => (field === '~id' ? label : properties[field])) - .join('-'); - - visGraphEdges.add({ - id, - label: - joinedLabel.length <= 15 - ? joinedLabel - : joinedLabel.slice(0, 15) + '...', - properties, - source, - target, - from: source, - to: target, - font: { size: 16, strokeWidth: 0, color: '#666' }, - arrows: edgeWithArrowMappings[label] ? 'to' : '', - color: colorMappings[label], - value: edgeWidthMapping[edgeThicknessMappings[label]], - title: ` -
-
${i18next.t('addition.common.edge-type')}:
-
${label}
-
-
-
${i18next.t('addition.common.edge-id')}:
-
${id}
-
- ${Object.entries(properties) - .map(([key, value]) => { - return `
-
${key}:
-
${convertArrayToString(value)}
-
`; - }) - .join('')} - ` - }); - }); -} - -export function formatVertexIdText( - text: string, - replacedText: string, - revert: boolean = false -) { - if (!revert) { - return text === '~id' ? replacedText : text; - } else { - return text === replacedText ? '~id' : text; - } -} - -export function isGtNegativeOneButZero(value: string | number) { - if (typeof value === 'number') { - value = String(value); - } - - return !( - !isEmpty(value) && - (!isInt(value as string, { min: -1 }) || String(Number(value)) === '0') - ); -} diff --git a/hugegraph-hubble/hubble-fe/src/third-party.d.ts b/hugegraph-hubble/hubble-fe/src/third-party.d.ts deleted file mode 100644 index 9e63323ba..000000000 --- a/hugegraph-hubble/hubble-fe/src/third-party.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -declare module 'hubble-ui'; diff --git a/hugegraph-hubble/hubble-fe/src/utils/calcAlgorithmFormWidth.ts b/hugegraph-hubble/hubble-fe/src/utils/calcAlgorithmFormWidth.ts deleted file mode 100644 index 76e1a896c..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/calcAlgorithmFormWidth.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export function calcAlgorithmFormWidth( - expand: boolean, - min: number, - max: number -) { - return expand ? min : max; -} diff --git a/hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.ts b/hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.ts deleted file mode 100644 index 975563027..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/convertStringToJSON.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export default function convertStringToJSON(text: any): object | null { - if (typeof text !== 'string') { - return null; - } - - let context; - - try { - context = JSON.parse(text); - } catch (e) { - return null; - } - - return typeof context === 'object' && context !== null ? context : null; -} diff --git a/hugegraph-hubble/hubble-fe/src/utils/filterEmptyAlgorightmParams.ts b/hugegraph-hubble/hubble-fe/src/utils/filterEmptyAlgorightmParams.ts deleted file mode 100644 index 6918ddc0a..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/filterEmptyAlgorightmParams.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { omitBy, cloneDeep, isEmpty } from 'lodash-es'; - -export function removeLabelKey>( - params: T, - isCloned = true, - key = 'label' -) { - const paramObject = isCloned ? params : cloneDeep(params); - - if (paramObject[key] === '__all__') { - delete paramObject[key]; - } - - return paramObject; -} - -export function filterEmptyAlgorightmParams(params: object, keys: string[]) { - return omitBy(params, (value, key) => keys.includes(key) && isEmpty(value)); -} diff --git a/hugegraph-hubble/hubble-fe/src/utils/formatAlgorithmStatement.ts b/hugegraph-hubble/hubble-fe/src/utils/formatAlgorithmStatement.ts deleted file mode 100644 index 56b46cc93..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/formatAlgorithmStatement.ts +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import { - isUndefined, - cloneDeep, - trimEnd, - isEmpty, - isObject, - fromPairs -} from 'lodash-es'; - -import type { TFunction, i18n } from 'i18next'; -import type { - NeighborRankParams, - CustomPathParams -} from '../stores/types/GraphManagementStore/dataAnalyzeStore'; - -export const AlgorithmInternalNameMapping: Record = { - rings: 'loop-detection', - crosspoints: 'focus-detection', - shortpath: 'shortest-path', - allshortpath: 'shortest-path-all', - paths: 'all-path', - fsimilarity: 'model-similarity', - neighborrank: 'neighbor-rank', - kneighbor: 'k-step-neighbor', - kout: 'k-hop', - customizedpaths: 'custom-path', - rays: 'radiographic-inspection', - sameneighbors: 'same-neighbor', - weightedshortpath: 'weighted-shortest-path', - singleshortpath: 'single-source-weighted-shortest-path', - jaccardsimilarity: 'jaccard', - personalrank: 'personal-rank' -}; - -export function formatAlgorithmStatement( - content: string, - algorithmType: string | undefined, - translator: TFunction, - i18n: i18n -) { - if (isUndefined(algorithmType)) { - return ['']; - } - - const algorithmName = translator( - `data-analyze.algorithm-forms.api-name-mapping.${algorithmType}` - ); - let algorithmParams = JSON.parse(content); - const statements: string[] = [algorithmName]; - - if (algorithmType === 'fsimilarity') { - let convertedParams: Record; - - if (!isUndefined(algorithmParams.sources)) { - convertedParams = { - source: algorithmParams.sources.ids ?? [], - 'vertex-type': algorithmParams.sources.label ?? '', - 'vertex-property': algorithmParams.sources.properties ?? [], - direction: algorithmParams.direction, - least_neighbor: algorithmParams.min_neighbors, - similarity: algorithmParams.alpha, - label: - algorithmParams.label === null || algorithmParams.label === '__all__' - ? translator( - `data-analyze.algorithm-forms.model-similarity.pre-value` - ) - : algorithmParams.label, - max_similar: algorithmParams.top, - least_similar: algorithmParams.min_similars, - property_filter: algorithmParams.group_property, - least_property_number: algorithmParams.min_groups, - max_degree: algorithmParams.max_degree, - capacity: algorithmParams.capacity, - limit: algorithmParams.limit, - return_common_connection: algorithmParams.with_intermediary, - return_complete_info: algorithmParams.with_vertex - }; - } else { - // no need to convert relative fields in temp log (which sources field is undefined) - convertedParams = { ...algorithmParams }; - convertedParams['vertex-type'] = convertedParams.vertexType; - convertedParams['vertex-property'] = convertedParams.vertexProperty; - convertedParams.label = - algorithmParams.label === null || algorithmParams.label === '__all__' - ? translator( - `data-analyze.algorithm-forms.model-similarity.pre-value` - ) - : algorithmParams.label; - - delete convertedParams.vertexType; - delete convertedParams.vertexProperty; - } - - algorithmParams = convertedParams; - } - - if (algorithmType === 'neighborrank') { - const convertedParams = cloneDeep(algorithmParams); - - convertedParams.steps = []; - - (algorithmParams as NeighborRankParams).steps.forEach( - ({ degree, direction, labels, top }, stepIndex) => { - const step: Record = {}; - - step[ - trimEnd( - translator( - 'data-analyze.algorithm-forms.neighbor-rank.options.degree' - ), - ':' - ) - ] = degree; - step[ - trimEnd( - translator( - 'data-analyze.algorithm-forms.neighbor-rank.options.direction' - ), - ':' - ) - ] = direction; - step[ - trimEnd( - translator( - 'data-analyze.algorithm-forms.neighbor-rank.options.label' - ), - ':' - ) - ] = isEmpty(labels) - ? translator('data-analyze.algorithm-forms.neighbor-rank.pre-value') - : labels.map((label) => - // value may be "__all__" from temp log (local) - label === '__all__' - ? translator( - 'data-analyze.algorithm-forms.neighbor-rank.pre-value' - ) - : label - ); - step[ - trimEnd( - translator( - 'data-analyze.algorithm-forms.neighbor-rank.options.top' - ), - ':' - ) - ] = top; - - convertedParams.steps[stepIndex] = step; - } - ); - - algorithmParams = convertedParams; - } - - // params struct fetched from server is not as consistent as front end - if (algorithmType === 'kout' && algorithmParams.hasOwnProperty('step')) { - algorithmParams.direction = algorithmParams.step.direction; - algorithmParams.max_degree = algorithmParams.step.degree; - algorithmParams.skip_degree = algorithmParams.step.skip_degree; - algorithmParams.label = algorithmParams.step.labels[0] ?? null; - - delete algorithmParams.step; - } - - if (algorithmType === 'customizedpaths') { - let convertedParams: Record; - - if (!isUndefined(algorithmParams.sources)) { - convertedParams = { - source: algorithmParams.sources.ids ?? [], - 'vertex-type': algorithmParams.sources.label ?? '', - 'vertex-property': algorithmParams.sources.properties ?? [], - capacity: algorithmParams.capacity, - limit: algorithmParams.limit, - sort_by: algorithmParams.sort_by, - steps: [] - }; - } else { - convertedParams = { - ...algorithmParams, - source: algorithmParams.source.split(','), - 'vertex-type': algorithmParams.vertexType, - 'vertex-property': fromPairs( - algorithmParams.vertexProperty.map( - ([key, value]: [string, string]) => [key, value.split(',')] - ) - ) - }; - - delete convertedParams.vertexType; - delete convertedParams.vertexProperty; - } - - (algorithmParams as CustomPathParams).steps.forEach((step, stepIndex) => { - const convertedStep: Record = {}; - - delete step.uuid; - - if (step.default_weight !== '') { - step.weight_by = step.default_weight; - } - - delete step.default_weight; - - Object.entries(step).forEach(([key, value]) => { - convertedStep[ - trimEnd( - translator( - `data-analyze.algorithm-forms.custom-path.options.${key}` - ), - ':' - ) - ] = value; - }); - - convertedParams.steps[stepIndex] = convertedStep; - }); - - algorithmParams = convertedParams; - } - - Object.entries(algorithmParams).forEach(([key, value]) => { - value = isObject(value) ? JSON.stringify(value, null, 4) : value; - - // label value could be null when it means all - if (key === 'label' && (value === null || value === '__all__')) { - value = translator( - `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.pre-value` - ); - } - - // personal rank customized - if (algorithmType === 'personalrank' && key === 'with_label') { - value = translator( - `data-analyze.algorithm-forms.personal-rank.with-label-radio-value.${(value as string).toLowerCase()}` - ); - } - - const fullPathKey = `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.options.${key}`; - - // remove redundant key from server - if (!i18n.exists(fullPathKey)) { - return; - } - - key = translator( - `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.options.${key}` - ); - - statements.push(`${key} ${value}`); - }); - - return statements; -} diff --git a/hugegraph-hubble/hubble-fe/src/utils/getUnicodeLength.ts b/hugegraph-hubble/hubble-fe/src/utils/getUnicodeLength.ts deleted file mode 100644 index 35b920f1b..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/getUnicodeLength.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export default function getUnicodeLength(str?: string) { - if (typeof str === 'undefined') { - return 0; - } - - return str.replace(/[^\x00-\xff]/g, '01').length; -} diff --git a/hugegraph-hubble/hubble-fe/src/utils/index.ts b/hugegraph-hubble/hubble-fe/src/utils/index.ts deleted file mode 100644 index 0caa170cd..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/index.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -import convertStringToJSON from './convertStringToJSON'; -import getUnicodeLength from './getUnicodeLength'; -import { - AlgorithmInternalNameMapping, - formatAlgorithmStatement -} from './formatAlgorithmStatement'; -import isDataTypeNumeric from './isDataTypeNumeric'; -import { calcAlgorithmFormWidth } from './calcAlgorithmFormWidth'; -import { - removeLabelKey, - filterEmptyAlgorightmParams -} from './filterEmptyAlgorightmParams'; - -export { - convertStringToJSON, - getUnicodeLength, - AlgorithmInternalNameMapping, - formatAlgorithmStatement, - isDataTypeNumeric, - calcAlgorithmFormWidth, - removeLabelKey, - filterEmptyAlgorightmParams -}; diff --git a/hugegraph-hubble/hubble-fe/src/utils/isDataTypeNumeric.ts b/hugegraph-hubble/hubble-fe/src/utils/isDataTypeNumeric.ts deleted file mode 100644 index 8b9d0e408..000000000 --- a/hugegraph-hubble/hubble-fe/src/utils/isDataTypeNumeric.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to You under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -export default function isDataTypeNumeric(type: string | undefined) { - return ( - type === 'BYTE' || - type === 'INT' || - type === 'LONG' || - type === 'FLOAT' || - type === 'DOUBLE' || - type === 'DATE' - ); -} diff --git a/hugegraph-hubble/hubble-fe/tsconfig-extend.json b/hugegraph-hubble/hubble-fe/tsconfig-extend.json deleted file mode 100644 index 5d35b2a3d..000000000 --- a/hugegraph-hubble/hubble-fe/tsconfig-extend.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "paths": { - "hubble-ui": ["src/components/hubble-ui"] - } - } -} diff --git a/hugegraph-hubble/hubble-fe/tsconfig.json b/hugegraph-hubble/hubble-fe/tsconfig.json deleted file mode 100644 index 0acd731ef..000000000 --- a/hugegraph-hubble/hubble-fe/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "downlevelIteration": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "preserve", - "experimentalDecorators": true - }, - "include": [ - "src" - ], - "extends": "./tsconfig-extend.json" -} diff --git a/hugegraph-hubble/hubble-fe/yarn.lock b/hugegraph-hubble/hubble-fe/yarn.lock deleted file mode 100644 index 712d00e2e..000000000 --- a/hugegraph-hubble/hubble-fe/yarn.lock +++ /dev/null @@ -1,13380 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ant-design/colors@^6.0.0": - version "6.0.0" - resolved "https://registry.npmmirror.com/@ant-design/colors/download/@ant-design/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" - integrity sha1-m5NmJXz/zEfbQrnQIDu1ksE8Apg= - dependencies: - "@ctrl/tinycolor" "^3.4.0" - -"@ant-design/icons-svg@^4.2.1": - version "4.2.1" - resolved "https://registry.npmmirror.com/@ant-design/icons-svg/download/@ant-design/icons-svg-4.2.1.tgz?cache=0&sync_timestamp=1632478308697&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons-svg%2Fdownload%2F%40ant-design%2Ficons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a" - integrity sha1-hjDajrRHGkqr2u19H/apfcss8Fo= - -"@ant-design/icons@^4.7.0": - version "4.7.0" - resolved "https://registry.npmmirror.com/@ant-design/icons/download/@ant-design/icons-4.7.0.tgz?cache=0&sync_timestamp=1632478665145&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons%2Fdownload%2F%40ant-design%2Ficons-4.7.0.tgz#8c3cbe0a556ba92af5dc7d1e70c0b25b5179af0f" - integrity sha1-jDy+ClVrqSr13H0ecMCyW1F5rw8= - dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons-svg" "^4.2.1" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-util "^5.9.4" - -"@ant-design/react-slick@~0.28.1": - version "0.28.4" - resolved "https://registry.npmmirror.com/@ant-design/react-slick/download/@ant-design/react-slick-0.28.4.tgz#8b296b87ad7c7ae877f2a527b81b7eebd9dd29a9" - integrity sha1-iylrh618euh38qUnuBt+69ndKak= - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - lodash "^4.17.21" - resize-observer-polyfill "^1.5.0" - -"@babel/code-frame@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= - dependencies: - "@babel/highlight" "^7.8.3" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" - -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.9.0": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" - integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== - -"@babel/core@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.16.12" - resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" - integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helpers" "^7.16.7" - "@babel/parser" "^7.16.12" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.10" - "@babel/types" "^7.16.8" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.16.8", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" - integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== - dependencies: - "@babel/types" "^7.16.8" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" - integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.8.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" - integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-validator-option" "^7.16.7" - browserslist "^4.17.5" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.8.3": - version "7.16.10" - resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" - integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-regexp-features-plugin@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" - integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.3.1": - version "0.3.1" - resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" - integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" - integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-explode-assignable-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" - integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-function-name@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" - integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== - dependencies: - "@babel/helper-get-function-arity" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-get-function-arity@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" - integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-hoist-variables@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" - integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-member-expression-to-functions@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" - integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" - integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" - integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== - -"@babel/helper-remap-async-to-generator@^7.16.8": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" - integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-wrap-function" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-simple-access@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" - integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": - version "7.16.0" - resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz?cache=0&sync_timestamp=1635567064131&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" - integrity sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk= - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-split-export-declaration@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" - integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/helper-validator-option@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" - integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== - -"@babel/helper-wrap-function@^7.16.8": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helpers@^7.16.7", "@babel/helpers@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" - integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== - dependencies: - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/highlight@^7.16.7", "@babel/highlight@^7.8.3": - version "7.16.10" - resolved "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" - integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": - version "7.16.12" - resolved "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" - integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" - integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" - integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - -"@babel/plugin-proposal-async-generator-functions@^7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" - integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-proposal-class-properties@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" - integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-class-static-block@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" - integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" - integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-decorators" "^7.8.3" - -"@babel/plugin-proposal-dynamic-import@^7.16.7", "@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" - integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" - integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.16.7", "@babel/plugin-proposal-json-strings@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" - integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" - integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" - integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.7", "@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" - integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" - integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== - dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.16.7", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" - integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" - integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.11": - version "7.16.11" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" - integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.10" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-proposal-private-property-in-object@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" - integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" - integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha1-GV34mxRrS3izv4l/16JXyEZZ1AY= - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.16.7.tgz#f66a0199f16de7c1ef5192160ccf5d069739e3d3" - integrity sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-flow/download/@babel/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832" - integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" - integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0= - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw= - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" - integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-arrow-functions@^7.16.7", "@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" - integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-async-to-generator@^7.16.8", "@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" - integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-remap-async-to-generator" "^7.16.8" - -"@babel/plugin-transform-block-scoped-functions@^7.16.7", "@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" - integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" - integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" - integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.16.7", "@babel/plugin-transform-computed-properties@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" - integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-destructuring@^7.16.7", "@babel/plugin-transform-destructuring@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" - integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" - integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-duplicate-keys@^7.16.7", "@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" - integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-exponentiation-operator@^7.16.7", "@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" - integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-flow-strip-types@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" - integrity sha1-ijU4qkBDTgALj0Sjxcmscim9I5I= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-flow" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" - integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-function-name@^7.16.7", "@babel/plugin-transform-function-name@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" - integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== - dependencies: - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-literals@^7.16.7", "@babel/plugin-transform-literals@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" - integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-member-expression-literals@^7.16.7", "@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" - integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-modules-amd@^7.16.7", "@babel/plugin-transform-modules-amd@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" - integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.16.8", "@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" - integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-simple-access" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.16.7", "@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" - integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== - dependencies: - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-identifier" "^7.16.7" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.16.7", "@babel/plugin-transform-modules-umd@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" - integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== - dependencies: - "@babel/helper-module-transforms" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" - integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - -"@babel/plugin-transform-new-target@^7.16.7", "@babel/plugin-transform-new-target@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" - integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-object-super@^7.16.7", "@babel/plugin-transform-object-super@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" - integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - -"@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.8.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" - integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-property-literals@^7.16.7", "@babel/plugin-transform-property-literals@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" - integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.16.7.tgz#19e9e4c2df2f6c3e6b3aea11778297d81db8df62" - integrity sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-display-name@7.8.3": - version "7.8.3" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" - integrity sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-react-display-name@^7.16.7", "@babel/plugin-transform-react-display-name@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" - integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-jsx-development@^7.16.7", "@babel/plugin-transform-react-jsx-development@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" - integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.7" - -"@babel/plugin-transform-react-jsx-self@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" - integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-jsx-source@^7.9.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" - integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.9.1": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" - integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-module-imports" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-jsx" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/plugin-transform-react-pure-annotations@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" - integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-regenerator@^7.16.7", "@babel/plugin-transform-regenerator@^7.8.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" - integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.16.7", "@babel/plugin-transform-reserved-words@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" - integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-runtime@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" - integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.16.7", "@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" - integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-spread@^7.16.7", "@babel/plugin-transform-spread@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" - integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - -"@babel/plugin-transform-sticky-regex@^7.16.7", "@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" - integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" - integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" - integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-typescript@^7.9.0": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" - integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/plugin-syntax-typescript" "^7.16.7" - -"@babel/plugin-transform-unicode-escapes@^7.16.7": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" - integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/plugin-transform-unicode-regex@^7.16.7", "@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" - integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - -"@babel/preset-env@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" - integrity sha1-pfxCSA6VCuj12fjyu8A/UnIt86g= - dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.0" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.8.3" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.7" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.0" - browserslist "^4.9.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-env@^7.4.5": - version "7.16.11" - resolved "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" - integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== - dependencies: - "@babel/compat-data" "^7.16.8" - "@babel/helper-compilation-targets" "^7.16.7" - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-async-generator-functions" "^7.16.8" - "@babel/plugin-proposal-class-properties" "^7.16.7" - "@babel/plugin-proposal-class-static-block" "^7.16.7" - "@babel/plugin-proposal-dynamic-import" "^7.16.7" - "@babel/plugin-proposal-export-namespace-from" "^7.16.7" - "@babel/plugin-proposal-json-strings" "^7.16.7" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" - "@babel/plugin-proposal-numeric-separator" "^7.16.7" - "@babel/plugin-proposal-object-rest-spread" "^7.16.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" - "@babel/plugin-proposal-optional-chaining" "^7.16.7" - "@babel/plugin-proposal-private-methods" "^7.16.11" - "@babel/plugin-proposal-private-property-in-object" "^7.16.7" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" - "@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-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.16.7" - "@babel/plugin-transform-async-to-generator" "^7.16.8" - "@babel/plugin-transform-block-scoped-functions" "^7.16.7" - "@babel/plugin-transform-block-scoping" "^7.16.7" - "@babel/plugin-transform-classes" "^7.16.7" - "@babel/plugin-transform-computed-properties" "^7.16.7" - "@babel/plugin-transform-destructuring" "^7.16.7" - "@babel/plugin-transform-dotall-regex" "^7.16.7" - "@babel/plugin-transform-duplicate-keys" "^7.16.7" - "@babel/plugin-transform-exponentiation-operator" "^7.16.7" - "@babel/plugin-transform-for-of" "^7.16.7" - "@babel/plugin-transform-function-name" "^7.16.7" - "@babel/plugin-transform-literals" "^7.16.7" - "@babel/plugin-transform-member-expression-literals" "^7.16.7" - "@babel/plugin-transform-modules-amd" "^7.16.7" - "@babel/plugin-transform-modules-commonjs" "^7.16.8" - "@babel/plugin-transform-modules-systemjs" "^7.16.7" - "@babel/plugin-transform-modules-umd" "^7.16.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" - "@babel/plugin-transform-new-target" "^7.16.7" - "@babel/plugin-transform-object-super" "^7.16.7" - "@babel/plugin-transform-parameters" "^7.16.7" - "@babel/plugin-transform-property-literals" "^7.16.7" - "@babel/plugin-transform-regenerator" "^7.16.7" - "@babel/plugin-transform-reserved-words" "^7.16.7" - "@babel/plugin-transform-shorthand-properties" "^7.16.7" - "@babel/plugin-transform-spread" "^7.16.7" - "@babel/plugin-transform-sticky-regex" "^7.16.7" - "@babel/plugin-transform-template-literals" "^7.16.7" - "@babel/plugin-transform-typeof-symbol" "^7.16.7" - "@babel/plugin-transform-unicode-escapes" "^7.16.7" - "@babel/plugin-transform-unicode-regex" "^7.16.7" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.8" - babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.5.0" - babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.20.2" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha1-75Odbn8miCfhhBY43G/5VRXhFdk= - dependencies: - "@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/preset-react@7.9.1": - version "7.9.1" - resolved "https://registry.npmmirror.com/@babel/preset-react/download/@babel/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" - integrity sha1-s0ZAPDbVjDu1RBSCcqDO/ZwoZ3o= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-react-display-name" "^7.8.3" - "@babel/plugin-transform-react-jsx" "^7.9.1" - "@babel/plugin-transform-react-jsx-development" "^7.9.0" - "@babel/plugin-transform-react-jsx-self" "^7.9.0" - "@babel/plugin-transform-react-jsx-source" "^7.9.0" - -"@babel/preset-react@^7.0.0": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/preset-react/download/@babel/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" - integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== - dependencies: - "@babel/helper-plugin-utils" "^7.16.7" - "@babel/helper-validator-option" "^7.16.7" - "@babel/plugin-transform-react-display-name" "^7.16.7" - "@babel/plugin-transform-react-jsx" "^7.16.7" - "@babel/plugin-transform-react-jsx-development" "^7.16.7" - "@babel/plugin-transform-react-pure-annotations" "^7.16.7" - -"@babel/preset-typescript@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/preset-typescript/download/@babel/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" - -"@babel/runtime-corejs3@^7.12.1": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7" - integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg== - dependencies: - core-js-pure "^3.20.2" - regenerator-runtime "^0.13.4" - -"@babel/runtime@7.9.0": - version "7.9.0" - resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" - integrity sha1-M37aZ0AfWwZqbyBaMRPUrBi6SVs= - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.16.7", "@babel/template@^7.4.0", "@babel/template@^7.8.6": - version "7.16.7" - resolved "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" - integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/parser" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": - version "7.16.10" - resolved "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" - integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== - dependencies: - "@babel/code-frame" "^7.16.7" - "@babel/generator" "^7.16.8" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.16.7" - "@babel/helper-hoist-variables" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - "@babel/parser" "^7.16.10" - "@babel/types" "^7.16.8" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": - version "7.16.8" - resolved "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" - integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== - dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - to-fast-properties "^2.0.0" - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.npmmirror.com/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.npmmirror.com/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha1-rUldxBsS511YjG24uYNPCPoTHrc= - -"@csstools/normalize.css@^10.1.0": - version "10.1.0" - resolved "https://registry.npmmirror.com/@csstools/normalize.css/download/@csstools/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" - integrity sha1-8JULuhiBlRLUL3GX5WxRiqSRzxg= - -"@ctrl/tinycolor@^3.4.0": - version "3.4.0" - resolved "https://registry.npmmirror.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" - integrity sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8= - -"@emotion/is-prop-valid@^0.8.2": - version "0.8.8" - resolved "https://registry.npmmirror.com/@emotion/is-prop-valid/download/@emotion/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha1-2yixxDaKJZtgqXMR1qlS1P0BrBo= - dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.npmmirror.com/@emotion/memoize/download/@emotion/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha1-Gb8PWvGRSREcQNmLsM+CEZ9dnus= - -"@hapi/address@2.x.x": - version "2.1.4" - resolved "https://registry.npmmirror.com/@hapi/address/download/@hapi/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= - -"@hapi/bourne@1.x.x": - version "1.3.2" - resolved "https://registry.npmmirror.com/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= - -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.npmmirror.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= - -"@hapi/joi@^15.0.0": - version "15.1.1" - resolved "https://registry.npmmirror.com/@hapi/joi/download/@hapi/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - version "3.1.6" - resolved "https://registry.npmmirror.com/@hapi/topo/download/@hapi/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= - dependencies: - "@hapi/hoek" "^8.3.0" - -"@hypnosphi/create-react-context@^0.3.1": - version "0.3.1" - resolved "https://registry.npmmirror.com/@hypnosphi/create-react-context/download/@hypnosphi/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" - integrity sha1-+L/r3HZl9dQmy6N1Pg6cfTFU18Y= - dependencies: - gud "^1.0.0" - warning "^4.0.3" - -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/console/download/@jest/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/core/download/@jest/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.3.0", "@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/environment/download/@jest/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/reporters/download/@jest/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/source-map/download/@jest/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/test-result/download/@jest/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/transform/download/@jest/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - -"@jest/types@^24.3.0", "@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.npmmirror.com/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U= - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos= - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.npmmirror.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po= - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@react-dnd/asap@^4.0.0": - version "4.0.0" - resolved "https://registry.npmmirror.com/@react-dnd/asap/download/@react-dnd/asap-4.0.0.tgz#b300eeed83e9801f51bd66b0337c9a6f04548651" - integrity sha1-swDu7YPpgB9RvWawM3yabwRUhlE= - -"@react-dnd/invariant@^2.0.0": - version "2.0.0" - resolved "https://registry.npmmirror.com/@react-dnd/invariant/download/@react-dnd/invariant-2.0.0.tgz#09d2e81cd39e0e767d7da62df9325860f24e517e" - integrity sha1-CdLoHNOeDnZ9faYt+TJYYPJOUX4= - -"@react-dnd/shallowequal@^2.0.0": - version "2.0.0" - resolved "https://registry.npmmirror.com/@react-dnd/shallowequal/download/@react-dnd/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" - integrity sha1-owMetUEp8sZrJ1P4QEJm7Hv2fwo= - -"@stylelint/postcss-css-in-js@^0.37.2": - version "0.37.2" - resolved "https://registry.npmmirror.com/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2" - integrity sha1-flqErRgfQjSiSAgDQipHuHSa89I= - dependencies: - "@babel/core" ">=7.9.0" - -"@stylelint/postcss-markdown@^0.36.2": - version "0.36.2" - resolved "https://registry.npmmirror.com/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" - integrity sha1-ClQMRpL43N/BPI41LBfnv+4rs5E= - dependencies: - remark "^13.0.0" - unist-util-find-all-after "^3.0.2" - -"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" - integrity sha1-2ty2IYUDUy1ohLIQ5/PFAsqqRLE= - -"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" - integrity sha1-KXVQuajAxzN76hK9/IqAu2b4Wrw= - -"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" - integrity sha1-wZYwLz5o6ragXpivnKhXC8ExMcc= - -"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" - integrity sha1-MQ7Ad13oCKai5P1CaMJF/XNMEWU= - -"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": - version "4.3.3" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" - integrity sha1-LN7ddH5bGyntTCQeRiVqrIEQ3ZM= - -"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" - integrity sha1-mpR5HJoogQjSCp0sxkysgg8UE5E= - -"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" - integrity sha1-FRSHMihDNZocqGsho4Ff0hqItxc= - -"@svgr/babel-plugin-transform-svg-component@^4.2.0": - version "4.2.0" - resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" - integrity sha1-Xx4viGsshcZ+dtpC8Pa+Gxdntpc= - -"@svgr/babel-preset@^4.3.3": - version "4.3.3" - resolved "https://registry.npmmirror.com/@svgr/babel-preset/download/@svgr/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" - integrity sha1-p12MLyAqwOV3Tmv8Fl0CizmhMWw= - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" - "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" - "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" - "@svgr/babel-plugin-transform-svg-component" "^4.2.0" - -"@svgr/core@^4.3.3": - version "4.3.3" - resolved "https://registry.npmmirror.com/@svgr/core/download/@svgr/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" - integrity sha1-s3uJ1bdX3Gbox0FW0Aw2gzjSQpM= - dependencies: - "@svgr/plugin-jsx" "^4.3.3" - camelcase "^5.3.1" - cosmiconfig "^5.2.1" - -"@svgr/hast-util-to-babel-ast@^4.3.2": - version "4.3.2" - resolved "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" - integrity sha1-HVoIL3uSnvjx9XiVAjj2MOFFMrg= - dependencies: - "@babel/types" "^7.4.4" - -"@svgr/plugin-jsx@^4.3.3": - version "4.3.3" - resolved "https://registry.npmmirror.com/@svgr/plugin-jsx/download/@svgr/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" - integrity sha1-4rqRPb376FJSo02xAavH69UJkvo= - dependencies: - "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.3" - "@svgr/hast-util-to-babel-ast" "^4.3.2" - svg-parser "^2.0.0" - -"@svgr/plugin-svgo@^4.3.1": - version "4.3.1" - resolved "https://registry.npmmirror.com/@svgr/plugin-svgo/download/@svgr/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" - integrity sha1-2qwKPYcuP1WTXGWI3TcDNoZenjI= - dependencies: - cosmiconfig "^5.2.1" - merge-deep "^3.0.2" - svgo "^1.2.2" - -"@svgr/webpack@4.3.3": - version "4.3.3" - resolved "https://registry.npmmirror.com/@svgr/webpack/download/@svgr/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017" - integrity sha1-E8wkI789/y1JTxaxfrfqy4aJUBc= - dependencies: - "@babel/core" "^7.4.5" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.4.5" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.3.3" - "@svgr/plugin-jsx" "^4.3.3" - "@svgr/plugin-svgo" "^4.3.1" - loader-utils "^1.2.3" - -"@types/babel__core@^7.1.0": - version "7.1.18" - resolved "https://registry.npmmirror.com/@types/babel__core/download/@types/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" - integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmmirror.com/@types/babel__generator/download/@types/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmmirror.com/@types/babel__template/download/@types/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha1-PRpI/Z1sDt/Vby/1eNrtSPNsiWk= - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.npmmirror.com/@types/babel__traverse/download/@types/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha1-/81HC7s/i/MEgWePtVAieMqDOkM= - dependencies: - "@babel/types" "^7.3.0" - -"@types/classnames@^2.2.10": - version "2.3.1" - resolved "https://registry.npmmirror.com/@types/classnames/download/@types/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" - integrity sha1-PCRnqg8ak/HwIeO5vPk4vV39wN0= - dependencies: - classnames "*" - -"@types/codemirror@^0.0.96": - version "0.0.96" - resolved "https://registry.npmmirror.com/@types/codemirror/download/@types/codemirror-0.0.96.tgz#73b52e784a246cebef31d544fef45ea764de5bad" - integrity sha1-c7UueEokbOvvMdVE/vRep2TeW60= - dependencies: - "@types/tern" "*" - -"@types/d3-array@^1": - version "1.2.9" - resolved "https://registry.npmmirror.com/@types/d3-array/download/@types/d3-array-1.2.9.tgz#c7dc78992cd8ca5c850243a265fd257ea56df1fa" - integrity sha1-x9x4mSzYylyFAkOiZf0lfqVt8fo= - -"@types/d3-axis@^1": - version "1.0.16" - resolved "https://registry.npmmirror.com/@types/d3-axis/download/@types/d3-axis-1.0.16.tgz#93d7a28795c2f8b0e2fd550fcc4d29b7f174e693" - integrity sha1-k9eih5XC+LDi/VUPzE0pt/F05pM= - dependencies: - "@types/d3-selection" "^1" - -"@types/d3-brush@^1": - version "1.1.5" - resolved "https://registry.npmmirror.com/@types/d3-brush/download/@types/d3-brush-1.1.5.tgz#c7cfb58decbfd53ad3e47f0376345e3640a68186" - integrity sha1-x8+1jey/1TrT5H8DdjReNkCmgYY= - dependencies: - "@types/d3-selection" "^1" - -"@types/d3-chord@^1": - version "1.0.11" - resolved "https://registry.npmmirror.com/@types/d3-chord/download/@types/d3-chord-1.0.11.tgz#5760765db1b1a4b936c0d9355a821dde9dd25da2" - integrity sha1-V2B2XbGxpLk2wNk1WoId3p3SXaI= - -"@types/d3-collection@*": - version "1.0.10" - resolved "https://registry.npmmirror.com/@types/d3-collection/download/@types/d3-collection-1.0.10.tgz#bca161e336156968f267c077f7f2bfa8ff224e58" - integrity sha1-vKFh4zYVaWjyZ8B39/K/qP8iTlg= - -"@types/d3-color@^1": - version "1.4.2" - resolved "https://registry.npmmirror.com/@types/d3-color/download/@types/d3-color-1.4.2.tgz#944f281d04a0f06e134ea96adbb68303515b2784" - integrity sha1-lE8oHQSg8G4TTqlq27aDA1FbJ4Q= - -"@types/d3-contour@^1": - version "1.3.3" - resolved "https://registry.npmmirror.com/@types/d3-contour/download/@types/d3-contour-1.3.3.tgz#44529d498bbc1db78b195d75e1c9bb889edd647a" - integrity sha1-RFKdSYu8HbeLGV114cm7iJ7dZHo= - dependencies: - "@types/d3-array" "^1" - "@types/geojson" "*" - -"@types/d3-dispatch@^1": - version "1.0.9" - resolved "https://registry.npmmirror.com/@types/d3-dispatch/download/@types/d3-dispatch-1.0.9.tgz#c5a180f1e251de853b399cfbfbb6dd7f8bf842ae" - integrity sha1-xaGA8eJR3oU7OZz7+7bdf4v4Qq4= - -"@types/d3-drag@^1": - version "1.2.5" - resolved "https://registry.npmmirror.com/@types/d3-drag/download/@types/d3-drag-1.2.5.tgz#0b1b852cb41577075aa625ae6149379ea6c34dfd" - integrity sha1-CxuFLLQVdwdapiWuYUk3nqbDTf0= - dependencies: - "@types/d3-selection" "^1" - -"@types/d3-dsv@^1": - version "1.2.1" - resolved "https://registry.npmmirror.com/@types/d3-dsv/download/@types/d3-dsv-1.2.1.tgz#1524fee9f19d689c2f76aa0e24e230762bf96994" - integrity sha1-FST+6fGdaJwvdqoOJOIwdiv5aZQ= - -"@types/d3-ease@^1": - version "1.0.11" - resolved "https://registry.npmmirror.com/@types/d3-ease/download/@types/d3-ease-1.0.11.tgz#c4728639f5703dcb75b216dfa0860b2720f26898" - integrity sha512-wUigPL0kleGZ9u3RhzBP07lxxkMcUjL5IODP42mN/05UNL+JJCDnpEPpFbJiPvLcTeRKGIRpBBJyP/1BNwYsVA== - -"@types/d3-fetch@^1": - version "1.2.2" - resolved "https://registry.npmmirror.com/@types/d3-fetch/download/@types/d3-fetch-1.2.2.tgz#b93bfe248b8b761af82f4dac57959c989f67da3e" - integrity sha1-uTv+JIuLdhr4L02sV5WcmJ9n2j4= - dependencies: - "@types/d3-dsv" "^1" - -"@types/d3-force@^1": - version "1.2.4" - resolved "https://registry.npmmirror.com/@types/d3-force/download/@types/d3-force-1.2.4.tgz#6e274c72288c2db08fbdb8f5b87b9aa83e55a9e8" - integrity sha1-bidMciiMLbCPvbj1uHuaqD5Vqeg= - -"@types/d3-format@^1": - version "1.4.2" - resolved "https://registry.npmmirror.com/@types/d3-format/download/@types/d3-format-1.4.2.tgz#ea17bf559b71d9afd569ae9bfe4c544dab863baa" - integrity sha1-6he/VZtx2a/Vaa6b/kxUTauGO6o= - -"@types/d3-geo@^1": - version "1.12.3" - resolved "https://registry.npmmirror.com/@types/d3-geo/download/@types/d3-geo-1.12.3.tgz#512ebe735cb1cdf5f87ad59608416e2e9e868c5a" - integrity sha1-US6+c1yxzfX4etWWCEFuLp6GjFo= - dependencies: - "@types/geojson" "*" - -"@types/d3-hierarchy@^1": - version "1.1.8" - resolved "https://registry.npmmirror.com/@types/d3-hierarchy/download/@types/d3-hierarchy-1.1.8.tgz#50657f420d565a06c0b950a4b82eee0a369f2dea" - integrity sha1-UGV/Qg1WWgbAuVCkuC7uCjafLeo= - -"@types/d3-interpolate@^1": - version "1.4.2" - resolved "https://registry.npmmirror.com/@types/d3-interpolate/download/@types/d3-interpolate-1.4.2.tgz#88902a205f682773a517612299a44699285eed7b" - integrity sha1-iJAqIF9oJ3OlF2EimaRGmShe7Xs= - dependencies: - "@types/d3-color" "^1" - -"@types/d3-path@^1": - version "1.0.9" - resolved "https://registry.npmmirror.com/@types/d3-path/download/@types/d3-path-1.0.9.tgz#73526b150d14cd96e701597cbf346cfd1fd4a58c" - integrity sha1-c1JrFQ0UzZbnAVl8vzRs/R/UpYw= - -"@types/d3-polygon@^1": - version "1.0.8" - resolved "https://registry.npmmirror.com/@types/d3-polygon/download/@types/d3-polygon-1.0.8.tgz#127ee83fccda5bf57384011da90f31367fea1530" - integrity sha1-En7oP8zaW/VzhAEdqQ8xNn/qFTA= - -"@types/d3-quadtree@^1": - version "1.0.9" - resolved "https://registry.npmmirror.com/@types/d3-quadtree/download/@types/d3-quadtree-1.0.9.tgz#c7c3b795b5af06e5b043d1d34e754a434b3bae59" - integrity sha1-x8O3lbWvBuWwQ9HTTnVKQ0s7rlk= - -"@types/d3-random@^1": - version "1.1.3" - resolved "https://registry.npmmirror.com/@types/d3-random/download/@types/d3-random-1.1.3.tgz#8f7fdc23f92d1561e0694eb49567e8ab50537a19" - integrity sha1-j3/cI/ktFWHgaU60lWfoq1BTehk= - -"@types/d3-scale-chromatic@^1": - version "1.5.1" - resolved "https://registry.npmmirror.com/@types/d3-scale-chromatic/download/@types/d3-scale-chromatic-1.5.1.tgz#e2b7c3401e5c13809f831911eb820e444f4fc67a" - integrity sha1-4rfDQB5cE4CfgxkR64IORE9Pxno= - -"@types/d3-scale@^2": - version "2.2.6" - resolved "https://registry.npmmirror.com/@types/d3-scale/download/@types/d3-scale-2.2.6.tgz#28540b4dfc99d978970e873e4138a6bea2ea6ab8" - integrity sha1-KFQLTfyZ2XiXDoc+QTimvqLqarg= - dependencies: - "@types/d3-time" "^1" - -"@types/d3-selection@^1": - version "1.4.3" - resolved "https://registry.npmmirror.com/@types/d3-selection/download/@types/d3-selection-1.4.3.tgz#36928bbe64eb8e0bbcbaa01fb05c21ff6c71fa93" - integrity sha1-NpKLvmTrjgu8uqAfsFwh/2xx+pM= - -"@types/d3-shape@^1": - version "1.3.8" - resolved "https://registry.npmmirror.com/@types/d3-shape/download/@types/d3-shape-1.3.8.tgz#c3c15ec7436b4ce24e38de517586850f1fea8e89" - integrity sha1-w8Fex0NrTOJOON5RdYaFDx/qjok= - dependencies: - "@types/d3-path" "^1" - -"@types/d3-time-format@^2": - version "2.3.1" - resolved "https://registry.npmmirror.com/@types/d3-time-format/download/@types/d3-time-format-2.3.1.tgz#87a30e4513b9d1d53b920327a361f87255bf3372" - integrity sha1-h6MORRO50dU7kgMno2H4clW/M3I= - -"@types/d3-time@^1": - version "1.1.1" - resolved "https://registry.npmmirror.com/@types/d3-time/download/@types/d3-time-1.1.1.tgz#6cf3a4242c3bbac00440dfb8ba7884f16bedfcbf" - integrity sha1-bPOkJCw7usAEQN+4uniE8Wvt/L8= - -"@types/d3-timer@^1": - version "1.0.10" - resolved "https://registry.npmmirror.com/@types/d3-timer/download/@types/d3-timer-1.0.10.tgz#329c51c2c931f44ed0acff78b8c84571acf0ed21" - integrity sha1-MpxRwskx9E7QrP94uMhFcazw7SE= - -"@types/d3-transition@^1": - version "1.3.2" - resolved "https://registry.npmmirror.com/@types/d3-transition/download/@types/d3-transition-1.3.2.tgz#ed59beca7b4d679cfa52f88a6a50e5bbeb7e0a3c" - integrity sha1-7Vm+yntNZ5z6UviKalDlu+t+Cjw= - dependencies: - "@types/d3-selection" "^1" - -"@types/d3-voronoi@*": - version "1.1.9" - resolved "https://registry.npmmirror.com/@types/d3-voronoi/download/@types/d3-voronoi-1.1.9.tgz#7bbc210818a3a5c5e0bafb051420df206617c9e5" - integrity sha1-e7whCBijpcXguvsFFCDfIGYXyeU= - -"@types/d3-zoom@^1": - version "1.8.3" - resolved "https://registry.npmmirror.com/@types/d3-zoom/download/@types/d3-zoom-1.8.3.tgz#00237900c6fdc2bb4fe82679ee4d74eb8fbe7b3c" - integrity sha1-ACN5AMb9wrtP6CZ57k1064++ezw= - dependencies: - "@types/d3-interpolate" "^1" - "@types/d3-selection" "^1" - -"@types/d3@^5.7.2": - version "5.16.4" - resolved "https://registry.npmmirror.com/@types/d3/download/@types/d3-5.16.4.tgz#a7dc24a3dc1c19922eee72ba16144fd5bcea987a" - integrity sha1-p9wko9wcGZIu7nK6FhRP1bzqmHo= - dependencies: - "@types/d3-array" "^1" - "@types/d3-axis" "^1" - "@types/d3-brush" "^1" - "@types/d3-chord" "^1" - "@types/d3-collection" "*" - "@types/d3-color" "^1" - "@types/d3-contour" "^1" - "@types/d3-dispatch" "^1" - "@types/d3-drag" "^1" - "@types/d3-dsv" "^1" - "@types/d3-ease" "^1" - "@types/d3-fetch" "^1" - "@types/d3-force" "^1" - "@types/d3-format" "^1" - "@types/d3-geo" "^1" - "@types/d3-hierarchy" "^1" - "@types/d3-interpolate" "^1" - "@types/d3-path" "^1" - "@types/d3-polygon" "^1" - "@types/d3-quadtree" "^1" - "@types/d3-random" "^1" - "@types/d3-scale" "^2" - "@types/d3-scale-chromatic" "^1" - "@types/d3-selection" "^1" - "@types/d3-shape" "^1" - "@types/d3-time" "^1" - "@types/d3-time-format" "^2" - "@types/d3-timer" "^1" - "@types/d3-transition" "^1" - "@types/d3-voronoi" "*" - "@types/d3-zoom" "^1" - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npmmirror.com/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= - -"@types/estree@*": - version "0.0.50" - resolved "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM= - -"@types/file-saver@^2.0.1": - version "2.0.5" - resolved "https://registry.npmmirror.com/@types/file-saver/download/@types/file-saver-2.0.5.tgz#9ee342a5d1314bb0928375424a2f162f97c310c7" - integrity sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ== - -"@types/geojson@*": - version "7946.0.8" - resolved "https://registry.npmmirror.com/@types/geojson/download/@types/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca" - integrity sha1-MHRK/bOF4pReIvOwM/iX92sfEso= - -"@types/glob@^7.1.1": - version "7.2.0" - resolved "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha1-vBtb86qS8lvV3TnzXFc2G9zlsus= - dependencies: - "@types/minimatch" "*" - "@types/node" "*" - -"@types/hoist-non-react-statics@^3.3.1": - version "3.3.1" - resolved "https://registry.npmmirror.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" - integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.4" - resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz?cache=0&sync_timestamp=1637266271645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fistanbul-lib-report%2Fdownload%2F%40types%2Fistanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest-diff@*": - version "24.3.0" - resolved "https://registry.npmmirror.com/@types/jest-diff/download/@types/jest-diff-24.3.0.tgz#29e237a3d954babfe6e23cc59b57ecd8ca8d858d" - integrity sha1-KeI3o9lUur/m4jzFm1fs2MqNhY0= - dependencies: - jest-diff "*" - -"@types/jest@24.0.15": - version "24.0.15" - resolved "https://registry.npmmirror.com/@types/jest/download/@types/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" - integrity sha1-bELVr3/jtE//98xl3nv3Qej6Qn8= - dependencies: - "@types/jest-diff" "*" - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": - version "7.0.9" - resolved "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0= - -"@types/lodash-es@^4.17.3": - version "4.17.5" - resolved "https://registry.npmmirror.com/@types/lodash-es/download/@types/lodash-es-4.17.5.tgz#1c3fdd16849d84aea43890b1c60da379fb501353" - integrity sha1-HD/dFoSdhK6kOJCxxg2jeftQE1M= - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.178" - resolved "https://registry.npmmirror.com/@types/lodash/download/@types/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" - integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== - -"@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.npmmirror.com/@types/mdast/download/@types/mdast-3.0.10.tgz?cache=0&sync_timestamp=1637267171178&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fmdast%2Fdownload%2F%40types%2Fmdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" - integrity sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8= - dependencies: - "@types/unist" "*" - -"@types/minimatch@*": - version "3.0.5" - resolved "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1637267467935&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.npmmirror.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1637267478331&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w= - -"@types/node@*": - version "17.0.13" - resolved "https://registry.npmmirror.com/@types/node/download/@types/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" - integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== - -"@types/node@14.11.8": - version "14.11.8" - resolved "https://registry.npmmirror.com/@types/node/download/@types/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" - integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmmirror.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz?cache=0&sync_timestamp=1637268963320&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE= - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= - -"@types/prop-types@*": - version "15.7.4" - resolved "https://registry.npmmirror.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" - integrity sha1-/PcgXCXf95Xuea8eMNosl5CAjxE= - -"@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.npmmirror.com/@types/q/download/@types/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - -"@types/react-dom@16.9.8": - version "16.9.8" - resolved "https://registry.npmmirror.com/@types/react-dom/download/@types/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" - integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== - dependencies: - "@types/react" "*" - -"@types/react-highlight-words@^0.16.1": - version "0.16.4" - resolved "https://registry.npmmirror.com/@types/react-highlight-words/download/@types/react-highlight-words-0.16.4.tgz#441b6f05c27ce6ab76833803a84bc385f0a1e8f2" - integrity sha512-KITBX3xzheQLu2s3bUgLmRE7ekmhc52zRjRTwkKayQARh30L4fjEGzGm7ULK9TuX2LgxWWavZqyQGDGjAHbL3w== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "17.0.38" - resolved "https://registry.npmmirror.com/@types/react/download/@types/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" - integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@16.9.52": - version "16.9.52" - resolved "https://registry.npmmirror.com/@types/react/download/@types/react-16.9.52.tgz#c46c72d1a1d8d9d666f4dd2066c0e22600ccfde1" - integrity sha512-EHRjmnxiNivwhGdMh9sz1Yw9AUxTSZFxKqdBWAAzyZx3sufWwx6ogqHYh/WB1m/I4ZpjkoZLExF5QTy2ekVi/Q== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmmirror.com/@types/scheduler/download/@types/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha1-GmL4lSVyPd4kuhsBsJK/XfitTTk= - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.npmmirror.com/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= - -"@types/tern@*": - version "0.23.4" - resolved "https://registry.npmmirror.com/@types/tern/download/@types/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" - integrity sha1-A5JusT2+rzrg05DK9wayZDoBJ/s= - dependencies: - "@types/estree" "*" - -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": - version "2.0.6" - resolved "https://registry.npmmirror.com/@types/unist/download/@types/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" - integrity sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0= - -"@types/uuid@^8.3.0": - version "8.3.4" - resolved "https://registry.npmmirror.com/@types/uuid/download/@types/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== - -"@types/validator@^13.1.0": - version "13.7.1" - resolved "https://registry.npmmirror.com/@types/validator/download/@types/validator-13.7.1.tgz#cdab1b4779f6b1718a08de89d92d2603b71950cb" - integrity sha512-I6OUIZ5cYRk5lp14xSOAiXjWrfVoMZVjDuevBYgQDYzZIjsf2CAISpEcXOkFAtpAHbmWIDLcZObejqny/9xq5Q== - -"@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.npmmirror.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz?cache=0&sync_timestamp=1637271401361&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk= - -"@types/yargs@^13.0.0": - version "13.0.12" - resolved "https://registry.npmmirror.com/@types/yargs/download/@types/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" - integrity sha1-2JWojHA7eK8EZaneiKqSxhQwsJI= - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^2.10.0": - version "2.34.0" - resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha1-b4zopGx96kpvHRcdK7j7rm2sK+k= - dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha1-01JLZEzbQO687KZ/jPPkzJyPmA8= - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^2.10.0": - version "2.34.0" - resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha1-UCUmMMoxloVCDpo5ygX+GFola8g= - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha1-FK62NTs57wcyzH8bgoUpSTfPN9U= - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz?cache=0&sync_timestamp=1625473466896&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmmirror.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmmirror.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.npmmirror.com/abab/download/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.4" - resolved "https://registry.npmmirror.com/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0: - version "5.3.2" - resolved "https://registry.npmmirror.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.npmmirror.com/acorn-walk/download/acorn-walk-6.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= - -acorn@^5.5.3: - version "5.7.4" - resolved "https://registry.npmmirror.com/acorn/download/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: - version "6.4.2" - resolved "https://registry.npmmirror.com/acorn/download/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -address@1.1.2, address@^1.0.1: - version "1.1.2" - resolved "https://registry.npmmirror.com/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= - -adjust-sourcemap-loader@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/adjust-sourcemap-loader/download/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" - integrity sha1-ZHEUOvdewCM0shn1S8eXDFL7KaQ= - dependencies: - assert "1.4.1" - camelcase "5.0.0" - loader-utils "1.2.3" - object-path "0.11.4" - regex-parser "2.2.10" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/aggregate-error/download/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo= - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.9.0" - resolved "https://registry.npmmirror.com/ajv/download/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" - integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.npmmirror.com/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha1-46PaS/uubIapwoViXeEkojQCb78= - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= - dependencies: - type-fest "^0.21.3" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.npmmirror.com/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ= - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -antd@^4.18.5: - version "4.18.5" - resolved "https://registry.npmmirror.com/antd/download/antd-4.18.5.tgz#e5ffbe238fd6fdfcd1ed39ba96e4b1bd5f589757" - integrity sha512-5fN3C2lWAzonhOYYlNpzIw2OHl7vxFZ+4cJ7DK/XZrV+75OY61Y+OkanqMJwrFtDDamIez35OM7cAezGko9tew== - dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons" "^4.7.0" - "@ant-design/react-slick" "~0.28.1" - "@babel/runtime" "^7.12.5" - "@ctrl/tinycolor" "^3.4.0" - classnames "^2.2.6" - copy-to-clipboard "^3.2.0" - lodash "^4.17.21" - memoize-one "^6.0.0" - moment "^2.25.3" - rc-cascader "~3.2.1" - rc-checkbox "~2.3.0" - rc-collapse "~3.1.0" - rc-dialog "~8.6.0" - rc-drawer "~4.4.2" - rc-dropdown "~3.2.0" - rc-field-form "~1.22.0-2" - rc-image "~5.2.5" - rc-input-number "~7.3.0" - rc-mentions "~1.6.1" - rc-menu "~9.2.1" - rc-motion "^2.4.4" - rc-notification "~4.5.7" - rc-pagination "~3.1.9" - rc-picker "~2.5.17" - rc-progress "~3.2.1" - rc-rate "~2.9.0" - rc-resize-observer "^1.2.0" - rc-select "~14.0.0-alpha.15" - rc-slider "~9.7.4" - rc-steps "~4.1.0" - rc-switch "~3.2.0" - rc-table "~7.22.2" - rc-tabs "~11.10.0" - rc-textarea "~0.3.0" - rc-tooltip "~5.1.1" - rc-tree "~5.4.3" - rc-tree-select "~5.1.1" - rc-trigger "^5.2.10" - rc-upload "~4.3.0" - rc-util "^5.14.0" - scroll-into-view-if-needed "^2.2.25" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/anymatch/download/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY= - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmmirror.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= - dependencies: - sprintf-js "~1.0.2" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/aria-query/download/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/arity-n/download/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.npmmirror.com/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= - -array-includes@^3.0.3, array-includes@^3.1.1: - version "3.1.4" - resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" - integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/array-tree-filter/download/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA= - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npmmirror.com/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.1: - version "1.2.5" - resolved "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" - integrity sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@~2.0.3, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.npmmirror.com/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npmmirror.com/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz?cache=0&sync_timestamp=1635986760581&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasn1%2Fdownload%2Fasn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0= - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@1.4.1: - version "1.4.1" - resolved "https://registry.npmmirror.com/assert/download/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.npmmirror.com/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.npmmirror.com/ast-types-flow/download/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= - -async-validator@^4.0.2: - version "4.0.7" - resolved "https://registry.npmmirror.com/async-validator/download/async-validator-4.0.7.tgz?cache=0&sync_timestamp=1634529502627&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasync-validator%2Fdownload%2Fasync-validator-4.0.7.tgz#034a0fd2103a6b2ebf010da75183bec299247afe" - integrity sha1-A0oP0hA6ay6/AQ2nUYO+wpkkev4= - -async@^2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmmirror.com/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= - -autoprefixer@^9.6.1, autoprefixer@^9.8.6: - version "9.8.8" - resolved "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== - dependencies: - 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" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.npmmirror.com/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.npmmirror.com/aws4/download/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= - -axios@^0.19.0: - version "0.19.2" - resolved "https://registry.npmmirror.com/axios/download/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== - dependencies: - follow-redirects "1.5.10" - -axobject-query@^2.0.2: - version "2.2.0" - resolved "https://registry.npmmirror.com/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.npmmirror.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-eslint@10.1.0: - version "10.1.0" - resolved "https://registry.npmmirror.com/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= - dependencies: - "@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-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= - dependencies: - babylon "^6.18.0" - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/babel-jest/download/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-loader@8.1.0: - version "8.1.0" - resolved "https://registry.npmmirror.com/babel-loader/download/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@2.8.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-named-asset-import@^0.3.6: - version "0.3.8" - resolved "https://registry.npmmirror.com/babel-plugin-named-asset-import/download/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" - integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== - -babel-plugin-polyfill-corejs2@^0.3.0: - version "0.3.1" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" - integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.3.1" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.0: - version "0.5.1" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" - integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - core-js-compat "^3.20.0" - -babel-plugin-polyfill-regenerator@^0.3.0: - version "0.3.1" - resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" - integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.1" - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.npmmirror.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.npmmirror.com/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz?cache=0&sync_timestamp=1624608042865&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-transform-object-rest-spread%2Fdownload%2Fbabel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/download/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha1-8u2vm0xqX75cHWeL+1MQeMFVXzo= - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-react-app@^9.1.2: - version "9.1.2" - resolved "https://registry.npmmirror.com/babel-preset-react-app/download/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" - integrity sha1-VHddl2WIqKbRqZIBpwK+/sr0gDA= - dependencies: - "@babel/core" "7.9.0" - "@babel/plugin-proposal-class-properties" "7.8.3" - "@babel/plugin-proposal-decorators" "7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" - "@babel/plugin-proposal-numeric-separator" "7.8.3" - "@babel/plugin-proposal-optional-chaining" "7.9.0" - "@babel/plugin-transform-flow-strip-types" "7.9.0" - "@babel/plugin-transform-react-display-name" "7.8.3" - "@babel/plugin-transform-runtime" "7.9.0" - "@babel/preset-env" "7.9.0" - "@babel/preset-react" "7.9.1" - "@babel/preset-typescript" "7.9.0" - "@babel/runtime" "7.9.0" - babel-plugin-macros "2.8.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.npmmirror.com/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.npmmirror.com/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.npmmirror.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1636274807479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y= - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/balanced-match/download/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= - -balanced-match@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/balanced-match/download/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" - integrity sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k= - -base16@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/base16/download/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" - integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= - -base64-js@^1.0.2: - version "1.5.1" - resolved "https://registry.npmmirror.com/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1624607950711&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npmmirror.com/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= - dependencies: - 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" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.npmmirror.com/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npmmirror.com/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= - -bn.js@^5.0.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.npmmirror.com/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - 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" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmmirror.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.npmmirror.com/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= - dependencies: - 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" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.npmmirror.com/browser-resolve/download/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.npmmirror.com/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= - dependencies: - 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@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0= - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" - integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== - dependencies: - bn.js "^5.2.1" - browserify-rsa "^4.1.0" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.4" - inherits "^2.0.4" - parse-asn1 "^5.1.6" - readable-stream "^3.6.2" - safe-buffer "^5.2.1" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= - dependencies: - pako "~1.0.5" - -browserslist@4.10.0: - version "4.10.0" - resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" - integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== - dependencies: - caniuse-lite "^1.0.30001035" - electron-to-chromium "^1.3.378" - node-releases "^1.1.52" - pkg-up "^3.1.0" - -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: - version "4.19.1" - resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" - integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== - dependencies: - caniuse-lite "^1.0.30001286" - electron-to-chromium "^1.4.17" - escalade "^3.1.1" - node-releases "^2.0.1" - picocolors "^1.0.0" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.npmmirror.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.npmmirror.com/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.npmmirror.com/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= - dependencies: - 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" - -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.npmmirror.com/cacache/download/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237308360&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= - dependencies: - 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" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/call-bind/download/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1633674944097&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= - -camel-case@^4.1.1: - version "4.1.2" - resolved "https://registry.npmmirror.com/camel-case/download/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha1-lygHKpVPgFIoIlpt7qazhGHhvVo= - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1633332938539&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A= - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - -camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmmirror.com/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286: - version "1.0.30001303" - resolved "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001303.tgz#9b168e4f43ccfc372b86f4bc5a551d9b909c95c9" - integrity sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= - dependencies: - rsvp "^4.8.4" - -case-sensitive-paths-webpack-plugin@2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc= - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npmmirror.com/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - 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" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: - version "4.1.2" - resolved "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.npmmirror.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha1-lLwYRdznClu50uzHSHJWYSk9j8E= - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.npmmirror.com/character-entities/download/character-entities-1.2.4.tgz?cache=0&sync_timestamp=1635868846406&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities%2Fdownload%2Fcharacter-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs= - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.npmmirror.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz?cache=0&sync_timestamp=1636446259053&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-reference-invalid%2Fdownload%2Fcharacter-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA= - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1634639163489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - 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" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.3.0, chokidar@^3.4.1: - version "3.5.3" - resolved "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1, chownr@^1.1.2: - version "1.1.4" - resolved "https://registry.npmmirror.com/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw= - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npmmirror.com/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classnames@*, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: - version "2.3.1" - resolved "https://registry.npmmirror.com/classnames/download/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" - integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== - -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.npmmirror.com/clean-css/download/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha1-czv0brpOYHxokepXwkqYk1aDEXg= - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= - dependencies: - restore-cursor "^3.1.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.npmmirror.com/clone-deep/download/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone-regexp@^2.1.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/clone-regexp/download/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" - integrity sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428= - dependencies: - is-regexp "^2.0.0" - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npmmirror.com/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -codemirror@^5.55.0: - version "5.65.1" - resolved "https://registry.npmmirror.com/codemirror/download/codemirror-5.65.1.tgz#5988a812c974c467f964bcc1a00c944e373de502" - integrity sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= - -color-string@^1.6.0: - version "1.9.0" - resolved "https://registry.npmmirror.com/color-string/download/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa" - integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.2.1" - resolved "https://registry.npmmirror.com/color/download/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npmmirror.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= - dependencies: - delayed-stream "~1.0.0" - -commander@^2.11.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/commander/download/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.npmmirror.com/common-tags/download/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/compose-function/download/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npmmirror.com/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.npmmirror.com/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= - dependencies: - 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" - -compute-scroll-into-view@^1.0.17: - version "1.0.17" - resolved "https://registry.npmmirror.com/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" - integrity sha1-aojxis2dQunPS6pr7H4FImB6t6s= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmmirror.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.npmmirror.com/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.npmmirror.com/confusing-browser-globals/download/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.npmmirror.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@1.7.0: - version "1.7.0" - resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - -convert-source-map@^1.4.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k= - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -copy-anything@^2.0.1: - version "2.0.6" - resolved "https://registry.npmmirror.com/copy-anything/download/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" - integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== - dependencies: - is-what "^3.14.1" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.npmmirror.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= - dependencies: - 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@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-to-clipboard@^3.2.0: - version "3.3.1" - resolved "https://registry.npmmirror.com/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz?cache=0&sync_timestamp=1624607975240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcopy-to-clipboard%2Fdownload%2Fcopy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" - integrity sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4= - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.20.0, core-js-compat@^3.20.2, core-js-compat@^3.6.2: - version "3.20.3" - resolved "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" - integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== - dependencies: - browserslist "^4.19.1" - semver "7.0.0" - -core-js-pure@^3.20.2: - version "3.20.3" - resolved "https://registry.npmmirror.com/core-js-pure/download/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02" - integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA== - -core-js@^2.4.0: - version "2.6.12" - resolved "https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== - -core-js@^3.5.0: - version "3.20.3" - resolved "https://registry.npmmirror.com/core-js/download/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" - integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U= - -cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: - version "5.2.1" - resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0: - version "7.0.1" - resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0= - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npmmirror.com/create-ecdh/download/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/create-hash/download/create-hash-1.2.0.tgz?cache=0&sync_timestamp=1624607951398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcreate-hash%2Fdownload%2Fcreate-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= - dependencies: - 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npmmirror.com/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= - dependencies: - 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-fetch@^3.0.4: - version "3.1.5" - resolved "https://registry.npmmirror.com/cross-fetch/download/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - -cross-spawn@7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" - integrity sha1-CrVihuD3wk4VPQTMKqAn5DqaXRQ= - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.npmmirror.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= - dependencies: - 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-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha1-3979MlS/ioICeZNnTM81SDv8s8U= - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.npmmirror.com/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.npmmirror.com/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4= - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@3.4.2: - version "3.4.2" - resolved "https://registry.npmmirror.com/css-loader/download/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" - integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== - dependencies: - 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.23" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.1.1" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.2" - schema-utils "^2.6.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ= - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.npmmirror.com/css-select/download/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== - dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0= - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.npmmirror.com/css-what/download/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= - -css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha1-P3tweq32M7r2LCzrhXm1RbtA9/4= - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.npmmirror.com/css/download/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.npmmirror.com/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha1-O/LypowQ9cagir2SN4Mx7oA83bA= - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/cssesc/download/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= - -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" - integrity sha1-kgYisfwelaNOiDggPxOXpQTy0/8= - dependencies: - 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" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= - -cssnano@^4.1.10: - version "4.1.11" - resolved "https://registry.npmmirror.com/cssnano/download/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" - integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.npmmirror.com/csso/download/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: - version "0.3.8" - resolved "https://registry.npmmirror.com/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= - -cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.4.0" - resolved "https://registry.npmmirror.com/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= - dependencies: - cssom "0.3.x" - -csstype@^3.0.2: - version "3.0.10" - resolved "https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" - integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== - -customize-cra@^0.9.1: - version "0.9.1" - resolved "https://registry.npmmirror.com/customize-cra/download/customize-cra-0.9.1.tgz#76b42c4f537c16329eccc09cfefd804d04c81550" - integrity sha1-drQsT1N8FjKezMCc/v2ATQTIFVA= - dependencies: - lodash.flow "^3.5.0" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -damerau-levenshtein@^1.0.4: - version "1.0.8" - resolved "https://registry.npmmirror.com/damerau-levenshtein/download/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npmmirror.com/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0, data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-fns@2.x: - version "2.28.0" - resolved "https://registry.npmmirror.com/date-fns/download/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" - integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== - -dayjs@1.x: - version "1.10.7" - resolved "https://registry.npmmirror.com/dayjs/download/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" - integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.1.1, debug@^3.2.5, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.3" - resolved "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -deep-equal@^1.0.1, deep-equal@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= - dependencies: - 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@~0.1.3: - version "0.1.4" - resolved "https://registry.npmmirror.com/deep-is/download/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE= - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npmmirror.com/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@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" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.npmmirror.com/detect-node/download/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha1-yccHdaScPQO8LAbZpzvlUPl4+LE= - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.npmmirror.com/detect-port-alt/download/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha1-JHB96r6TLUo89iEwICfCsmZWgnU= - dependencies: - address "^1.0.1" - debug "^2.6.0" - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= - -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npmmirror.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= - dependencies: - path-type "^4.0.0" - -dnd-core@^11.1.3: - version "11.1.3" - resolved "https://registry.npmmirror.com/dnd-core/download/dnd-core-11.1.3.tgz#f92099ba7245e49729d2433157031a6267afcc98" - integrity sha1-+SCZunJF5Jcp0kMxVwMaYmevzJg= - dependencies: - "@react-dnd/asap" "^4.0.0" - "@react-dnd/invariant" "^2.0.0" - redux "^4.0.4" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.npmmirror.com/dns-packet/download/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha1-40VQZYJKJQe6iGxVqJljuxB97G8= - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.npmmirror.com/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= - dependencies: - esutils "^2.0.2" - -dom-align@^1.7.0: - version "1.12.2" - resolved "https://registry.npmmirror.com/dom-align/download/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" - integrity sha1-D4Fk69DJwhsMeQMQSTzYVYkqzUs= - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha1-YgZDfTLO767HFhgDIwx6ILwbTZE= - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc= - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.npmmirror.com/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= - dependencies: - domelementtype "1" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/domhandler/download/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npmmirror.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmmirror.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU= - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/dot-case/download/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha1-mytnDQCkMWZ6inW6Kc0bmICc51E= - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/dot-prop/download/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= - dependencies: - is-obj "^2.0.0" - -dotenv-expand@5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/dotenv-expand/download/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= - -dotenv@8.2.0: - version "8.2.0" - resolved "https://registry.npmmirror.com/dotenv/download/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.npmmirror.com/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.npmmirror.com/duplexify/download/duplexify-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npmmirror.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.3.378, electron-to-chromium@^1.4.17: - version "1.4.56" - resolved "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.56.tgz#f660fd2c6739b341d8922fe3a441a5a2804911a1" - integrity sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g== - -elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.npmmirror.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= - dependencies: - 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" - -emoji-regex@^7.0.1, emoji-regex@^7.0.2: - version "7.0.3" - resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npmmirror.com/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1624607958717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.5.0" - resolved "https://registry.npmmirror.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew= - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.npmmirror.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= - -errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.npmmirror.com/errno/download/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8= - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmmirror.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: - version "1.19.1" - resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" - integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM= - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.1" - is-string "^1.0.7" - is-weakref "^1.0.1" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmmirror.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@~0.10.14: - version "0.10.63" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.63.tgz#9c222a63b6a332ac80b1e373b426af723b895bd6" - integrity sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - esniff "^2.0.1" - next-tick "^1.1.0" - -es6-iterator@2.0.3, es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.npmmirror.com/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.11.0, escodegen@^1.9.1: - version "1.14.3" - resolved "https://registry.npmmirror.com/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^5.2.1: - version "5.2.1" - resolved "https://registry.npmmirror.com/eslint-config-react-app/download/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha1-aYv3ru4n8M6gE56u8mHHv33WI98= - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.2: - version "0.3.6" - resolved "https://registry.npmmirror.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha1-QEi5WDldqJZoJSAB29nsprg7rL0= - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-loader@3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/eslint-loader/download/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca" - integrity sha1-4Bjj0nIjgdmCsSAa21aBnHO0gMo= - dependencies: - fs-extra "^8.1.0" - loader-fs-cache "^1.0.2" - loader-utils "^1.2.3" - object-hash "^2.0.1" - schema-utils "^2.6.1" - -eslint-module-utils@^2.4.1: - version "2.7.3" - resolved "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" - integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== - dependencies: - debug "^3.2.7" - find-up "^2.1.0" - -eslint-plugin-flowtype@4.6.0: - version "4.6.0" - resolved "https://registry.npmmirror.com/eslint-plugin-flowtype/download/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" - integrity sha1-grK9byF3Dg5d7t4CKORWyzUwhFE= - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@2.20.1: - version "2.20.1" - resolved "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.20.1.tgz#802423196dcb11d9ce8435a5fc02a6d3b46939b3" - integrity sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw== - dependencies: - array-includes "^3.0.3" - array.prototype.flat "^1.2.1" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.1" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.0" - read-pkg-up "^2.0.0" - resolve "^1.12.0" - -eslint-plugin-jsx-a11y@6.2.3: - version "6.2.3" - resolved "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" - integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= - dependencies: - "@babel/runtime" "^7.4.5" - aria-query "^3.0.0" - array-includes "^3.0.3" - ast-types-flow "^0.0.7" - axobject-query "^2.0.2" - damerau-levenshtein "^1.0.4" - emoji-regex "^7.0.2" - has "^1.0.3" - jsx-ast-utils "^2.2.1" - -eslint-plugin-react-hooks@^1.6.1: - version "1.7.0" - resolved "https://registry.npmmirror.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" - integrity sha1-YhC21aNyBfC5KFj4laToJwIKfQQ= - -eslint-plugin-react@7.19.0: - version "7.19.0" - resolved "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" - integrity sha1-bQj5ZzYoqmnFVZ0zSJ6FXYNVFmY= - dependencies: - array-includes "^3.1.1" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" - object.fromentries "^2.0.2" - object.values "^1.1.1" - prop-types "^15.7.2" - resolve "^1.15.1" - semver "^6.3.0" - string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.1.1" - resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= - -eslint@^6.6.0: - version "6.8.0" - resolved "https://registry.npmmirror.com/eslint/download/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@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" - -esniff@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" - integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== - dependencies: - d "^1.0.1" - es5-ext "^0.10.62" - event-emitter "^0.3.5" - type "^2.7.2" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.npmmirror.com/espree/download/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= - -esquery@^1.0.1: - version "1.4.0" - resolved "https://registry.npmmirror.com/esquery/download/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha1-LupSkHAvJquP5TcDcP+GyWXSESM= - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmmirror.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npmmirror.com/eventemitter3/download/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/events/download/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= - -eventsource@^1.0.7: - version "1.1.0" - resolved "https://registry.npmmirror.com/eventsource/download/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" - integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.npmmirror.com/exec-sh/download/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w= - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1637147199964&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= - dependencies: - 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" - -execall@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/execall/download/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" - integrity sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U= - dependencies: - clone-regexp "^2.1.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npmmirror.com/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - 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" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/expect/download/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -express@^4.17.1: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.2" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.6.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" - -ext@^1.1.2: - version "1.6.0" - resolved "https://registry.npmmirror.com/ext/download/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" - integrity sha1-OHHVBkHodMwXLitT+RmELRnbTFI= - dependencies: - type "^2.5.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0, extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.npmmirror.com/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= - dependencies: - 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" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635889863507&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.4.1.tgz?cache=0&sync_timestamp=1635889863507&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha1-jRcsBkhn8jXAyEpZaAbSeb9LzAc= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npmmirror.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= - -fast-glob@^2.0.2: - version "2.2.7" - resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= - dependencies: - "@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" - -fast-glob@^3.2.5, fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npmmirror.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastest-levenshtein@^1.0.12: - version "1.0.12" - resolved "https://registry.npmmirror.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" - integrity sha1-mZD306iMxan/0fF0V0UlFwDUl+I= - -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.npmmirror.com/fastq/download/fastq-1.13.0.tgz?cache=0&sync_timestamp=1631609698424&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw= - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.npmmirror.com/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.4" - resolved "https://registry.npmmirror.com/faye-websocket/download/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo= - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/fb-watchman/download/fb-watchman-2.0.1.tgz?cache=0&sync_timestamp=1624607942135&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffb-watchman%2Fdownload%2Ffb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= - dependencies: - bser "2.1.1" - -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/fbemitter/download/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" - integrity sha1-ALKhr1QRJUqrQWzXX55iib7kv/M= - dependencies: - fbjs "^3.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/fbjs-css-vars/download/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha1-IWVRE2rgL+JVkyw+yHdfGOLAeLg= - -fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.2" - resolved "https://registry.npmmirror.com/fbjs/download/fbjs-3.0.2.tgz#dfae08a85c66a58372993ce2caf30863f569ff94" - integrity sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ== - dependencies: - cross-fetch "^3.0.4" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.30" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.npmmirror.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= - dependencies: - flat-cache "^2.0.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= - dependencies: - flat-cache "^3.0.4" - -file-loader@4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/file-loader/download/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - -file-saver@^2.0.2: - version "2.0.5" - resolved "https://registry.npmmirror.com/file-saver/download/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" - integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= - -filesize@6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/filesize/download/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" - integrity sha1-+FC1CZCcfIb35FDqGQBsMcLtPS8= - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.2.0: - version "3.3.2" - resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks= - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= - dependencies: - locate-path "^3.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE= - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= - -flatted@^3.1.0: - version "3.2.5" - resolved "https://registry.npmmirror.com/flatted/download/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs= - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.npmmirror.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -flux@^4.0.1: - version "4.0.3" - resolved "https://registry.npmmirror.com/flux/download/flux-4.0.3.tgz#573b504a24982c4768fdfb59d8d2ea5637d72ee7" - integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== - dependencies: - fbemitter "^3.0.0" - fbjs "^3.0.1" - -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio= - dependencies: - debug "=3.1.0" - -follow-redirects@^1.0.0: - version "1.14.7" - resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.npmmirror.com/for-each/download/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha1-abRH6IoKXTLD5whPPxcQA0shN24= - dependencies: - is-callable "^1.1.3" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.npmmirror.com/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.3: - version "0.1.5" - resolved "https://registry.npmmirror.com/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -fork-ts-checker-webpack-plugin@3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" - integrity sha1-oWQsDT5l9QwswXQunAqA9EH4axk= - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^3.3.0" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npmmirror.com/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -framer-motion@^2.1.2: - version "2.9.5" - resolved "https://registry.npmmirror.com/framer-motion/download/framer-motion-2.9.5.tgz#bbb185325d531c57f494cf3f6cf7719fc2c225c7" - integrity sha1-u7GFMl1THFf0lM8/bPdxn8LCJcc= - dependencies: - framesync "^4.1.0" - hey-listen "^1.0.8" - popmotion "9.0.0-rc.20" - style-value-types "^3.1.9" - tslib "^1.10.0" - optionalDependencies: - "@emotion/is-prop-valid" "^0.8.2" - -framesync@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/framesync/download/framesync-4.1.0.tgz#69a8db3ca432dc70d6a76ba882684a1497ef068a" - integrity sha1-aajbPKQy3HDWp2uogmhKFJfvBoo= - dependencies: - hey-listen "^1.0.5" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= - dependencies: - minipass "^3.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.npmmirror.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha1-TAofs0vGjlQ7S4Kp7Dkr+9qECAU= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro= - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.npmmirror.com/gensync/download/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= - -get-intrinsic@^1.0.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y= - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= - -get-stdin@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/get-stdin/download/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" - integrity sha1-y61qc/63X27rIrqeAfiaooqpelM= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY= - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npmmirror.com/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npmmirror.com/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - 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" - -global-modules@2.0.0, global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A= - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c= - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.npmmirror.com/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= - dependencies: - type-fest "^0.8.1" - -globby@8.0.2: - version "8.0.2" - resolved "https://registry.npmmirror.com/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^11.0.3: - version "11.1.0" - resolved "https://registry.npmmirror.com/globby/download/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globjoin@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/globjoin/download/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" - integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= - -gonzales-pe@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/gonzales-pe/download/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" - integrity sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M= - dependencies: - minimist "^1.2.5" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: - version "4.2.9" - resolved "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gud@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/gud/download/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" - integrity sha1-pIlYGxfmpwvsqavjrlfeekmYUsA= - -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/hard-rejection/download/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM= - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.npmmirror.com/harmony-reflect/download/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha1-Mey9MuZIo00DDYattn1NR1R/5xA= - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631558652943&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/has-bigints/download/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/has-symbols/download/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU= - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npmmirror.com/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npmmirror.com/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= - -hey-listen@^1.0.5, hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.npmmirror.com/hey-listen/download/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha1-jllWH/ckkI3hqpJO1uzISlapqmg= - -highlight-words-core@^1.2.0: - version "1.2.2" - resolved "https://registry.npmmirror.com/highlight-words-core/download/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" - integrity sha1-Hv9tfZ8KIvFVBCoAeRI3eRse6qo= - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.3.0: - version "3.3.2" - resolved "https://registry.npmmirror.com/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz?cache=0&sync_timestamp=1627566706387&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhoist-non-react-statics%2Fdownload%2Fhoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= - dependencies: - react-is "^16.7.0" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npmmirror.com/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.1: - version "1.4.0" - resolved "https://registry.npmmirror.com/html-entities/download/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha1-z70bAdKvr5rcobEK59/6uYxx0tw= - -html-escaper@^2.0.0, html-escaper@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/html-escaper/download/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= - -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/html-minifier-terser/download/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ= - dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" - he "^1.2.0" - param-case "^3.0.3" - relateurl "^0.2.7" - terser "^4.6.3" - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/html-parse-stringify/download/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha1-38EBc0fOn3fIFBpQfyMwQMWcVdI= - dependencies: - void-elements "3.1.0" - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/html-tags/download/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA= - -html-webpack-plugin@4.0.0-beta.11: - version "4.0.0-beta.11" - resolved "https://registry.npmmirror.com/html-webpack-plugin/download/html-webpack-plugin-4.0.0-beta.11.tgz#3059a69144b5aecef97708196ca32f9e68677715" - integrity sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg== - dependencies: - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -htmlparser2@^3.10.0: - version "3.10.1" - resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640945377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1636640945377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha1-xNditsM3GgXb5l6UrkOp+EX7j7c= - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npmmirror.com/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmmirror.com/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.npmmirror.com/http-parser-js/download/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.npmmirror.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.1" - resolved "https://registry.npmmirror.com/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178703812&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -i18next@^19.5.3: - version "19.9.2" - resolved "https://registry.npmmirror.com/i18next/download/i18next-19.9.2.tgz#ea5a124416e3c5ab85fddca2c8e3c3669a8da397" - integrity sha1-6loSRBbjxauF/dyiyOPDZpqNo5c= - dependencies: - "@babel/runtime" "^7.12.0" - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npmmirror.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= - dependencies: - postcss "^7.0.14" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/identity-obj-proxy/download/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.npmmirror.com/ieee754/download/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.npmmirror.com/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npmmirror.com/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.8, ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -image-size@~0.5.0: - version "0.5.5" - resolved "https://registry.npmmirror.com/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" - integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= - -immer@1.10.0: - version "1.10.0" - resolved "https://registry.npmmirror.com/immer/download/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" - integrity sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0= - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-lazy@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/import-lazy/download/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" - integrity sha1-6OtidIOgpD2jwD8+NVSL5csMwVM= - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.npmmirror.com/ini/download/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= - -inquirer@7.0.4: - version "7.0.4" - resolved "https://registry.npmmirror.com/inquirer/download/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" - integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.3.3" - resolved "https://registry.npmmirror.com/inquirer/download/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - 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" - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw= - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npmmirror.com/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/invert-kv/download/invert-kv-2.0.0.tgz?cache=0&sync_timestamp=1630996775723&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finvert-kv%2Fdownload%2Finvert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.9" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" - integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.npmmirror.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= - dependencies: - kind-of "^6.0.0" - -is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0= - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1636009291782&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha1-frmiQx+FX2se8aeOMm31FWlsTb8= - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.npmmirror.com/is-arguments/download/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps= - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-bigint/download/is-bigint-1.0.4.tgz?cache=0&sync_timestamp=1628747500062&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-bigint%2Fdownload%2Fis-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM= - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk= - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha1-76ouqdqg16suoTqXsritUf776L4= - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE= - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.npmmirror.com/is-callable/download/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU= - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - 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@^2.5.0, is-core-module@^2.8.1: - version "2.8.1" - resolved "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.npmmirror.com/is-date-object/download/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8= - dependencies: - has-tostringtag "^1.0.0" - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-decimal/download/is-decimal-1.0.4.tgz?cache=0&sync_timestamp=1636008960795&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-decimal%2Fdownload%2Fis-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.npmmirror.com/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.npmmirror.com/is-docker/download/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao= - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-generator-fn/download/is-generator-fn-2.1.0.tgz?cache=0&sync_timestamp=1628686122487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-generator-fn%2Fdownload%2Fis-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ= - dependencies: - is-extglob "^2.1.1" - -is-hexadecimal@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha1-zDXJdYjaS9Saju3WvECC1E3LI6c= - -is-negative-zero@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/is-negative-zero/download/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.npmmirror.com/is-number-object/download/is-number-object-1.0.6.tgz?cache=0&sync_timestamp=1628221744591&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-number-object%2Fdownload%2Fis-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA= - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmmirror.com/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686723402&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-obj@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/is-regex/download/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg= - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-regexp@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-regexp/download/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" - integrity sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0= - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= - -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/is-root/download/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= - -is-shared-array-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" - integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-stream/download/is-stream-1.1.0.tgz?cache=0&sync_timestamp=1628592752355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-stream%2Fdownload%2Fis-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/is-string/download/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0= - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/is-symbol/download/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1625294654260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc= - -is-weakref@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-what@^3.14.1: - version "3.14.1" - resolved "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" - integrity sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/is-wsl/download/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE= - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&sync_timestamp=1634527209200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.npmmirror.com/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz?cache=0&sync_timestamp=1634004113980&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-source-maps%2Fdownload%2Fistanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.npmmirror.com/istanbul-reports/download/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= - dependencies: - html-escaper "^2.0.0" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-changed-files/download/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-cli/download/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-config/download/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@*: - version "27.4.6" - resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" - integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.6" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-each/download/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom-fourteen@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/jest-environment-jsdom-fourteen/download/jest-environment-jsdom-fourteen-1.0.1.tgz#4cd0042f58b4ab666950d96532ecb2fc188f96fb" - integrity sha1-TNAEL1i0q2ZpUNllMuyy/BiPlvs= - dependencies: - "@jest/environment" "^24.3.0" - "@jest/fake-timers" "^24.3.0" - "@jest/types" "^24.3.0" - jest-mock "^24.0.0" - jest-util "^24.0.0" - jsdom "^14.1.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-environment-node/download/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= - -jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-message-util/download/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.0.0, jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.2" - resolved "https://registry.npmmirror.com/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@24.9.0, jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-runner/download/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-runtime/download/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-snapshot/download/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.0.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-validate/download/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watch-typeahead@0.4.2: - version "0.4.2" - resolved "https://registry.npmmirror.com/jest-watch-typeahead/download/jest-watch-typeahead-0.4.2.tgz#e5be959698a7fa2302229a5082c488c3c8780a4a" - integrity sha1-5b6Vlpin+iMCIppQgsSIw8h4Cko= - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.1" - jest-regex-util "^24.9.0" - jest-watcher "^24.3.0" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^5.0.0" - -jest-watcher@^24.3.0, jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-watcher/download/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest-worker/download/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^25.1.0: - version "25.5.0" - resolved "https://registry.npmmirror.com/jest-worker/download/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha1-JhHQcbec6g9D7lej0RhZOsFUfbE= - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/jest/download/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.npmmirror.com/js-yaml/download/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.npmmirror.com/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^14.1.0: - version "14.1.0" - resolved "https://registry.npmmirror.com/jsdom/download/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" - integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== - dependencies: - abab "^2.0.0" - acorn "^6.0.4" - acorn-globals "^4.3.0" - array-equal "^1.0.0" - cssom "^0.3.4" - cssstyle "^1.1.1" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.0" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.1.3" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.5" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^2.5.0" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^6.1.2" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmmirror.com/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.npmmirror.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.npmmirror.com/json-schema/download/json-schema-0.4.0.tgz?cache=0&sync_timestamp=1636423476647&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/json2mq/download/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= - dependencies: - string-convert "^0.2.0" - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= - -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.npmmirror.com/json5/download/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.npmmirror.com/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.npmmirror.com/jsprim/download/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: - version "2.4.1" - resolved "https://registry.npmmirror.com/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" - integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= - dependencies: - array-includes "^3.1.1" - object.assign "^4.1.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/kind-of/download/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npmmirror.com/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.npmmirror.com/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= - -known-css-properties@^0.21.0: - version "0.21.0" - resolved "https://registry.npmmirror.com/known-css-properties/download/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d" - integrity sha1-FfvQu7g0R/POCdivJH7UfGjt6A0= - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.npmmirror.com/lazy-cache/download/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= - -less-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" - integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== - dependencies: - clone "^2.1.1" - loader-utils "^1.1.0" - pify "^4.0.1" - -less@^3.11.3: - version "3.13.1" - resolved "https://registry.npmmirror.com/less/download/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" - integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== - dependencies: - copy-anything "^2.0.1" - tslib "^1.10.0" - optionalDependencies: - errno "^0.1.1" - graceful-fs "^4.1.2" - image-size "~0.5.0" - make-dir "^2.1.0" - mime "^1.4.1" - native-request "^1.0.5" - source-map "~0.6.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= - dependencies: - leven "^3.1.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-2.0.0.tgz?cache=0&sync_timestamp=1631508607226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fload-json-file%2Fdownload%2Fload-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-4.0.0.tgz?cache=0&sync_timestamp=1631508607226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fload-json-file%2Fdownload%2Fload-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" - integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= - dependencies: - find-cache-dir "^0.1.1" - mkdirp "^0.5.1" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.npmmirror.com/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= - -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= - dependencies: - p-locate "^4.1.0" - -lodash-es@^4.17.15: - version "4.17.21" - resolved "https://registry.npmmirror.com/lodash-es/download/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.curry@^4.0.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/lodash.curry/download/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.npmmirror.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.flow@^3.3.0, lodash.flow@^3.5.0: - version "3.5.0" - resolved "https://registry.npmmirror.com/lodash.flow/download/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" - integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmmirror.com/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.template@^4.4.0: - version "4.5.0" - resolved "https://registry.npmmirror.com/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.npmmirror.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmmirror.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.npmmirror.com/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/log-symbols/download/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha1-P727lbRoOsn8eFER55LlWNSr1QM= - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -loglevel@^1.6.6: - version "1.8.0" - resolved "https://registry.npmmirror.com/loglevel/download/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" - integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== - -longest-streak@^2.0.0: - version "2.0.4" - resolved "https://registry.npmmirror.com/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1636446222992&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ= - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/loose-envify/download/loose-envify-1.4.0.tgz?cache=0&sync_timestamp=1627566748051&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floose-envify%2Fdownload%2Floose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1624607698082&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha1-b6I3xj29xKgsoP2ILkci3F5jTig= - dependencies: - tslib "^2.0.3" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= - dependencies: - yallist "^4.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.npmmirror.com/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.npmmirror.com/makeerror/download/makeerror-1.0.12.tgz?cache=0&sync_timestamp=1635238315869&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmakeerror%2Fdownload%2Fmakeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha1-Pl3SB5qC6BLpg8xmEMSiyw6qgBo= - dependencies: - tmpl "1.0.5" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.npmmirror.com/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.npmmirror.com/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npmmirror.com/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/map-obj/download/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha1-kwT5Buk/qucIgNoQKp8d8OqLsFo= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -mathml-tag-names@^2.1.3: - version "2.1.3" - resolved "https://registry.npmmirror.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" - integrity sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM= - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npmmirror.com/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdast-util-from-markdown@^0.8.0: - version "0.8.5" - resolved "https://registry.npmmirror.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" - integrity sha1-0e8spCvDd+ywRjqYeRDa6JvZoow= - dependencies: - "@types/mdast" "^3.0.0" - mdast-util-to-string "^2.0.0" - micromark "~2.11.0" - parse-entities "^2.0.0" - unist-util-stringify-position "^2.0.0" - -mdast-util-to-markdown@^0.6.0: - version "0.6.5" - resolved "https://registry.npmmirror.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" - integrity sha1-sz9nyoINaebMUnqT1AOSSbUEvr4= - dependencies: - "@types/unist" "^2.0.0" - longest-streak "^2.0.0" - mdast-util-to-string "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.0.0" - zwitch "^1.0.0" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs= - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.npmmirror.com/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/memoize-one/download/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha1-ojh8WMA//yfKOQwxt2Snmt3z+QY= - -memoize-one@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/memoize-one/download/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" - integrity sha1-slkbhx7YKUiu5HJ9xqvO7qyMEEU= - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.npmmirror.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1637477490247&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q= - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-deep@^3.0.2: - version "3.0.3" - resolved "https://registry.npmmirror.com/merge-deep/download/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" - integrity sha1-Gisq6SbaiyrpOgrBXZDNGSJ2YAM= - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmmirror.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/microevent.ts/download/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A= - -micromark@~2.11.0: - version "2.11.4" - resolved "https://registry.npmmirror.com/micromark/download/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" - integrity sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo= - dependencies: - debug "^4.0.0" - parse-entities "^2.0.0" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.npmmirror.com/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= - dependencies: - 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" - -micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.npmmirror.com/micromatch/download/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k= - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": - version "1.51.0" - resolved "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz?cache=0&sync_timestamp=1636426033377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-db%2Fdownload%2Fmime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" - integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19: - version "2.1.34" - resolved "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" - integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== - dependencies: - mime-db "1.51.0" - -mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0, mime@^1.4.1: - version "1.6.0" - resolved "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= - -mime@^2.4.4: - version "2.6.0" - resolved "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha1-oqaCqVzU0MsdYlfij4PafjWAA2c= - -mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/min-indent/download/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk= - -mini-css-extract-plugin@0.9.0: - version "0.9.0" - resolved "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54= - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/minimist-options/download/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk= - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.4" - resolved "https://registry.npmmirror.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw= - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.6" - resolved "https://registry.npmmirror.com/minipass/download/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" - integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== - dependencies: - yallist "^4.0.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= - dependencies: - 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@^1.2.0: - version "1.3.2" - resolved "https://registry.npmmirror.com/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/mixin-object/download/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= - dependencies: - minimist "^1.2.5" - -mobx-react-lite@^2.2.0: - version "2.2.2" - resolved "https://registry.npmmirror.com/mobx-react-lite/download/mobx-react-lite-2.2.2.tgz#87c217dc72b4e47b22493daf155daf3759f868a6" - integrity sha1-h8IX3HK05HsiST2vFV2vN1n4aKY= - -mobx-react@^6.2.2: - version "6.3.1" - resolved "https://registry.npmmirror.com/mobx-react/download/mobx-react-6.3.1.tgz#204f9756e42e19d91cb6598837063b7e7de87c52" - integrity sha1-IE+XVuQuGdkctlmINwY7fn3ofFI= - dependencies: - mobx-react-lite "^2.2.0" - -mobx@^5.13.0: - version "5.15.7" - resolved "https://registry.npmmirror.com/mobx/download/mobx-5.15.7.tgz#b9a5f2b6251f5d96980d13c78e9b5d8d4ce22665" - integrity sha1-uaXytiUfXZaYDRPHjptdjUziJmU= - -moment@^2.24.0, moment@^2.25.3: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - 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@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1633354996608&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npmmirror.com/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= - -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.npmmirror.com/nan/download/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4= - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npmmirror.com/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= - dependencies: - 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" - -native-request@^1.0.5: - version "1.1.0" - resolved "https://registry.npmmirror.com/native-request/download/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" - integrity sha1-rNsw/i7vo+G8jFSzpoUunFwNPLA= - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.npmmirror.com/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= - -next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npmmirror.com/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/no-case/download/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0= - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.npmmirror.com/node-forge/download/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npmmirror.com/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= - dependencies: - 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" - -node-notifier@^5.4.2: - version "5.4.5" - resolved "https://registry.npmmirror.com/node-notifier/download/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" - integrity sha1-DLwaKw9lhJO0Ald1oTrZOOlgke8= - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-releases@^1.1.52: - version "1.1.77" - resolved "https://registry.npmmirror.com/node-releases/download/node-releases-1.1.77.tgz?cache=0&sync_timestamp=1634807933091&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" - integrity sha1-ULDP7ehV3TdOdYW/Io/zTlfBwy4= - -node-releases@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634807933091&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" - integrity sha1-PR05XyBPHy8ppUNYuftnh2WtL8U= - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha1-28w+LaWVCaCYNCKITNFy7v36Ul4= - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-selector@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/normalize-selector/download/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" - integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1633420566316&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/nth-check/download/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I= - dependencies: - boolbase "^1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.npmmirror.com/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7, nwsapi@^2.1.3: - version "2.2.0" - resolved "https://registry.npmmirror.com/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npmmirror.com/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npmmirror.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/object-hash/download/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha1-WtUYWB7vxEO9djRyuP8unCwNVKU= - -object-inspect@^1.11.0: - version "1.12.0" - resolved "https://registry.npmmirror.com/object-inspect/download/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.npmmirror.com/object-is/download/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha1-ud7qpfx/GEag+uzc7sE45XePU6w= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= - -object-path@0.11.4: - version "0.11.4" - resolved "https://registry.npmmirror.com/object-path/download/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/object.assign/download/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.entries@^1.1.0, object.entries@^1.1.1: - version "1.1.5" - resolved "https://registry.npmmirror.com/object.entries/download/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha1-4azdF8TeLNltWghIfPuduE2IGGE= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.fromentries@^2.0.2: - version "2.0.5" - resolved "https://registry.npmmirror.com/object.fromentries/download/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha1-ezeyBRCcIedB5gVyf+iwrV+gglE= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: - version "2.1.3" - resolved "https://registry.npmmirror.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" - integrity sha1-siPPOOF/77l6Y8EMkd9yzLOG354= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0, object.values@^1.1.1: - version "1.1.5" - resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz?cache=0&sync_timestamp=1633327208193&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.values%2Fdownload%2Fobject.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npmmirror.com/onetime/download/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= - dependencies: - mimic-fn "^2.1.0" - -open@^7.0.2: - version "7.4.2" - resolved "https://registry.npmmirror.com/open/download/open-7.4.2.tgz?cache=0&sync_timestamp=1635049636729&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fopen%2Fdownload%2Fopen-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE= - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= - dependencies: - is-wsl "^1.1.0" - -optimize-css-assets-webpack-plugin@5.0.3: - version "5.0.3" - resolved "https://registry.npmmirror.com/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" - integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.npmmirror.com/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= - dependencies: - 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" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2: - version "2.3.0" - resolved "https://registry.npmmirror.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= - dependencies: - p-limit "^2.2.0" - -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= - dependencies: - aggregate-error "^3.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= - dependencies: - retry "^0.12.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.npmmirror.com/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1627560187062&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpako%2Fdownload%2Fpako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: - version "3.0.4" - resolved "https://registry.npmmirror.com/param-case/download/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU= - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633337488003&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.6: - version "5.1.6" - resolved "https://registry.npmmirror.com/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= - dependencies: - 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-entities@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/parse-entities/download/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha1-U8brW5MUofTsmfoP33zgHs2gy+g= - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/parse5/download/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.npmmirror.com/pascal-case/download/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs= - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.npmmirror.com/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npmmirror.com/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmmirror.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.npmmirror.com/pbkdf2/download/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU= - dependencies: - 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@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8= - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw= - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: - version "2.3.1" - resolved "https://registry.npmmirror.com/picomatch/download/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npmmirror.com/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.5" - resolved "https://registry.npmmirror.com/pirates/download/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= - dependencies: - find-up "^4.0.0" - -pkg-up@3.1.0, pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/pkg-up/download/pkg-up-3.1.0.tgz?cache=0&sync_timestamp=1636035118070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-up%2Fdownload%2Fpkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU= - dependencies: - find-up "^3.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= - -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.npmmirror.com/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk= - dependencies: - ts-pnp "^1.1.6" - -popmotion@9.0.0-rc.20: - version "9.0.0-rc.20" - resolved "https://registry.npmmirror.com/popmotion/download/popmotion-9.0.0-rc.20.tgz#f3550042ae31957b5416793ae8723200951ad39d" - integrity sha1-81UAQq4xlXtUFnk66HIyAJUa050= - dependencies: - framesync "^4.1.0" - hey-listen "^1.0.8" - style-value-types "^3.1.9" - tslib "^1.10.0" - -popper.js@^1.14.4: - version "1.16.1" - resolved "https://registry.npmmirror.com/popper.js/download/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" - integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== - -portfinder@^1.0.25: - version "1.0.28" - resolved "https://registry.npmmirror.com/portfinder/download/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-browser-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-browser-comments/download/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" - integrity sha1-EkjS2TX7cgU8jh9hqEpXKS2fZek= - dependencies: - postcss "^7" - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.npmmirror.com/postcss-calc/download/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4= - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.npmmirror.com/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g= - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.npmmirror.com/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha1-//0T/+/61zYhvl84cHaiiwApTgw= - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.npmmirror.com/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.npmmirror.com/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha1-bjpBd9Dts6vMhf22+7HCbauuq6I= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4= - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/postcss-env-function/download/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha1-Dz49PFfwlKksK69LYkHwsNpTZdc= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.1.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha1-4JSp3xeD4iALexn4ddytOzr/iyA= - dependencies: - postcss "^7.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha1-R30QcROt5gJLFBKDF63ivR4XBG4= - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha1-djuHiFls7puHTJmSAc3egGWe9oA= - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE= - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU= - dependencies: - postcss "^7.0.2" - -postcss-html@^0.36.0: - version "0.36.0" - resolved "https://registry.npmmirror.com/postcss-html/download/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" - integrity sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ= - dependencies: - htmlparser2 "^3.10.0" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha1-KJIKLymUW+1MMZjX32SW1BDT8og= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.4" - resolved "https://registry.npmmirror.com/postcss-initial/download/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" - integrity sha1-nTIGmhBTH+Lsr6C2rHUO4Lx+/FM= - dependencies: - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha1-u1GmhWzRIomrSuINseOCHvE9fS4= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-less@^3.1.4: - version "3.1.4" - resolved "https://registry.npmmirror.com/postcss-less/download/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" - integrity sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0= - dependencies: - postcss "^7.0.14" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.npmmirror.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-logical/download/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha1-JJXQ+LgunyYnJfdflAGzTntF1bU= - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU= - dependencies: - postcss "^7.0.2" - -postcss-media-query-parser@^0.2.3: - version "0.2.3" - resolved "https://registry.npmmirror.com/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" - integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= - dependencies: - 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" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= - dependencies: - 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" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.3" - resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A= - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^2.1.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.npmmirror.com/postcss-nesting/download/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI= - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize@8.0.1: - version "8.0.1" - resolved "https://registry.npmmirror.com/postcss-normalize/download/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" - integrity sha1-kOgKd2PX/fLaby8Pgr6DLOT2Z3Y= - dependencies: - "@csstools/normalize.css" "^10.1.0" - browserslist "^4.6.2" - postcss "^7.0.17" - postcss-browser-comments "^3.0.0" - sanitize.css "^10.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.npmmirror.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha1-MezzUOnG9t3CUKePDD4RHzLdTDA= - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/postcss-page-break/download/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8= - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-place/download/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.npmmirror.com/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha1-w03az4+QI4OzWtHgMPF49M3xGKU= - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha1-LtPu05OzcCh53sSocDKyENrrBNE= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw= - dependencies: - postcss "^7.0.2" - -postcss-resolve-nested-selector@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" - integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= - -postcss-safe-parser@4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-safe-parser/download/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" - integrity sha1-h1bZ5MNv3OLHKwkbvIyhdqsfzeo= - dependencies: - postcss "^7.0.0" - -postcss-safe-parser@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" - integrity sha1-ptTkjw832ffBGypYG/APi6SHC5Y= - dependencies: - postcss "^7.0.26" - -postcss-sass@^0.4.4: - version "0.4.4" - resolved "https://registry.npmmirror.com/postcss-sass/download/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3" - integrity sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM= - dependencies: - gonzales-pe "^4.3.0" - postcss "^7.0.21" - -postcss-scss@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/postcss-scss/download/postcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" - integrity sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M= - dependencies: - postcss "^7.0.6" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8= - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-selector-not/download/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha1-JjAW7vHPIZ4K3pqRN4D8H0ggTL8= - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.5: - version "6.0.9" - resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" - integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" - integrity sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-syntax@^0.36.2: - version "0.36.2" - resolved "https://registry.npmmirror.com/postcss-syntax/download/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" - integrity sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw= - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0: - version "3.3.1" - resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.2.0" - resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha1-2otHLZAdoeIFtHvcmGN7np5VDl8= - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.npmmirror.com/postcss/download/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prettier@^2.0.5: - version "2.5.1" - resolved "https://registry.npmmirror.com/prettier/download/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" - integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== - -pretty-bytes@^5.1.0: - version "5.6.0" - resolved "https://registry.npmmirror.com/pretty-bytes/download/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha1-NWJW9kOAR3PIL2RyP+eMksYr6us= - -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.npmmirror.com/pretty-error/download/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y= - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -pretty-format@^27.4.6: - version "27.4.6" - resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" - integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmmirror.com/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.npmmirror.com/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= - dependencies: - asap "~2.0.3" - -promise@^8.0.3: - version "8.1.0" - resolved "https://registry.npmmirror.com/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" - integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= - dependencies: - asap "~2.0.6" - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.npmmirror.com/prompts/download/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha1-e1fnOzpIAprRDr1E90sBcipMsGk= - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.npmmirror.com/prop-types/download/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npmmirror.com/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= - dependencies: - 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" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/pump/download/pump-2.0.1.tgz?cache=0&sync_timestamp=1624607960506&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpump%2Fdownload%2Fpump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/pump/download/pump-3.0.0.tgz?cache=0&sync_timestamp=1624607960506&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpump%2Fdownload%2Fpump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.npmmirror.com/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npmmirror.com/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.npmmirror.com/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= - -pure-color@^1.2.0: - version "1.3.0" - resolved "https://registry.npmmirror.com/pure-color/download/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" - integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npmmirror.com/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.npmmirror.com/qs/download/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.npmmirror.com/query-string/download/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.npmmirror.com/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmmirror.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmmirror.com/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1637478663596&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha1-W4h48ROlgheEjGSCAmxz4bpXcn8= - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.npmmirror.com/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= - dependencies: - performance-now "^2.1.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npmmirror.com/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-align@^4.0.0: - version "4.0.11" - resolved "https://registry.npmmirror.com/rc-align/download/rc-align-4.0.11.tgz?cache=0&sync_timestamp=1628678366435&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-align%2Fdownload%2Frc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e" - integrity sha1-gZjGLbJmvBuO8F5WwTJ1v3Jiil4= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - lodash "^4.17.21" - rc-util "^5.3.0" - resize-observer-polyfill "^1.5.1" - -rc-cascader@~3.2.1: - version "3.2.1" - resolved "https://registry.npmmirror.com/rc-cascader/download/rc-cascader-3.2.1.tgz#fc928d67d96c3d9f358263e4a9127bcf4257cc6b" - integrity sha512-Raxam9tFzBL4TCgHoyVcf7+Q2KSFneUk3FZXi9w1tfxEihLlezSH0oCNMjHJN8hxWwwx9ZbI9UzWTfFImjXc0Q== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.0.0-alpha.23" - rc-tree "~5.4.3" - rc-util "^5.6.1" - -rc-checkbox@~2.3.0: - version "2.3.2" - resolved "https://registry.npmmirror.com/rc-checkbox/download/rc-checkbox-2.3.2.tgz#f91b3678c7edb2baa8121c9483c664fa6f0aefc1" - integrity sha1-+Rs2eMftsrqoEhyUg8Zk+m8K78E= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - -rc-collapse@~3.1.0: - version "3.1.2" - resolved "https://registry.npmmirror.com/rc-collapse/download/rc-collapse-3.1.2.tgz#76028a811b845d03d9460ccc409c7ea8ad09db14" - integrity sha1-dgKKgRuEXQPZRgzMQJx+qK0J2xQ= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.2.1" - shallowequal "^1.1.0" - -rc-dialog@~8.6.0: - version "8.6.0" - resolved "https://registry.npmmirror.com/rc-dialog/download/rc-dialog-8.6.0.tgz?cache=0&sync_timestamp=1627272166293&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-dialog%2Fdownload%2Frc-dialog-8.6.0.tgz#3b228dac085de5eed8c6237f31162104687442e7" - integrity sha1-OyKNrAhd5e7YxiN/MRYhBGh0Quc= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.6.1" - -rc-drawer@~4.4.2: - version "4.4.3" - resolved "https://registry.npmmirror.com/rc-drawer/download/rc-drawer-4.4.3.tgz?cache=0&sync_timestamp=1637134392366&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frc-drawer%2Fdownload%2Frc-drawer-4.4.3.tgz#2094937a844e55dc9644236a2d9fba79c344e321" - integrity sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.7.0" - -rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: - version "3.2.2" - resolved "https://registry.npmmirror.com/rc-dropdown/download/rc-dropdown-3.2.2.tgz#0fee9a66f100d686ddaa8d09717d090f72e1ce29" - integrity sha512-oA9VYYg+jQaPRdFoYFfBn5EAQk2NlL6H0vR2v6JG/8i4HEfUq8p1TTt6HyQ/dGxLe8lpnK+nM7WCjgZT/cpSRQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-trigger "^5.0.4" - -rc-field-form@~1.22.0-2: - version "1.22.1" - resolved "https://registry.npmmirror.com/rc-field-form/download/rc-field-form-1.22.1.tgz#0bd2f4e730ff2f071529d00bef28e062362890f5" - integrity sha512-LweU7nBeqmC5r3HDUjRprcOXXobHXp/TGIxD7ppBq5FX6Iptt3ibdpRVg4RSyNulBNGHOuknHlRcguuIpvVMVg== - dependencies: - "@babel/runtime" "^7.8.4" - async-validator "^4.0.2" - rc-util "^5.8.0" - -rc-image@~5.2.5: - version "5.2.5" - resolved "https://registry.npmmirror.com/rc-image/download/rc-image-5.2.5.tgz#44e6ffc842626827960e7ab72e1c0d6f3a8ce440" - integrity sha1-ROb/yEJiaCeWDnq3LhwNbzqM5EA= - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-dialog "~8.6.0" - rc-util "^5.0.6" - -rc-input-number@~7.3.0: - version "7.3.4" - resolved "https://registry.npmmirror.com/rc-input-number/download/rc-input-number-7.3.4.tgz#674aea98260250287d36e330a7e065b174486e9d" - integrity sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.9.8" - -rc-mentions@~1.6.1: - version "1.6.1" - resolved "https://registry.npmmirror.com/rc-mentions/download/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae" - integrity sha1-RgNQJ9ZKoz74QLoPvUEYceNGF64= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-menu "^9.0.0" - rc-textarea "^0.3.0" - rc-trigger "^5.0.4" - rc-util "^5.0.1" - -rc-menu@^9.0.0: - version "9.3.1" - resolved "https://registry.npmmirror.com/rc-menu/download/rc-menu-9.3.1.tgz#a0e502938d2b7467ea8d343ae00c4af6019ba412" - integrity sha512-D9ZHlwtTpch0v15LXt7PRbAl+FCxXNEllly9fl1GhLzz52iTL2NVqzofecV5Yv3ekLUOojg+gkykv4elLNBKWg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.2.0" - rc-trigger "^5.1.2" - rc-util "^5.12.0" - shallowequal "^1.1.0" - -rc-menu@~9.2.1: - version "9.2.1" - resolved "https://registry.npmmirror.com/rc-menu/download/rc-menu-9.2.1.tgz#6fbe47f4846363bb81a5a21f0960026c3ada497a" - integrity sha512-UbEtn3rflJ8zS+etYGTVQuzy7Fm+yWXR5c0Rl6ecNTS/dPknRyWAyhJcbeR0Hu1+RdQT+0VCqrUPrgKnm4iY+w== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.2.0" - rc-trigger "^5.1.2" - rc-util "^5.12.0" - shallowequal "^1.1.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4: - version "2.4.4" - resolved "https://registry.npmmirror.com/rc-motion/download/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" - integrity sha1-6ZXV+iT8kwZcJPcUhXzyZ31lW7A= - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.2.1" - -rc-notification@~4.5.7: - version "4.5.7" - resolved "https://registry.npmmirror.com/rc-notification/download/rc-notification-4.5.7.tgz#265e6e6a0c1a0fac63d6abd4d832eb8ff31522f1" - integrity sha1-Jl5uagwaD6xj1qvU2DLrj/MVIvE= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.2.0" - rc-util "^5.0.1" - -rc-overflow@^1.0.0, rc-overflow@^1.2.0: - version "1.2.2" - resolved "https://registry.npmmirror.com/rc-overflow/download/rc-overflow-1.2.2.tgz#95b0222016c0cdbdc0db85f569c262e7706a5f22" - integrity sha1-lbAiIBbAzb3A24X1acJi53BqXyI= - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.5.1" - -rc-pagination@~3.1.9: - version "3.1.15" - resolved "https://registry.npmmirror.com/rc-pagination/download/rc-pagination-3.1.15.tgz#e05eddf4c15717a5858290bed0857e27e2f957ff" - integrity sha512-4L3fot8g4E+PjWEgoVGX0noFCg+8ZFZmeLH4vsnZpB3O2T2zThtakjNxG+YvSaYtyMVT4B+GLayjKrKbXQpdAg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - -rc-picker@~2.5.17: - version "2.5.19" - resolved "https://registry.npmmirror.com/rc-picker/download/rc-picker-2.5.19.tgz#73d07546fac3992f0bfabf2789654acada39e46f" - integrity sha1-c9B1RvrDmS8L+r8niWVKyto55G8= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - date-fns "2.x" - dayjs "1.x" - moment "^2.24.0" - rc-trigger "^5.0.4" - rc-util "^5.4.0" - shallowequal "^1.1.0" - -rc-progress@~3.2.1: - version "3.2.4" - resolved "https://registry.npmmirror.com/rc-progress/download/rc-progress-3.2.4.tgz#4036acdae2566438545bc4df2203248babaf7549" - integrity sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.16.1" - -rc-rate@~2.9.0: - version "2.9.1" - resolved "https://registry.npmmirror.com/rc-rate/download/rc-rate-2.9.1.tgz#e43cb95c4eb90a2c1e0b16ec6614d8c43530a731" - integrity sha1-5Dy5XE65CiweCxbsZhTYxDUwpzE= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/rc-resize-observer/download/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" - integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.15.0" - resize-observer-polyfill "^1.5.1" - -rc-select@~14.0.0-alpha.15, rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8: - version "14.0.0-alpha.25" - resolved "https://registry.npmmirror.com/rc-select/download/rc-select-14.0.0-alpha.25.tgz#9e6ca83b090e020a730fdfdab07c1050549426e4" - integrity sha512-U9AMzXsOCCdtn96YIZdUrYbxk+5u6uWUCaYH2129X3FTjQITqAjEPYHfPcxU/G7+lwiD0pIaU95W0NMkg+26qw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.0.0" - rc-trigger "^5.0.4" - rc-util "^5.16.1" - rc-virtual-list "^3.2.0" - -rc-slider@~9.7.4: - version "9.7.5" - resolved "https://registry.npmmirror.com/rc-slider/download/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4" - integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-tooltip "^5.0.1" - rc-util "^5.16.1" - shallowequal "^1.1.0" - -rc-steps@~4.1.0: - version "4.1.4" - resolved "https://registry.npmmirror.com/rc-steps/download/rc-steps-4.1.4.tgz#0ba82db202d59ca52d0693dc9880dd145b19dc23" - integrity sha1-C6gtsgLVnKUtBpPcmIDdFFsZ3CM= - dependencies: - "@babel/runtime" "^7.10.2" - classnames "^2.2.3" - rc-util "^5.0.1" - -rc-switch@~3.2.0: - version "3.2.2" - resolved "https://registry.npmmirror.com/rc-switch/download/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8" - integrity sha1-0AH3fxJmTVJZW09vtCXdnmb7qOg= - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.0.1" - -rc-table@~7.22.2: - version "7.22.2" - resolved "https://registry.npmmirror.com/rc-table/download/rc-table-7.22.2.tgz#218f3f53bc91660560a344c8290a91a841a60b0a" - integrity sha512-Ng2gNkGi6ybl6dzneRn2H4Gp8XhIbRa5rXQ7ZhZcgWVmfVMok70UHGPXcf68tXW6O0/qckTf/eOVsoviSvK4sw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-resize-observer "^1.1.0" - rc-util "^5.14.0" - shallowequal "^1.1.0" - -rc-tabs@~11.10.0: - version "11.10.5" - resolved "https://registry.npmmirror.com/rc-tabs/download/rc-tabs-11.10.5.tgz#53bbb642d04b307f8ce86e318ab99d519507b29b" - integrity sha512-DDuUdV6b9zGRYLtjI5hyejWLKoz1QiLWNgMeBzc3aMeQylZFhTYnFGdDc6HRqj5IYearNTsFPVSA+6VIT8g5cg== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "^3.2.0" - rc-menu "^9.0.0" - rc-resize-observer "^1.0.0" - rc-util "^5.5.0" - -rc-textarea@^0.3.0, rc-textarea@~0.3.0: - version "0.3.7" - resolved "https://registry.npmmirror.com/rc-textarea/download/rc-textarea-0.3.7.tgz#987142891efdedb774883c07e2f51b318fde5a11" - integrity sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.7.0" - shallowequal "^1.1.0" - -rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: - version "5.1.1" - resolved "https://registry.npmmirror.com/rc-tooltip/download/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" - integrity sha1-lBeO0WLQJSvEmTtyX13CrA/M8VQ= - dependencies: - "@babel/runtime" "^7.11.2" - rc-trigger "^5.0.0" - -rc-tree-select@~5.1.1: - version "5.1.2" - resolved "https://registry.npmmirror.com/rc-tree-select/download/rc-tree-select-5.1.2.tgz#0dfe12f01b9b0dc9ce658b96501692d4421b8366" - integrity sha512-sTulyQZB1SgF2HzAR49i4vjMNvV/tfPxCTc+qNuWOwaAtSm2bwGH6/wfi3k3Dw2/5PPOGpRRpgCMltoP9aG0+w== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "~14.0.0-alpha.8" - rc-tree "~5.4.3" - rc-util "^5.16.1" - -rc-tree@~5.4.3: - version "5.4.3" - resolved "https://registry.npmmirror.com/rc-tree/download/rc-tree-5.4.3.tgz#8674644964e17e5ab9b111c5aa18676f673e7bd0" - integrity sha512-WAHV8FkBerulj9J/+61+Qn0TD/Zo37PrDG8/45WomzGTYavxFMur9YguKjQj/J+NxjVJzrJL3lvdSZsumfdbiA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.4.1" - -rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10: - version "5.2.10" - resolved "https://registry.npmmirror.com/rc-trigger/download/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1" - integrity sha1-igBXqUCxuQJ+qjO+7IpuzYXM4rE= - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-util "^5.5.0" - -rc-upload@~4.3.0: - version "4.3.3" - resolved "https://registry.npmmirror.com/rc-upload/download/rc-upload-4.3.3.tgz#e237aa525e5313fa16f4d04d27f53c2f0e157bb8" - integrity sha512-YoJ0phCRenMj1nzwalXzciKZ9/FAaCrFu84dS5pphwucTC8GUWClcDID/WWNGsLFcM97NqIboDqrV82rVRhW/w== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: - version "5.17.0" - resolved "https://registry.npmmirror.com/rc-util/download/rc-util-5.17.0.tgz#6b0788038075c3d5c215541539573a4a03827070" - integrity sha512-HWuTIKzBeZQQ7IBqdokE0wMp/xx39/KfUJ0gcquBigoldDCrf3YBcWFHrrQlJG7sI82Wg8mwp1uAKV3zMGfAgg== - dependencies: - "@babel/runtime" "^7.12.5" - react-is "^16.12.0" - shallowequal "^1.1.0" - -rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.1: - version "3.4.2" - resolved "https://registry.npmmirror.com/rc-virtual-list/download/rc-virtual-list-3.4.2.tgz#1078327aa7230b5e456d679ed2ce99f3c036ebd1" - integrity sha1-EHgyeqcjC15FbWee0s6Z88A269E= - dependencies: - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.0.7" - -react-app-polyfill@^1.0.6: - version "1.0.6" - resolved "https://registry.npmmirror.com/react-app-polyfill/download/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" - integrity sha1-iQ+NfyhCzmBz8DCxF96RMKXzhfA= - dependencies: - core-js "^3.5.0" - object-assign "^4.1.1" - promise "^8.0.3" - raf "^3.4.1" - regenerator-runtime "^0.13.3" - whatwg-fetch "^3.0.0" - -react-app-rewired@^2.1.6: - version "2.1.11" - resolved "https://registry.npmmirror.com/react-app-rewired/download/react-app-rewired-2.1.11.tgz#ad5781e3ef5e506be935898bb7642f7f9d50b61a" - integrity sha512-zRIqJUPsCoPnfYtea3xgPbKR42vx0NoH5oo8R8FELXqzkjJHa39V6zD8CAdkLJoYL8V3JScWHAfKMZOzi1Ydmw== - dependencies: - semver "^5.6.0" - -react-base16-styling@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/react-base16-styling/download/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" - integrity sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw= - dependencies: - base16 "^1.0.0" - lodash.curry "^4.0.1" - lodash.flow "^3.3.0" - pure-color "^1.2.0" - -react-dev-utils@^10.2.1: - version "10.2.1" - resolved "https://registry.npmmirror.com/react-dev-utils/download/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" - integrity sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ== - dependencies: - "@babel/code-frame" "7.8.3" - address "1.1.2" - browserslist "4.10.0" - chalk "2.4.2" - cross-spawn "7.0.1" - detect-port-alt "1.1.6" - escape-string-regexp "2.0.0" - filesize "6.0.1" - find-up "4.1.0" - fork-ts-checker-webpack-plugin "3.1.1" - global-modules "2.0.0" - globby "8.0.2" - gzip-size "5.1.1" - immer "1.10.0" - inquirer "7.0.4" - is-root "2.1.0" - loader-utils "1.2.3" - open "^7.0.2" - pkg-up "3.1.0" - react-error-overlay "^6.0.7" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - strip-ansi "6.0.0" - text-table "0.2.0" - -react-dnd-html5-backend@^11.1.3: - version "11.1.3" - resolved "https://registry.npmmirror.com/react-dnd-html5-backend/download/react-dnd-html5-backend-11.1.3.tgz#2749f04f416ec230ea193f5c1fbea2de7dffb8f7" - integrity sha1-J0nwT0FuwjDqGT9cH76i3n3/uPc= - dependencies: - dnd-core "^11.1.3" - -react-dnd@^11.1.3: - version "11.1.3" - resolved "https://registry.npmmirror.com/react-dnd/download/react-dnd-11.1.3.tgz#f9844f5699ccc55dfc81462c2c19f726e670c1af" - integrity sha1-+YRPVpnMxV38gUYsLBn3JuZwwa8= - dependencies: - "@react-dnd/shallowequal" "^2.0.0" - "@types/hoist-non-react-statics" "^3.3.1" - dnd-core "^11.1.3" - hoist-non-react-statics "^3.3.0" - -react-dom@^16.13.1: - version "16.14.0" - resolved "https://registry.npmmirror.com/react-dom/download/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" - integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - -react-error-overlay@^6.0.7: - version "6.0.10" - resolved "https://registry.npmmirror.com/react-error-overlay/download/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6" - integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA== - -react-highlight-words@^0.16.0: - version "0.16.0" - resolved "https://registry.npmmirror.com/react-highlight-words/download/react-highlight-words-0.16.0.tgz#4b4b9824e3d2b98789d3e3b3aedb5e961ae1b7cf" - integrity sha1-S0uYJOPSuYeJ0+Ozrttelhrht88= - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-i18next@^11.7.3: - version "11.15.3" - resolved "https://registry.npmmirror.com/react-i18next/download/react-i18next-11.15.3.tgz#7608fb3cacc02ac75a62fc2d68b579f140b198dd" - integrity sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg== - dependencies: - "@babel/runtime" "^7.14.5" - html-escaper "^2.0.2" - html-parse-stringify "^3.0.1" - -react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA= - -react-json-view@^1.19.1: - version "1.21.3" - resolved "https://registry.npmmirror.com/react-json-view/download/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" - integrity sha1-8YQgnujxvzdPsMQbCBPP9UVJxHU= - dependencies: - flux "^4.0.1" - react-base16-styling "^0.6.0" - react-lifecycles-compat "^3.0.4" - react-textarea-autosize "^8.3.2" - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.npmmirror.com/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= - -react-popper-tooltip@^2.11.1: - version "2.11.1" - resolved "https://registry.npmmirror.com/react-popper-tooltip/download/react-popper-tooltip-2.11.1.tgz#3c4bdfd8bc10d1c2b9a162e859bab8958f5b2644" - integrity sha1-PEvf2LwQ0cK5oWLoWbq4lY9bJkQ= - dependencies: - "@babel/runtime" "^7.9.2" - react-popper "^1.3.7" - -react-popper@^1.3.7: - version "1.3.11" - resolved "https://registry.npmmirror.com/react-popper/download/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd" - integrity sha1-osw/Cme3W2bPpi0sQJ+d0fzHH/0= - dependencies: - "@babel/runtime" "^7.1.2" - "@hypnosphi/create-react-context" "^0.3.1" - deep-equal "^1.1.1" - popper.js "^1.14.4" - prop-types "^15.6.1" - typed-styles "^0.0.7" - warning "^4.0.2" - -react-scripts@3.4.1: - version "3.4.1" - resolved "https://registry.npmmirror.com/react-scripts/download/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a" - integrity sha1-9VEpi1xxmFzEkbms88jowK462go= - dependencies: - "@babel/core" "7.9.0" - "@svgr/webpack" "4.3.3" - "@typescript-eslint/eslint-plugin" "^2.10.0" - "@typescript-eslint/parser" "^2.10.0" - babel-eslint "10.1.0" - babel-jest "^24.9.0" - babel-loader "8.1.0" - babel-plugin-named-asset-import "^0.3.6" - babel-preset-react-app "^9.1.2" - camelcase "^5.3.1" - case-sensitive-paths-webpack-plugin "2.3.0" - css-loader "3.4.2" - dotenv "8.2.0" - dotenv-expand "5.1.0" - eslint "^6.6.0" - eslint-config-react-app "^5.2.1" - eslint-loader "3.0.3" - eslint-plugin-flowtype "4.6.0" - eslint-plugin-import "2.20.1" - eslint-plugin-jsx-a11y "6.2.3" - eslint-plugin-react "7.19.0" - eslint-plugin-react-hooks "^1.6.1" - file-loader "4.3.0" - fs-extra "^8.1.0" - html-webpack-plugin "4.0.0-beta.11" - identity-obj-proxy "3.0.0" - jest "24.9.0" - jest-environment-jsdom-fourteen "1.0.1" - jest-resolve "24.9.0" - jest-watch-typeahead "0.4.2" - mini-css-extract-plugin "0.9.0" - optimize-css-assets-webpack-plugin "5.0.3" - pnp-webpack-plugin "1.6.4" - postcss-flexbugs-fixes "4.1.0" - postcss-loader "3.0.0" - postcss-normalize "8.0.1" - postcss-preset-env "6.7.0" - postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.6" - react-dev-utils "^10.2.1" - resolve "1.15.0" - resolve-url-loader "3.1.1" - sass-loader "8.0.2" - semver "6.3.0" - style-loader "0.23.1" - terser-webpack-plugin "2.3.5" - ts-pnp "1.1.6" - url-loader "2.3.0" - webpack "4.42.0" - webpack-dev-server "3.10.3" - webpack-manifest-plugin "2.2.0" - workbox-webpack-plugin "4.3.1" - optionalDependencies: - fsevents "2.1.2" - -react-textarea-autosize@^8.3.2: - version "8.3.3" - resolved "https://registry.npmmirror.com/react-textarea-autosize/download/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8" - integrity sha1-9wkTlFNp2kU/1VTBaPa6rNH6BNg= - dependencies: - "@babel/runtime" "^7.10.2" - use-composed-ref "^1.0.0" - use-latest "^1.0.0" - -react@^16.13.1: - version "16.14.0" - resolved "https://registry.npmmirror.com/react/download/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" - integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc= - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= - dependencies: - 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" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.npmmirror.com/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readdirp/download/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc= - dependencies: - picomatch "^2.2.1" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= - dependencies: - util.promisify "^1.0.0" - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.npmmirror.com/recursive-readdir/download/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha1-mUb7MnThYo3m42svZxSVO0hFCU8= - dependencies: - minimatch "3.0.4" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redux@^4.0.4: - version "4.1.2" - resolved "https://registry.npmmirror.com/redux/download/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" - integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== - dependencies: - "@babel/runtime" "^7.9.2" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.npmmirror.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY= - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.npmmirror.com/regenerate/download/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.npmmirror.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regex-parser@2.2.10: - version "2.2.10" - resolved "https://registry.npmmirror.com/regex-parser/download/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" - integrity sha1-nmao9z2JoQdhbmOznU3t3+6RKzc= - -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: - version "1.4.1" - resolved "https://registry.npmmirror.com/regexp.prototype.flags/download/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" - integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= - -regexpp@^3.0.0: - version "3.2.0" - resolved "https://registry.npmmirror.com/regexpp/download/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI= - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.npmmirror.com/regexpu-core/download/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha1-5WBbo2G2excYR4UBMnUC9EeamPA= - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.npmmirror.com/regjsparser/download/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha1-prZntUyIXhi1JVTLSWDvcRh+mWg= - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.npmmirror.com/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remark-parse@^9.0.0: - version "9.0.0" - resolved "https://registry.npmmirror.com/remark-parse/download/remark-parse-9.0.0.tgz?cache=0&sync_timestamp=1637259966298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark-parse%2Fdownload%2Fremark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" - integrity sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA= - dependencies: - mdast-util-from-markdown "^0.8.0" - -remark-stringify@^9.0.0: - version "9.0.1" - resolved "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" - integrity sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ= - dependencies: - mdast-util-to-markdown "^0.6.0" - -remark@^13.0.0: - version "13.0.0" - resolved "https://registry.npmmirror.com/remark/download/remark-13.0.0.tgz?cache=0&sync_timestamp=1637260202521&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" - integrity sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU= - dependencies: - remark-parse "^9.0.0" - remark-stringify "^9.0.0" - unified "^9.1.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npmmirror.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.npmmirror.com/renderkid/download/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha1-Rk8namvc7mBvShWZP5sp/HTKhgk= - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^3.0.1" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.npmmirror.com/repeat-element/download/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek= - -repeat-string@^1.0.0, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npmmirror.com/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npmmirror.com/request-promise-core/download/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.5: - version "1.0.9" - resolved "https://registry.npmmirror.com/request-promise-native/download/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0, request@^2.88.0: - version "2.88.2" - resolved "https://registry.npmmirror.com/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - 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@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmmirror.com/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.npmmirror.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= - -resolve-url-loader@3.1.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/resolve-url-loader/download/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" - integrity sha1-KJMYlfoeq5vgZH07KVjBAK48C/A= - dependencies: - adjust-sourcemap-loader "2.0.0" - camelcase "5.3.1" - compose-function "3.0.3" - convert-source-map "1.7.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.21" - rework "1.0.1" - rework-visit "1.0.0" - source-map "0.6.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.npmmirror.com/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.15.0: - version "1.15.0" - resolved "https://registry.npmmirror.com/resolve/download/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" - integrity sha1-G3ypYHPrtS50H/15n2s56kYsZ/U= - dependencies: - path-parse "^1.0.6" - -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: - version "1.22.0" - resolved "https://registry.npmmirror.com/resolve/download/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" - integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== - dependencies: - is-core-module "^2.8.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npmmirror.com/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.npmmirror.com/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= - -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/rework-visit/download/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/rework/download/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= - dependencies: - glob "^7.1.3" - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.npmmirror.com/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= - -run-async@^2.2.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npmmirror.com/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmmirror.com/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.5.3, rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.npmmirror.com/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sanitize.css@^10.0.0: - version "10.0.0" - resolved "https://registry.npmmirror.com/sanitize.css/download/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" - integrity sha1-tcslR+lthimmCUdURmUkOx3DZXo= - -sass-loader@8.0.2: - version "8.0.2" - resolved "https://registry.npmmirror.com/sass-loader/download/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" - integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.6.1" - semver "^6.3.0" - -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npmmirror.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.npmmirror.com/saxes/download/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= - dependencies: - xmlchars "^2.1.1" - -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.npmmirror.com/scheduler/download/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -scroll-into-view-if-needed@^2.2.25: - version "2.2.28" - resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" - integrity sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo= - dependencies: - compute-scroll-into-view "^1.0.17" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.7: - version "1.10.14" - resolved "https://registry.npmmirror.com/selfsigned/download/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" - integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== - dependencies: - node-forge "^0.10.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE= - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.npmmirror.com/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - 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" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1631437838608&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4, setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.npmmirror.com/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.npmmirror.com/shallow-clone/download/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= - dependencies: - kind-of "^6.0.2" - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/shallowequal/download/shallowequal-1.1.0.tgz?cache=0&sync_timestamp=1624608058307&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshallowequal%2Fdownload%2Fshallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= - -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.npmmirror.com/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.npmmirror.com/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.6" - resolved "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" - integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmmirror.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npmmirror.com/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= - dependencies: - 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" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.npmmirror.com/sockjs-client/download/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.npmmirror.com/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.npmmirror.com/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.npmmirror.com/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= - dependencies: - 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@^0.5.6, source-map-support@~0.5.12: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.npmmirror.com/source-map-url/download/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmmirror.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npmmirror.com/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-3.0.11.tgz?cache=0&sync_timestamp=1636978442514&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= - dependencies: - 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" - -spdy@^4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -specificity@^0.4.1: - version "0.4.1" - resolved "https://registry.npmmirror.com/specificity/download/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" - integrity sha1-qrXmRQEtsIuhguFRFlc40AiHsBk= - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npmmirror.com/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmmirror.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.npmmirror.com/sshpk/download/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - 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@^6.0.1: - version "6.0.2" - resolved "https://registry.npmmirror.com/ssri/download/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha1-FXk5E08gRk5zAd26PpD/qPdyisU= - dependencies: - figgy-pudding "^3.5.1" - -ssri@^7.0.0: - version "7.1.1" - resolved "https://registry.npmmirror.com/ssri/download/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" - integrity sha1-M+RPiWqWcVjjxjRo5H7EZhO5W18= - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.npmmirror.com/stack-utils/download/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs= - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npmmirror.com/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.npmmirror.com/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.npmmirror.com/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.npmmirror.com/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= - dependencies: - 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@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.npmmirror.com/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.npmmirror.com/string-convert/download/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/string-length/download/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA= - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.2: - version "4.0.6" - resolved "https://registry.npmmirror.com/string.prototype.matchall/download/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" - integrity sha1-Wrtdq8lMew6iOA9lumELOlRLFfo= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.npmmirror.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0= - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npmmirror.com/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@6.0.0: - version "6.0.0" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk= - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1624608094529&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= - dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.0.1: - version "3.1.1" - resolved "https://registry.npmmirror.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= - -style-loader@0.23.1: - version "0.23.1" - resolved "https://registry.npmmirror.com/style-loader/download/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - -style-search@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/style-search/download/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" - integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= - -style-value-types@^3.1.9: - version "3.2.0" - resolved "https://registry.npmmirror.com/style-value-types/download/style-value-types-3.2.0.tgz#eb89cab1340823fa7876f3e289d29d99c92111bb" - integrity sha1-64nKsTQII/p4dvPiidKdmckhEbs= - dependencies: - hey-listen "^1.0.8" - tslib "^1.10.0" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -stylelint-config-recommended@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/stylelint-config-recommended/download/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657" - integrity sha1-4OVHQ0AWxVOf4mUK/VgEmi/R1lc= - -stylelint-config-standard@^20.0.0: - version "20.0.0" - resolved "https://registry.npmmirror.com/stylelint-config-standard/download/stylelint-config-standard-20.0.0.tgz?cache=0&sync_timestamp=1636911768470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylelint-config-standard%2Fdownload%2Fstylelint-config-standard-20.0.0.tgz#06135090c9e064befee3d594289f50e295b5e20d" - integrity sha1-BhNQkMngZL7+49WUKJ9Q4pW14g0= - dependencies: - stylelint-config-recommended "^3.0.0" - -stylelint@^13.6.1: - version "13.13.1" - resolved "https://registry.npmmirror.com/stylelint/download/stylelint-13.13.1.tgz#fca9c9f5de7990ab26a00f167b8978f083a18f3c" - integrity sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ== - dependencies: - "@stylelint/postcss-css-in-js" "^0.37.2" - "@stylelint/postcss-markdown" "^0.36.2" - autoprefixer "^9.8.6" - balanced-match "^2.0.0" - chalk "^4.1.1" - cosmiconfig "^7.0.0" - debug "^4.3.1" - execall "^2.0.0" - fast-glob "^3.2.5" - fastest-levenshtein "^1.0.12" - file-entry-cache "^6.0.1" - get-stdin "^8.0.0" - global-modules "^2.0.0" - globby "^11.0.3" - globjoin "^0.1.4" - html-tags "^3.1.0" - ignore "^5.1.8" - import-lazy "^4.0.0" - imurmurhash "^0.1.4" - known-css-properties "^0.21.0" - lodash "^4.17.21" - log-symbols "^4.1.0" - mathml-tag-names "^2.1.3" - meow "^9.0.0" - micromatch "^4.0.4" - normalize-selector "^0.2.0" - postcss "^7.0.35" - postcss-html "^0.36.0" - postcss-less "^3.1.4" - postcss-media-query-parser "^0.2.3" - postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^4.0.2" - postcss-sass "^0.4.4" - postcss-scss "^2.1.1" - postcss-selector-parser "^6.0.5" - postcss-syntax "^0.36.2" - postcss-value-parser "^4.1.0" - resolve-from "^5.0.0" - slash "^3.0.0" - specificity "^0.4.1" - string-width "^4.2.2" - strip-ansi "^6.0.0" - style-search "^0.1.0" - sugarss "^2.0.0" - svg-tags "^1.0.0" - table "^6.6.0" - v8-compile-cache "^2.3.0" - write-file-atomic "^3.0.3" - -sugarss@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/sugarss/download/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" - integrity sha1-3dduASSyl9QL88yjHIsi7LQ7xh0= - dependencies: - postcss "^7.0.2" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/supports-color/download/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.0: - version "2.0.4" - resolved "https://registry.npmmirror.com/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha1-/cLinhOVFzYUC3bLEiyO5mMOtrU= - -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0, svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.npmmirror.com/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - 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" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.npmmirror.com/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.npmmirror.com/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -table@^6.6.0: - version "6.8.0" - resolved "https://registry.npmmirror.com/table/download/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.npmmirror.com/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -terser-webpack-plugin@2.3.5: - version "2.3.5" - resolved "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" - integrity sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.2.0" - jest-worker "^25.1.0" - p-limit "^2.2.2" - schema-utils "^2.6.4" - serialize-javascript "^2.1.2" - source-map "^0.6.1" - terser "^4.4.3" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - 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" - -terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.npmmirror.com/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@0.2.0, text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmmirror.com/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.npmmirror.com/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.npmmirror.com/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npmmirror.com/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.npmmirror.com/timers-browserify/download/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npmmirror.com/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/tmpl/download/tmpl-1.0.5.tgz?cache=0&sync_timestamp=1630997304688&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftmpl%2Fdownload%2Ftmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha1-hoPguQK7nCDE9ybjwLafNlGMB8w= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npmmirror.com/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.npmmirror.com/toggle-selection/download/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npmmirror.com/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/trim-newlines/download/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ= - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.npmmirror.com/trough/download/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY= - -ts-pnp@1.1.6: - version "1.1.6" - resolved "https://registry.npmmirror.com/ts-pnp/download/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" - integrity sha1-OJokOW1CWg0xYultK0Y4kA/cKJo= - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.npmmirror.com/ts-pnp/download/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= - -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmmirror.com/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3: - version "2.3.1" - resolved "https://registry.npmmirror.com/tslib/download/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.npmmirror.com/tsutils/download/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM= - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.npmmirror.com/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npmmirror.com/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1624607953624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npmmirror.com/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha1-20vBUaSiz07r+a3V23VQjbbMhB8= - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.5.0: - version "2.5.0" - resolved "https://registry.npmmirror.com/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" - integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typed-styles@^0.0.7: - version "0.0.7" - resolved "https://registry.npmmirror.com/typed-styles/download/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" - integrity sha1-kzkqAIeUxFlRGf9i3eaAnbxAo9k= - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.npmmirror.com/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmmirror.com/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@^3.9.6: - version "3.9.10" - resolved "https://registry.npmmirror.com/typescript/download/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - -ua-parser-js@^0.7.30: - version "0.7.33" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" - integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE= - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631615391251&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-canonical-property-names-ecmascript%2Fdownload%2Funicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw= - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618607567&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM= - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618158421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ= - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g= - -unified@^9.1.0: - version "9.2.2" - resolved "https://registry.npmmirror.com/unified/download/unified-9.2.2.tgz?cache=0&sync_timestamp=1637256363650&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Funified%2Fdownload%2Funified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU= - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.npmmirror.com/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmmirror.com/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= - dependencies: - imurmurhash "^0.1.4" - -unist-util-find-all-after@^3.0.2: - version "3.0.2" - resolved "https://registry.npmmirror.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" - integrity sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY= - dependencies: - unist-util-is "^4.0.0" - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.npmmirror.com/unist-util-is/download/unist-util-is-4.1.0.tgz?cache=0&sync_timestamp=1626875281214&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha1-l25fRip6Xec9lLcGusG5BnG1d5c= - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.npmmirror.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz?cache=0&sync_timestamp=1624607967709&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha1-zOO/oc34W6c3XR1bF73Eytqb2do= - dependencies: - "@types/unist" "^2.0.2" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmmirror.com/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npmmirror.com/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.npmmirror.com/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmmirror.com/uri-js/download/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/url-loader/download/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" - -url-parse@^1.4.3: - version "1.5.4" - resolved "https://registry.npmmirror.com/url-parse/download/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd" - integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.npmmirror.com/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use-composed-ref@^1.0.0: - version "1.2.1" - resolved "https://registry.npmmirror.com/use-composed-ref/download/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849" - integrity sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw== - -use-isomorphic-layout-effect@^1.0.0: - version "1.1.1" - resolved "https://registry.npmmirror.com/use-isomorphic-layout-effect/download/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225" - integrity sha1-e7ZYkXDNKYehUgQvkIT57/t1wiU= - -use-latest@^1.0.0: - version "1.2.0" - resolved "https://registry.npmmirror.com/use-latest/download/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232" - integrity sha1-pE9lcrgojgly7EEb3QhAraNm8jI= - dependencies: - use-isomorphic-layout-effect "^1.0.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npmmirror.com/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/util-deprecate/download/util-deprecate-1.0.2.tgz?cache=0&sync_timestamp=1624607944834&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil-deprecate%2Fdownload%2Futil-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@^1.0.0: - version "1.1.1" - resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" - integrity sha1-d4MvV87SyUeBdBScrpuW6ZGM1Us= - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - for-each "^0.3.3" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.1" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.npmmirror.com/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.npmmirror.com/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.npmmirror.com/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.0.1, uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.1: - version "8.3.2" - resolved "https://registry.npmmirror.com/uuid/download/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmmirror.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validator@^13.1.1: - version "13.7.0" - resolved "https://registry.npmmirror.com/validator/download/validator-13.7.0.tgz?cache=0&sync_timestamp=1635822643143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvalidator%2Fdownload%2Fvalidator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" - integrity sha1-T5ZYuhO6jz2C7ogdNRZInqhcCFc= - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.npmmirror.com/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.npmmirror.com/vfile-message/download/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo= - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.npmmirror.com/vfile/download/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ= - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -vis-network@7.3.5: - version "7.3.5" - resolved "https://registry.npmmirror.com/vis-network/download/vis-network-7.3.5.tgz#367f3a1c19ba1b677dc3dec495f7e0d235e1fd59" - integrity sha1-Nn86HBm6G2d9w97Elffg0jXh/Vk= - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.npmmirror.com/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.npmmirror.com/void-elements/download/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= - -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.npmmirror.com/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.npmmirror.com/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.8" - resolved "https://registry.npmmirror.com/walker/download/walker-1.0.8.tgz?cache=0&sync_timestamp=1635238315480&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwalker%2Fdownload%2Fwalker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha1-vUmNtHev5XPcBBhfAR06uKjXZT8= - dependencies: - makeerror "1.0.12" - -warning@^4.0.2, warning@^4.0.3: - version "4.0.3" - resolved "https://registry.npmmirror.com/warning/download/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= - dependencies: - loose-envify "^1.0.0" - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.npmmirror.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= - dependencies: - chokidar "^2.1.8" - -watchpack@^1.6.0: - version "1.7.5" - resolved "https://registry.npmmirror.com/watchpack/download/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npmmirror.com/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU= - dependencies: - 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@3.10.3: - version "3.10.3" - resolved "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" - integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ== - dependencies: - ansi-html "0.0.7" - 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.2.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.6" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.25" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "0.3.19" - sockjs-client "1.4.0" - spdy "^4.0.1" - 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 "12.0.5" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-manifest-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.npmmirror.com/webpack-manifest-plugin/download/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" - integrity sha1-GcpptDWwuux+KfvpD7QBXeLeTxY= - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - object.entries "^1.1.0" - tapable "^1.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@4.42.0: - version "4.42.0" - resolved "https://registry.npmmirror.com/webpack/download/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" - integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.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.1" - 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.6.0" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.npmmirror.com/websocket-driver/download/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npmmirror.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npmmirror.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.0.0: - version "3.6.2" - resolved "https://registry.npmmirror.com/whatwg-fetch/download/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha1-3O0k838mJO0CgXJdUdDi4/5nf4w= - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npmmirror.com/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmmirror.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= - dependencies: - 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@^2.0.0: - version "2.0.0" - resolved "https://registry.npmmirror.com/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.0, which@^1.3.1: - version "1.3.1" - resolved "https://registry.npmmirror.com/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmmirror.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= - dependencies: - isexe "^2.0.0" - -word-wrap@~1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" - integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== - -workbox-background-sync@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" - integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= - dependencies: - workbox-core "^4.3.1" - -workbox-broadcast-update@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" - integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= - dependencies: - workbox-core "^4.3.1" - -workbox-build@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" - integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= - dependencies: - "@babel/runtime" "^7.3.4" - "@hapi/joi" "^15.0.0" - common-tags "^1.8.0" - fs-extra "^4.0.2" - glob "^7.1.3" - lodash.template "^4.4.0" - pretty-bytes "^5.1.0" - stringify-object "^3.3.0" - strip-comments "^1.0.2" - workbox-background-sync "^4.3.1" - workbox-broadcast-update "^4.3.1" - workbox-cacheable-response "^4.3.1" - workbox-core "^4.3.1" - workbox-expiration "^4.3.1" - workbox-google-analytics "^4.3.1" - workbox-navigation-preload "^4.3.1" - workbox-precaching "^4.3.1" - workbox-range-requests "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - workbox-streams "^4.3.1" - workbox-sw "^4.3.1" - workbox-window "^4.3.1" - -workbox-cacheable-response@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" - integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= - dependencies: - workbox-core "^4.3.1" - -workbox-core@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" - integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= - -workbox-expiration@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" - integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= - dependencies: - workbox-core "^4.3.1" - -workbox-google-analytics@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" - integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= - dependencies: - workbox-background-sync "^4.3.1" - workbox-core "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - -workbox-navigation-preload@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" - integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= - dependencies: - workbox-core "^4.3.1" - -workbox-precaching@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" - integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= - dependencies: - workbox-core "^4.3.1" - -workbox-range-requests@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" - integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= - dependencies: - workbox-core "^4.3.1" - -workbox-routing@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" - integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= - dependencies: - workbox-core "^4.3.1" - -workbox-strategies@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" - integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= - dependencies: - workbox-core "^4.3.1" - -workbox-streams@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" - integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= - dependencies: - workbox-core "^4.3.1" - -workbox-sw@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" - integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= - -workbox-webpack-plugin@4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" - integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= - dependencies: - "@babel/runtime" "^7.0.0" - json-stable-stringify "^1.0.1" - workbox-build "^4.3.1" - -workbox-window@^4.3.1: - version "4.3.1" - resolved "https://registry.npmmirror.com/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" - integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= - dependencies: - workbox-core "^4.3.1" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.npmmirror.com/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= - dependencies: - errno "~0.1.7" - -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.npmmirror.com/worker-rpc/download/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU= - dependencies: - microevent.ts "~0.1.1" - -wouter@^2.5.1: - version "2.7.5" - resolved "https://registry.npmmirror.com/wouter/download/wouter-2.7.5.tgz#c7466a2630bed3a4ec010aea0cda42a5bae69e5d" - integrity sha1-x0ZqJjC+06TsAQrqDNpCpbrmnl0= - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmmirror.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.3: - version "3.0.3" - resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.npmmirror.com/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= - dependencies: - mkdirp "^0.5.1" - -ws@^5.2.0: - version "5.2.3" - resolved "https://registry.npmmirror.com/ws/download/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" - integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== - dependencies: - async-limiter "~1.0.0" - -ws@^6.1.2, ws@^6.2.1: - version "6.2.2" - resolved "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npmmirror.com/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.npmmirror.com/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= - -xregexp@^4.3.0: - version "4.4.1" - resolved "https://registry.npmmirror.com/xregexp/download/xregexp-4.4.1.tgz#c84a88fa79e9ab18ca543959712094492185fe65" - integrity sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag== - dependencies: - "@babel/runtime-corejs3" "^7.12.1" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmmirror.com/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.npmmirror.com/y18n/download/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmmirror.com/yallist/download/yallist-3.1.1.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmmirror.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= - -yaml@^1.10.0, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha1-LrfcOwKJcY/ClfNidThFxBoMlO4= - -yargs@12.0.5: - version "12.0.5" - resolved "https://registry.npmmirror.com/yargs/download/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - -yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= - dependencies: - 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" - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.npmmirror.com/zwitch/download/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA= From cac690d71ea802b036514663b6d3a0de647c598f Mon Sep 17 00:00:00 2001 From: FrostyHec <112929809+FrostyHec@users.noreply.github.com> Date: Fri, 13 Sep 2024 17:20:42 +0800 Subject: [PATCH 02/23] update i18n configuration --- .../hubble-fe-new/package-lock.json | 67 +++++ hugegraph-hubble/hubble-fe-new/package.json | 3 + .../src/components/Topbar/index.ant.js | 39 ++- .../src/components/Topbar/index.module.scss | 14 +- .../hubble-fe-new/src/i18n/index.js | 37 +++ .../i18n/resources/en-US/components/bar.json | 6 + .../resources/en-US/components/common.json | 8 + .../i18n/resources/en-US/components/index.js | 7 + .../src/i18n/resources/en-US/index.js | 13 + .../hubble-fe-new/src/i18n/resources/index.js | 4 + .../i18n/resources/zh-CN/components/bar.json | 6 + .../resources/zh-CN/components/common.json | 8 + .../i18n/resources/zh-CN/components/index.js | 7 + .../src/i18n/resources/zh-CN/index.js | 13 + hugegraph-hubble/hubble-fe-new/src/index.js | 7 +- .../src/pages/Account/EditLayer.js | 277 ------------------ .../hubble-fe-new/src/pages/Account/index.js | 5 +- 17 files changed, 228 insertions(+), 293 deletions(-) create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js create mode 100644 hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js diff --git a/hugegraph-hubble/hubble-fe-new/package-lock.json b/hugegraph-hubble/hubble-fe-new/package-lock.json index 4ae5e7fcb..44239bac5 100644 --- a/hugegraph-hubble/hubble-fe-new/package-lock.json +++ b/hugegraph-hubble/hubble-fe-new/package-lock.json @@ -20,6 +20,7 @@ "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@testing-library/user-event": "^13.5.0", + "@types/lodash-es": "^4.17.3", "3d-force-graph": "^1.71.2", "ajv": "8.17.1", "antd": "^4.23.1", @@ -29,6 +30,7 @@ "date-fns": "^2.29.3", "echarts": "^5.4.1", "http-proxy-middleware": "^2.0.6", + "i18next": "^19.5.3", "install": "^0.13.0", "json-bigint": "^1.0.0", "lodash": "^4.17.21", @@ -40,6 +42,7 @@ "react-color": "^2.19.3", "react-dom": "^18.2.0", "react-highlight-words": "^0.18.0", + "react-i18next": "^11.7.3", "react-json-view": "^1.21.3", "react-router-dom": "^6.3.0", "react-scripts": "5.0.1", @@ -5121,6 +5124,21 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, + "node_modules/@types/lodash": { + "version": "4.17.7", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", + "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", @@ -10892,6 +10910,15 @@ "node": ">=12" } }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "license": "MIT", + "dependencies": { + "void-elements": "3.1.0" + } + }, "node_modules/html-webpack-plugin": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", @@ -11048,6 +11075,15 @@ "ms": "^2.0.0" } }, + "node_modules/i18next": { + "version": "19.9.2", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.9.2.tgz", + "integrity": "sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -20714,6 +20750,28 @@ "react": "^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0" } }, + "node_modules/react-i18next": { + "version": "11.18.6", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", + "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.14.5", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 19.0.0", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -23870,6 +23928,15 @@ "vis-util": "^5.0.1" } }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/hugegraph-hubble/hubble-fe-new/package.json b/hugegraph-hubble/hubble-fe-new/package.json index 042016539..a7a3877ff 100644 --- a/hugegraph-hubble/hubble-fe-new/package.json +++ b/hugegraph-hubble/hubble-fe-new/package.json @@ -3,6 +3,9 @@ "version": "0.1.0", "private": true, "dependencies": { + "i18next": "^19.5.3", + "react-i18next": "^11.7.3", + "@types/lodash-es": "^4.17.3", "@ant-design/icons": "^4.7.0", "@antv/g6": "^4.6.15", "@antv/graphin": "^2.7.12", diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js index 68d9ae884..06b55f532 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js +++ b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js @@ -5,17 +5,29 @@ import Logo from '../../assets/logo.png'; import {useNavigate, useLocation} from 'react-router-dom'; import * as api from '../../api/index'; import * as user from '../../utils/user'; +import {useState} from 'react'; +import {Select} from 'antd'; +import {useTranslation} from 'react-i18next'; +const {Option} = Select; const Topbar = () => { const userInfo = user.getUser(); const navigate = useNavigate(); const location = useLocation(); + const {t} = useTranslation(); + const [languageType, setLanguageType] = useState(localStorage.getItem('languageType') || 'zh-CN'); if (!userInfo || !userInfo.id) { sessionStorage.setItem('redirect', `${location.pathname}${location.search}`); window.location.href = '/login'; } + const i18Change = e => { + localStorage.setItem('languageType', e); + setLanguageType(e); + window.location.reload(); + }; + const logout = () => { api.auth.logout().then(res => { @@ -31,8 +43,8 @@ const Topbar = () => { const confirm = () => { Modal.confirm({ title: '确定退出吗?', - okText: '确定', - cancelText: '取消', + okText: t('common.verify.ok'), + cancelText: t('common.verify.cancel'), onOk: logout, }); }; @@ -40,12 +52,23 @@ const Topbar = () => { return (
- 退出登录}]} />}> - - } /> - {userInfo?.user_nickname ?? ''} - - +
+ + 退出登录}]} />}> + + } /> + {userInfo?.user_nickname ?? ''} + + +
); }; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss index f7baa8914..71b53cf7d 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss +++ b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.module.scss @@ -19,9 +19,15 @@ div.nav { height: 31px; } +.rightContainer { + display: flex; + align-items: center; + float: right; + color: #fff; + cursor: pointer; +} + .right { - display: flex; - float: right; - color: #fff; - cursor: pointer; + margin-left: 10px; } + diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/index.js new file mode 100644 index 000000000..6cee20087 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/index.js @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import i18n from 'i18next'; +import {initReactI18next} from 'react-i18next'; + +import {zhCNResources, enUSResources} from './resources'; + +i18n.use(initReactI18next).init({ + lng: localStorage.getItem('languageType') || 'zh-CN', + fallbackLng: 'zh-CN', + + resources: { + 'zh-CN': zhCNResources, + 'en-US': enUSResources, + }, + + interpolation: { + escapeValue: false, // not needed for react as it escapes by default + }, +}); + +export default i18n; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json new file mode 100644 index 000000000..fbc26d67d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json @@ -0,0 +1,6 @@ +{ + "bar": { + "Topbar": { + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json new file mode 100644 index 000000000..4ae8bcd8c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json @@ -0,0 +1,8 @@ +{ + "common" : { + "verify" : { + "ok": "ok", + "cancel": "cancel" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js new file mode 100644 index 000000000..deb1b62aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js @@ -0,0 +1,7 @@ +import Common from './common.json'; +import Bar from './bar.json'; + +export { + Common, + Bar, +}; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/index.js new file mode 100644 index 000000000..088586354 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/index.js @@ -0,0 +1,13 @@ +import {merge} from 'lodash-es'; +import { + Bar, + Common, +} from './components'; +const translation = { + translation: merge( + Bar, + Common + ), +}; + +export default translation; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/index.js new file mode 100644 index 000000000..48a75bee5 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/index.js @@ -0,0 +1,4 @@ +import zhCNResources from './zh-CN'; +import enUSResources from './en-US'; + +export {zhCNResources, enUSResources}; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json new file mode 100644 index 000000000..fbc26d67d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json @@ -0,0 +1,6 @@ +{ + "bar": { + "Topbar": { + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json new file mode 100644 index 000000000..14fc71d98 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json @@ -0,0 +1,8 @@ +{ + "common" : { + "verify" : { + "ok": "确定", + "cancel": "取消" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js new file mode 100644 index 000000000..deb1b62aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js @@ -0,0 +1,7 @@ +import Common from './common.json'; +import Bar from './bar.json'; + +export { + Common, + Bar, +}; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js new file mode 100644 index 000000000..088586354 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js @@ -0,0 +1,13 @@ +import {merge} from 'lodash-es'; +import { + Bar, + Common, +} from './components'; +const translation = { + translation: merge( + Bar, + Common + ), +}; + +export default translation; diff --git a/hugegraph-hubble/hubble-fe-new/src/index.js b/hugegraph-hubble/hubble-fe-new/src/index.js index fe912af55..e27fcb160 100644 --- a/hugegraph-hubble/hubble-fe-new/src/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/index.js @@ -3,16 +3,19 @@ import ReactDOM from 'react-dom/client'; import {BrowserRouter} from 'react-router-dom'; import {ConfigProvider} from 'antd'; import 'moment/locale/zh-cn'; -import locale from 'antd/lib/locale/zh_CN'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; +import zhCN from 'antd/lib/locale/zh_CN'; +import enUS from 'antd/lib/locale/en_US'; +import './i18n'; +const languageType = localStorage.getItem('languageType') === 'en-US' ? enUS : zhCN; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( - + diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Account/EditLayer.js b/hugegraph-hubble/hubble-fe-new/src/pages/Account/EditLayer.js index c4bc75e1d..5d512eb9a 100644 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Account/EditLayer.js +++ b/hugegraph-hubble/hubble-fe-new/src/pages/Account/EditLayer.js @@ -1,280 +1,3 @@ -// import {Modal, Input, Form, Select, message, Spin, Switch} from 'antd'; -// import {useCallback, useEffect, useState} from 'react'; -// import * as api from '../../api'; -// import * as rules from '../../utils/rules'; -// import SelectUser from '../../components/SelectUser'; -// import style from './index.module.scss'; -// -// const EditLayer = ({visible, onCancel, data, op, refresh}) => { -// const [form] = Form.useForm(); -// const [graphspaceList, setGraphspaceList] = useState([]); -// const [detail, setDetail] = useState({}); -// const [loading, setLoading] = useState(false); -// -// const title = { -// 'detail': '查看账号', -// 'edit': '编辑账号', -// 'auth': '分配权限', -// 'create': '创建账号', -// }; -// -// const createUser = useCallback(values => { -// api.auth.addUser(values).then(res => { -// if (res.status === 200) { -// message.success('创建成功'); -// onCancel(); -// refresh(); -// -// return; -// } -// -// message.error(res.message); -// }); -// }, [onCancel, refresh]); -// -// const updateUser = useCallback(values => { -// api.auth.updateUser(data.id, values).then(res => { -// if (res.status === 200) { -// message.success('编辑成功'); -// onCancel(); -// refresh(); -// -// return; -// } -// -// message.error(res.message); -// }); -// }, [onCancel, refresh, data.id]); -// -// const updateUserAuth = useCallback(values => { -// api.auth.updateAdminspace(data.id, values.adminSpaces).then(res => { -// if (res.status === 200) { -// message.success('编辑成功'); -// onCancel(); -// refresh(); -// -// return; -// } -// -// message.error(res.message); -// }); -// }, [data.id, onCancel, refresh]); -// -// const onFinish = useCallback(() => { -// form.validateFields().then(values => { -// if (op === 'create') { -// values.user_password = values.user_password ?? '123456'; -// createUser(values); -// } -// -// if (op === 'edit') { -// updateUser(values); -// } -// -// if (op === 'auth') { -// updateUserAuth(values); -// } -// }); -// }, [createUser, form, op, updateUser, updateUserAuth]); -// -// useEffect(() => { -// if (!visible) { -// return; -// } -// -// form.resetFields(); -// -// api.manage.getGraphSpaceList().then(res => { -// if (res.status === 200) { -// setGraphspaceList(res.data.records.map(item => ({label: item.nickname, value: item.name}))); -// -// return; -// } -// -// message.error(res.message); -// }); -// -// if (data.id) { -// setLoading(true); -// api.auth.getUserInfo(data.id).then(res => { -// setLoading(false); -// if (res.status === 200) { -// form.setFieldsValue(res.data); -// setDetail(res.data); -// return; -// } -// -// message.error(res.message); -// }); -// } -// }, [visible, data.id, form, op]); -// -// return ( -// op === 'detail' -// ? ( -// -// -// -// {detail.user_name} -// {detail.user_nickname} -// -// {detail.is_superadmin ? '是' : '否'} -// -// {detail.user_description} -// -// {detail.adminSpaces -// ? detail.adminSpaces.map(i => graphspaceList.find(_i => _i.value === i).label -// ).join(',') -// : ''} -// -// {detail.user_create} -// -// -// -// ) -// : ( -// -// -//
-// {(op === 'create' || op === 'edit') && ( -// <> -// -// -// -// -// -// -// -// -// -// -// -// -// )} -// -//
-//
-// ) -// ); -// }; -// -// const AddLayer = ({visible, onCancel, refresh}) => { -// const [form] = Form.useForm(); -// const [graphspaceList, setGraphspaceList] = useState([]); -// -// const onFinish = useCallback(() => { -// form.validateFields().then(values => { -// // createUser(values); -// const usernames = values.user_name.map(item => item.split('##')[0]).join(','); -// const nicknames = values.user_name.map(item => item.split('##')[1]).join(','); -// -// api.auth.addUuapUser({ -// usernames: usernames, -// nicknames: nicknames, -// description: values.description, -// adminSpaces: values.adminSpaces?.join(','), -// }).then(res => { -// if (res.status === 200) { -// message.success('添加成功'); -// onCancel(); -// refresh(); -// return; -// } -// -// message.error(res.message); -// }); -// }); -// }, [form, onCancel, refresh]); -// -// useEffect(() => { -// if (!visible) { -// return; -// } -// -// form.resetFields(); -// -// api.manage.getGraphSpaceList().then(res => { -// if (res.status === 200) { -// setGraphspaceList(res.data.records.map(item => ({label: item.nickname, value: item.name}))); -// -// return; -// } -// -// message.error(res.message); -// }); -// }, [form, visible]); -// -// return ( -// -//
-// -// -// -// -// -// -// -// ({label: item.name, value: item.name, info: item}))} onChange={setVertex} @@ -38,7 +40,7 @@ const EditVertexLayer = ({open, onCancle, onChange}) => { const EditEdgeLayer = ({open, onCancle, onChange}) => { const [form] = Form.useForm(); - + const {t} = useTranslation(); const setEdge = useCallback((_, item) => { form.setFieldValue('edge', item.info); }, [form]); @@ -50,13 +52,13 @@ const EditEdgeLayer = ({open, onCancle, onChange}) => { return ( - + } /> diff --git a/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js b/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js index 4a39e86f9..05f99502f 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/components/SelectUser/index.js @@ -1,123 +1,54 @@ -import {useState, useCallback, useEffect} from 'react'; -import {Select, List, Avatar} from 'antd'; -import * as api from '../../api'; -import {debounce} from 'lodash'; - -const UserAvatar = ({name, type, ...props}) => { - - return ( - - ); -}; - -const SelectUser = props => { - const [userList, setUserList] = useState([]); - - const handleAdmins = useCallback(val => { - if (val === '') { - setUserList([]); - return; - } - - api.auth.getUUapList({username: val}).then(res => { - if (res.status === 200) { - setUserList(res.data); - } - else { - setUserList([]); - } - }); - }, []); - - // const handleChange = useCallback(list => { - // console.log(list); - // props?.onChange(list.map(item => { - // console.log(item); - // const arr = item.split('##'); - - // return {name: arr[0], nickname: arr[1]}; - // })); - // }, [props]); - - return ( - - ); -}; - -const SelectStaffUser = props => { - const [userList, setUserList] = useState([]); - - const handleAdmins = useCallback(debounce(val => { - // _.debounce(fetchUserList.bind(val, val), 30); - if (val === '') { - setUserList([]); - return; - } - - api.auth.getUUapList({username: val}).then(res => { - if (res.status === 200) { - setUserList(res.data); - } - else { - setUserList([]); - } - }); - }, 200), []); - - return ( - - ); -}; - -export {UserAvatar, SelectStaffUser}; -export default SelectUser; +// import {useState, useCallback} from 'react'; +// import {Select, List, Avatar} from 'antd'; +// import * as api from '../../api'; +// TODO REMOVE IT +// const SelectUser = props => { +// const [userList, setUserList] = useState([]); +// +// const handleAdmins = useCallback(val => { +// if (val === '') { +// setUserList([]); +// return; +// } +// +// api.auth.getUUapList({username: val}).then(res => { +// if (res.status === 200) { +// setUserList(res.data); +// } +// else { +// setUserList([]); +// } +// }); +// }, []); +// +// +// return ( +// +// ); +// }; +// +// export default SelectUser; diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js index df16d1319..98eb3884c 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js +++ b/hugegraph-hubble/hubble-fe-new/src/components/Sidebar/index.ant.js @@ -10,13 +10,14 @@ import { } from '@ant-design/icons'; import {Link, useLocation} from 'react-router-dom'; import * as user from '../../utils/user'; +import {useTranslation} from 'react-i18next'; -const items = () => { +const items = t => { const userInfo = user.getUser(); - const MY = {label: 个人中心, key: 'my'}; - const ACCOUNT = {label: 账号管理, key: 'account'}; - const RESOURCE = {label: 资源管理, key: 'resource'}; - const ROLE = {label: 角色管理, key: 'role'}; + const MY = {label: {t('home.my')}, key: 'my'}; + const ACCOUNT = {label: {t('home.account')}, key: 'account'}; + const RESOURCE = {label: {t('home.resource')}, key: 'resource'}; + const ROLE = {label: {t('home.role')}, key: 'role'}; let systemList = [MY]; if (userInfo.is_superadmin) { @@ -28,58 +29,45 @@ const items = () => { const menu = [ { - label: 导航, + label: {t('navigation.name')}, key: 'navigation', icon: , }, { - label: '数据管理', + label: t('manage.name'), key: 'manage', icon: , children: [ - {label: 图管理, key: 'graphspace'}, - {label: 数据源管理, key: 'source'}, // TODO X fix import - {label: 数据导入, key: 'task'}, + {label: {t('manage.graphspace')}, key: 'graphspace'}, + {label: {t('manage.source')}, key: 'source'}, // TODO X fix import + {label: {t('manage.task')}, key: 'task'}, ], }, { - label: '业务分析', + label: t('analysis.name'), key: 'analysis', icon: , children: [ - {label: 图语言分析, key: 'gremlin'}, - {label: 图算法, key: 'algorithms'}, - {label: 任务管理, key: 'asyncTasks'}, + {label: {t('analysis.query.name')}, key: 'gremlin'}, + {label: {t('analysis.algorithm.name')}, key: 'algorithms'}, + {label: {t('analysis.async_task.name')}, key: 'asyncTasks'}, ], }, { - label: '系统管理', + label: t('home.name'), key: 'system', icon: , children: [...systemList], }, ]; - // if (userInfo.is_superadmin) { - // menu.push({ - // label: '系统管理', - // key: 'system', - // icon: , - // children: [ - // {label: 超管管理, key: 'super'}, - // {label: 账号管理, key: 'account'}, - // {label: 资源管理, key: 'resource'}, - // {label: 角色管理, key: 'role'}, - // ], - // }); - // } - return menu; }; const Sidebar = () => { const [collapsed, setCollapsed] = useState(false); const href = useLocation(); + const {t} = useTranslation(); const menuKey = href.pathname.split('/')[1] || 'navigation'; return ( @@ -96,7 +84,7 @@ const Sidebar = () => { defaultSelectedKeys={['graphspace']} defaultOpenKeys={['manage', 'analysis', 'system']} mode="inline" - items={items()} + items={items(t)} selectedKeys={[menuKey]} /> diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js index 340b9f9a9..7d7f0f6bd 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/components/Status/index.js @@ -1,16 +1,18 @@ import {useCallback} from 'react'; import style from './index.module.scss'; +import {useTranslation} from 'react-i18next'; const StatusField = ({status}) => { + const {t} = useTranslation(); const lower = status ? status.toLowerCase() : 'undefined'; const config = { - new: '新建', - running: '执行中', - success: '完成', - cancelling: '停止', - cancelled: '停止', - failed: '失败', - undefined: '未知', + new: t('common.status.new'), + running: t('common.status.running'), + success: t('common.status.success'), + cancelling: t('common.status.cancelling'), + cancelled: t('common.status.cancelled'), + failed: t('common.status.failed'), + undefined: t('common.status.undefined'), }; return ( diff --git a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js index 06b55f532..596ff9904 100644 --- a/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js +++ b/hugegraph-hubble/hubble-fe-new/src/components/Topbar/index.ant.js @@ -1,4 +1,4 @@ -import {Layout, Space, Avatar, Dropdown, Menu, message, Modal} from 'antd'; +import {Layout, Space, Avatar, Dropdown, Menu, message, Modal, Select} from 'antd'; import {UserOutlined} from '@ant-design/icons'; import style from './index.module.scss'; import Logo from '../../assets/logo.png'; @@ -6,8 +6,8 @@ import {useNavigate, useLocation} from 'react-router-dom'; import * as api from '../../api/index'; import * as user from '../../utils/user'; import {useState} from 'react'; -import {Select} from 'antd'; import {useTranslation} from 'react-i18next'; + const {Option} = Select; const Topbar = () => { @@ -34,7 +34,7 @@ const Topbar = () => { if (res.status === 200) { sessionStorage.removeItem('redirect'); user.clearUser(); - message.success('退出成功'); + message.success(t('Topbar.exit.success')); navigate('/login'); } }); @@ -42,7 +42,7 @@ const Topbar = () => { const confirm = () => { Modal.confirm({ - title: '确定退出吗?', + title: t('Topbar.exit.confirm'), okText: t('common.verify.ok'), cancelText: t('common.verify.cancel'), onOk: logout, @@ -62,7 +62,10 @@ const Topbar = () => { - 退出登录}]} />}> + {t('Topbar.exit.name')}}]} + />} + > } /> {userInfo?.user_nickname ?? ''} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json deleted file mode 100644 index fbc26d67d..000000000 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/bar.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "bar": { - "Topbar": { - } - } -} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/board.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/board.json new file mode 100644 index 000000000..8bb7930d9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/board.json @@ -0,0 +1,9 @@ +{ + "Topbar": { + "exit":{ + "name": "logout", + "confirm":"confirm logout?", + "success":"logout success" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json index 4ae8bcd8c..14fc71d98 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/common.json @@ -1,8 +1,8 @@ { "common" : { "verify" : { - "ok": "ok", - "cancel": "cancel" + "ok": "确定", + "cancel": "取消" } } } diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js index deb1b62aa..edd72d2f3 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/en-US/components/index.js @@ -1,5 +1,5 @@ import Common from './common.json'; -import Bar from './bar.json'; +import Bar from './board.json'; export { Common, diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/ERView.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/ERView.json new file mode 100644 index 000000000..80e98df8c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/ERView.json @@ -0,0 +1,30 @@ +{ + "ERView": { + "edge": { + "name": "边", + "type": "边类型", + "start": "起点ID", + "end": "终点ID", + "create": "新增边", + "e1name": "边1", + "e2name": "边2", + "out": "出边", + "in": "入边", + "both": "双边" + }, + "vertex": { + "name": "顶点", + "type": "顶点类型", + "create": "新增顶点", + "v1name": "顶点1", + "v2name": "顶点2" + }, + "control": { + "zoom_in": "放大", + "zoom_out": "缩小", + "undo": "撤销", + "redo": "重做", + "auto_map": "自动映射" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json deleted file mode 100644 index fbc26d67d..000000000 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/bar.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "bar": { - "Topbar": { - } - } -} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/board.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/board.json new file mode 100644 index 000000000..fd84c8a7f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/board.json @@ -0,0 +1,15 @@ +{ + "Topbar": { + "exit":{ + "name": "退出登录", + "confirm":"确定退出吗?", + "success":"退出成功" + } + }, + "selector": { + "placeholder": "请选择" + }, + "navigation": { + "name": "导航" + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json index 14fc71d98..c39c9151e 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/common.json @@ -2,7 +2,18 @@ "common" : { "verify" : { "ok": "确定", - "cancel": "取消" + "cancel": "取消", + "yes": "是", + "no": "否" + }, + "status": { + "new": "新建", + "running": "执行中", + "success": "完成", + "cancelling": "停止", + "cancelled": "停止", + "failed": "失败", + "undefined": "未知" } } } diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js index deb1b62aa..02bbb164a 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/components/index.js @@ -1,7 +1,8 @@ import Common from './common.json'; -import Bar from './bar.json'; - +import Board from './board.json'; +import ERView from './ERView.json'; export { Common, - Bar, + Board, + ERView, }; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js index 088586354..8e46097fd 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/index.js @@ -1,12 +1,23 @@ import {merge} from 'lodash-es'; import { - Bar, + Board, Common, + ERView, } from './components'; +import { + Algorithm, + Home, + Manage, +} from './modules'; + const translation = { translation: merge( - Bar, - Common + Board, + Common, + Algorithm, + Home, + Manage, + ERView ), }; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/algorithm.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/algorithm.json new file mode 100644 index 000000000..e69de29bb diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json new file mode 100644 index 000000000..eea18eab9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json @@ -0,0 +1,41 @@ +{ + "analysis": { + "name": "业务分析", + "query": { + "name": "图语言分析", + "placeholder": "请输入查询语句" + }, + "algorithm": { + "name": "图算法", + "placeholder": "算法查询", + "capacity_item": { + "tooltip": "遍历过程中最大的访问的顶点数目" + }, + "direction_item": { + "tooltip": "顶点向外发散的方向" + }, + "label_item": { + "tooltip": "边的类型(默认代表所有edge label)" + }, + "max_degree_item": { + "tooltip": "查询过程中,单个顶点遍历的最大邻接边数目" + }, + "max_depth_item": { + "tooltip": "步数" + }, + "nearest_item": { + "tooltip": "nearest为true时,代表起始顶点到达结果顶点的最短路径长度为depth,不存在更短的路径;near\n est为false时,代表起始顶点到结果顶点有一条长度为depth的路径(未必最短且可以有环)", + "placeholder": "最短路径长度" + }, + "olap": { + + }, + "oltp": { + + } + }, + "async_task":{ + "name": "任务管理" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/home.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/home.json new file mode 100644 index 000000000..e698fc4fb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/home.json @@ -0,0 +1,9 @@ +{ + "home": { + "name":"系统管理" , + "my": "个人中心", + "account": "账号管理", + "resource": "资源管理", + "role": "角色管理" + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/index.js b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/index.js new file mode 100644 index 000000000..50bc3f6b7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/index.js @@ -0,0 +1,8 @@ +import Algorithm from './algorithm.json'; +import Home from './home.json'; +import Manage from './manage.json'; +export { + Home, + Algorithm, + Manage, +}; diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/manage.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/manage.json new file mode 100644 index 000000000..9ec249de0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/manage.json @@ -0,0 +1,8 @@ +{ + "manage": { + "name": "数据管理", + "graphspace": "图管理", + "source": "数据源管理", + "task": "数据导入" + } +} diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js index 1a4a89d62..5f2524e83 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/AlgorithmSearch/index.js @@ -7,12 +7,13 @@ import React, {useMemo} from 'react'; import {Input} from 'antd'; import _ from 'lodash'; import c from './index.module.scss'; +import {useTranslation} from 'react-i18next'; const AlgorithmSearch = props => { - + const {t} = useTranslation(); const {onSearch} = props; - const deboucedOnChange = useMemo( + const debounceOnChange = useMemo( () => { return _.debounce(e => { const {value} = e.target; @@ -25,8 +26,8 @@ const AlgorithmSearch = props => { return (
diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js index ef1498cfa..1c6d53a26 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/BoolSelectItem/index.js @@ -1,13 +1,14 @@ import React from 'react'; import {Form, Select} from 'antd'; - -const boolOptions = [ - {label: '是', value: true}, - {label: '否', value: false}, -]; +import {useTranslation} from 'react-i18next'; const BoolSelectItem = props => { + const {t} = useTranslation(); + const boolOptions = [ + {label: t('common.verify.yes'), value: true}, + {label: t('common.verify.no'), value: false}, + ]; const { name, initialValue = false, @@ -28,4 +29,4 @@ const BoolSelectItem = props => { ); }; -export default BoolSelectItem; \ No newline at end of file +export default BoolSelectItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/CapacityItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/CapacityItem/index.js index cf86b4bdc..51998bdf2 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/CapacityItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/CapacityItem/index.js @@ -6,18 +6,20 @@ import React from 'react'; import {Form, InputNumber} from 'antd'; import {integerValidator} from '../utils'; +import {useTranslation} from 'react-i18next'; const CapacityItem = props => { + const {t} = useTranslation(); return ( ); }; -export default CapacityItem; \ No newline at end of file +export default CapacityItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/DirectionItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/DirectionItem/index.js index 7ee4371ee..2b2ec9d7f 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/DirectionItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/DirectionItem/index.js @@ -5,16 +5,16 @@ import React from 'react'; import {Form, Select} from 'antd'; - -const directionOptions = [ - {label: '出边', value: 'OUT'}, - {label: '入边', value: 'IN'}, - {label: '双边', value: 'BOTH'}, -]; +import {useTranslation} from 'react-i18next'; const DirectionItem = props => { - + const {t} = useTranslation(); const {desc} = props; + const directionOptions = [ + {label: t('ERView.edge.out'), value: 'OUT'}, + {label: t('ERView.edge.in'), value: 'IN'}, + {label: t('ERView.edge.both'), value: 'BOTH'}, + ]; return ( { tooltip={desc} > ); }; -export default LabelItem; \ No newline at end of file +export default LabelItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js index d08a4e2c4..8fbfb9419 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDegreeItem/index.js @@ -5,9 +5,10 @@ import React from 'react'; import {Form, InputNumber} from 'antd'; +import {useTranslation} from 'react-i18next'; const MaxDegreeItem = props => { - + const {t} = useTranslation(); const {isRequired, initialValue, validator} = props; return ( @@ -16,11 +17,11 @@ const MaxDegreeItem = props => { name='max_degree' initialValue={initialValue} rules={[{required: isRequired}, {validator: validator}]} - tooltip={'查询过程中,单个顶点遍历的最大邻接边数目'} + tooltip={t('analysis.algorithm.max_degree_item.tooltip')} >
); }; -export default MaxDegreeItem; \ No newline at end of file +export default MaxDegreeItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js index 4d6d1535a..46726c831 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/MaxDepthItem/index.js @@ -5,9 +5,10 @@ import React from 'react'; import {Form, InputNumber} from 'antd'; +import {useTranslation} from 'react-i18next'; const MaxDepthItem = props => { - + const {t} = useTranslation(); const {validator} = props; return ( @@ -15,11 +16,11 @@ const MaxDepthItem = props => { label='max_depth' name='max_depth' rules={[{required: true}, {validator: validator}]} - tooltip="步数" + tooltip={t('analysis.algorithm.max_depth_item.tooltip')} >
); }; -export default MaxDepthItem; \ No newline at end of file +export default MaxDepthItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/NearestItem/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/NearestItem/index.js index 74a9b9e77..150eded49 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/NearestItem/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/NearestItem/index.js @@ -5,24 +5,24 @@ import React from 'react'; import {Form, Select} from 'antd'; - -const boolOptions = [ - {label: '是', value: true}, - {label: '否', value: false}, -]; +import {useTranslation} from 'react-i18next'; const NearestItem = props => { + const {t} = useTranslation(); + const boolOptions = [ + {label: t('common.verify.yes'), value: true}, + {label: t('common.verify.no'), value: false}, + ]; return ( - ); }; -export default NearestItem; \ No newline at end of file +export default NearestItem; diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js index 375b9a8e3..e03316614 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js @@ -17,6 +17,7 @@ import { alphaValidator, greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator, } from '../../utils'; +import {useTranslation} from 'react-i18next'; const {BETWEENNESS_CENTRALITY} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; @@ -35,7 +36,7 @@ const BetweennessCentrality = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Bill/index.js b/hugegraph-hubble/hubble-fe-new/src/pages/Bill/index.js deleted file mode 100644 index 3f5e0f57c..000000000 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Bill/index.js +++ /dev/null @@ -1,135 +0,0 @@ -// import {PageHeader, Button, Space, Table, message, Tooltip, Modal, Input, Row, Col} from 'antd'; -// import {useCallback, useEffect, useState} from 'react'; -// import TableHeader from '../../components/TableHeader'; -// import * as api from '../../api'; -// TODO REMOVED -// const Bill = () => { -// const [data, setData] = useState([]); -// const [refresh, setRefresh] = useState(false); -// const [search, setSearch] = useState(''); -// const [pagination, setPagination] = useState({toatal: 0, current: 1, pageSize: 10}); -// -// const handleSearch = useCallback(value => { -// setRefresh(!refresh); -// setSearch(value); -// }, [refresh]); -// -// -// const handleTable = useCallback(page => { -// setPagination({...pagination, ...page}); -// }, [pagination]); -// -// const columns = [ -// { -// title: '出账时间', -// width: 180, -// render: (_, record) => { -// return ( -// <> -//
{record.properties.create_time}
-// -// ); -// }, -// }, -// { -// title: '账单时间', -// width: 100, -// render: (_, record) => { -// return ( -// <> -//
{record.properties.bill_date}
-// -// ); -// }, -// }, -// { -// title: '订单ID', -// width: 200, -// render: (_, record) => record.properties.order_id, -// }, -// { -// title: '业务名称', -// width: 100, -// render: (_, record) => record.properties.name, -// }, -// { -// title: '结算账号', -// align: 'center', -// width: 320, -// render: (_, record) => { -// return ( -// <> -//
{record.properties.account_name}
-//
({record.properties.account_id})
-// -// ); -// }, -// }, -// { -// title: '订单内容', -// ellipsis: {showTitle: false}, -// render: (_, record) => { -// const goods = JSON.parse(record.properties.goods); -// const val = goods.map(item => -// `${item.name} - ${item.custom > 0 ? item.custom : item.total} -// - ${item.discount > 0 ? item.discount : 0} -// - ${item.reduce > 0 ? item.reduce : 0}`).join(';'); -// return ( -// -// {val} -// -// ); -// }, -// }, -// ]; -// -// const rowKey = useCallback(item => item.user_name, []); -// -// useEffect(() => { -// api.cloud.getBillList({s: search}).then(res => { -// if (res.status === 200) { -// setData(res.data); -// // setPagination({...pagination, total: res.data.total}); -// return; -// } -// -// message.error(res.message); -// }); -// setData([]); -// }, [refresh, search]); -// -// return ( -// <> -// -// -//
-// -// -//
-// -// -// -// -// -//
-// -// -// -// ); -// }; -// -// export default Bill; diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Order/EditLayer.js b/hugegraph-hubble/hubble-fe-new/src/pages/Order/EditLayer.js deleted file mode 100644 index bee62fc8a..000000000 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Order/EditLayer.js +++ /dev/null @@ -1,265 +0,0 @@ -import {Modal, Input, Form, Select, message, TreeSelect, Space, Checkbox, Spin, InputNumber, Alert} from 'antd'; -import {useCallback, useEffect, useState} from 'react'; -import * as api from '../../api'; -import * as rules from '../../utils/rules'; -import {SelectStaffUser} from '../../components/SelectUser'; - -const goodsList = [ - {name: '标准图数据库SaaS服务', id: 'HugeGraphNormal', unit: '亿'}, - {name: '高级图计算SaaS服务', id: 'HugeGraphAdvanced', unit: '亿'}, - {name: '定制OLTP算法', id: 'HugeGraphOLTPCustomized', unit: '次'}, - {name: '定制OLAP算法', id: 'HugeGraphOLAPCustomized', unit: '次'}, - {name: '定制图学习算法', id: 'HugeGraphGLCustomized', unit: '次'}, - {name: '定制接口', id: 'HugeGraphAPICustomized', unit: '次'}, - {name: '定制业务服务', id: 'HugeGraphCustomized', unit: '次'}, -].map(item => ({...item, total: 0, custom: 0, discount: '', reduce: '', checked: false})); - -const loopsTreeData = (list, parent) => { - return (list || []).map(({children, name, accountId}) => { - const node = { - parent, - name, - accountId, - path: [...parent, name].join(' > '), - selectable: children.length === 0, - }; - - node.children = loopsTreeData(children, [...parent, name]); - return node; - }); -}; - -const AddLayer = ({visible, onCancel, refresh, id}) => { - const [form] = Form.useForm(); - const [accountList, setAccountList] = useState([]); - const [accountName, setAccountName] = useState(''); - const [graphspaceList, setGraphspaceList] = useState([]); - const [loading, setLoading] = useState(false); - const [spinning, setSpinning] = useState(false); - const [errorMsg, setErrorMsg] = useState(''); - - const onFinish = useCallback(() => { - form.validateFields().then(values => { - const subGoodsList = values.goods.filter(item => item.checked); - if (subGoodsList.length === 0) { - setErrorMsg('请至少选择一个商品'); - return; - } - setErrorMsg(''); - - values.goods = JSON.stringify(subGoodsList); - values.graphspaces = values.graphspaces.join(','); - values.account_name = accountName; - setLoading(true); - - if (id) { - api.cloud.updateOrder(id, values).then(res => { - setLoading(false); - if (res.status === 200) { - refresh(); - onCancel(); - return; - } - message.error(res.message); - }); - return; - } - - api.cloud.createOrder(values).then(res => { - setLoading(false); - if (res.status === 200) { - refresh(); - onCancel(); - return; - } - message.error(res.message); - }); - }); - }, [form, accountName, refresh, onCancel, id]); - - const handleAccount = useCallback((_, account) => { - setAccountName(account.name); - }, []); - - const handleChange = useCallback(val => { - api.auth.getAccountsList(val).then(res => { - if (res.status === 200) { - setAccountList(loopsTreeData(res.data, [])); - } - }); - }, []); - - useEffect(() => { - if (!visible) { - return; - } - - form.resetFields(); - form.setFieldValue('goods', goodsList); - - api.manage.getGraphSpaceList().then(res => { - if (res.status === 200) { - setGraphspaceList(res.data.records.map(item => ({label: item.nickname, value: item.name}))); - - return; - } - - message.error(res.message); - }); - - if (id) { - setSpinning(true); - api.cloud.getOrder(id).then(res => { - if (res.status === 200) { - const {properties} = res.data; - api.auth.getAccountsList(properties.user_name).then(res => { - setSpinning(false); - if (res.status === 200) { - setAccountList(loopsTreeData(res.data, [])); - } - form.setFieldsValue({ - ...properties, - // graphspaces: JSON.parse(properties.graphspaces), - graphspaces: properties.graphspaces.split(','), - goods: JSON.parse(properties.goods), - }); - }); - } - }); - } - }, [form, visible, id]); - - return ( - - - {errorMsg && } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; - -export {AddLayer}; diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Order/index.js b/hugegraph-hubble/hubble-fe-new/src/pages/Order/index.js deleted file mode 100644 index b35c26d5d..000000000 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Order/index.js +++ /dev/null @@ -1,223 +0,0 @@ -import {PageHeader, Button, Space, Table, message, Row, Col, Modal, Select} from 'antd'; -import {useCallback, useEffect, useState} from 'react'; -import TableHeader from '../../components/TableHeader'; -import {AddLayer} from './EditLayer'; -import * as api from '../../api'; - -const statusOptions = [ - {label: '结算中', value: 1}, - {label: '暂停结算', value: 2}, - {label: '已完结', value: 3}, -]; - -const Order = () => { - const [addLayerVisible, setAddLayerVisible] = useState(false); - const [loading, setLoading] = useState(false); - const [data, setData] = useState([]); - const [refresh, setRefresh] = useState(false); - const [id, setId] = useState(''); - const [status, setStatus] = useState(''); - const [pagination, setPagination] = useState({total: 0, current: 1, pageSize: 10}); - - const handleEdit = useCallback(row => { - setId(row.id); - setAddLayerVisible(true); - }, []); - - const handleAdd = useCallback(row => { - setId(''); - setAddLayerVisible(true); - }, []); - - const handleRefresh = useCallback(() => { - setRefresh(!refresh); - }, [refresh]); - - const handleHideAddLayer = useCallback(() => { - setAddLayerVisible(false); - }, []); - - const handleTable = useCallback(page => { - setPagination({...pagination, ...page}); - }, [pagination]); - - const handleStatus = useCallback((record, status) => { - const text = {1: '重新开启', 2: '暂停', 3: '终止'}; - - Modal.confirm({ - title: `确定${text[status]}吗?`, - content: `确定${text[status]}订单${record.properties.order_id}吗?`, - onOk: () => { - api.cloud.updateOrderStatus(record.id, status).then(res => { - if (res.status === 200) { - message.success('操作成功'); - setRefresh(!refresh); - return; - } - - message.error(res.message); - }); - }, - }); - }, [refresh]); - - const handleFilter = useCallback(value => { - setStatus(value); - setRefresh(!refresh); - }, [refresh]); - - const columns = [ - { - title: '订单id', - width: 200, - align: 'center', - render: (_, record) => ( -
- {record.properties.order_id} -
- ), - }, - { - title: '业务名称', - width: 120, - align: 'center', - render: (_, record) => record.properties.name, - }, - { - title: '结算账户', - align: 'center', - width: 340, - render: (_, record) => { - return ( - <> -
{record.properties.account_name}
-
- ({record.properties.account_id}) -
- - ); - }, - }, - { - title: '状态', - align: 'center', - width: 120, - render: (_, record) => { - return record.properties.status - ? statusOptions.find(item => item.value === Number(record.properties.status)).label : ''; - }, - }, - { - title: '添加时间', - dataIndex: 'd', - align: 'center', - width: 120, - render: (_, record) => record.properties.create_time, - }, - { - title: '本期结算', - align: 'center', - // width: 300, - render: (_, record) => { - const goodsList = JSON.parse(record.properties.goods); - return ( - - {goodsList.map(goods => ( - - {goods.name} - - {goods.custom > 0 ? goods.custom : goods.total} - - {goods.discount > 0 ? goods.discount : 0} - - {goods.reduce > 0 ? goods.reduce : 0} - - ))} - - ); - }, - }, - { - title: '操作', - width: 160, - align: 'center', - render: record => ( - - {record.properties.status !== '3' && handleEdit(record)}>编辑} - {record.properties.status === '1' && handleStatus(record, 2)}>暂停} - {record.properties.status === '2' && handleStatus(record, 1)}>重新开启} - {record.properties.status !== '3' && handleStatus(record, 3)}>终止} - - ), - }, - ]; - - const rowKey = useCallback(item => item.user_name, []); - - useEffect(() => { - setLoading(true); - api.cloud.getOrderList({ - status: status, - // query: search, - // page_no: pagination.current, - // page_size: pagination.pageSize, - }).then(res => { - setLoading(false); - if (res.status === 200) { - setData(res.data); - setPagination({...pagination, total: res.data.total}); - return; - } - - message.error(res.message); - }); - setData([]); - }, [refresh, status]); - - return ( - <> - - -
- - -
- - 筛选: -
- - - - - ); -}; - -export default Order; diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Super/EditLayer.js b/hugegraph-hubble/hubble-fe-new/src/pages/Super/EditLayer.js index e785fdb20..a75c0b4aa 100644 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Super/EditLayer.js +++ b/hugegraph-hubble/hubble-fe-new/src/pages/Super/EditLayer.js @@ -1,66 +1,66 @@ -import {Modal, Input, Form, message} from 'antd'; -import {useCallback, useEffect} from 'react'; -import * as api from '../../api'; -import * as rules from '../../utils/rules'; -import SelectUser from '../../components/SelectUser'; - -const EditLayer = ({visible, onCancel, refresh}) => { - const [form] = Form.useForm(); - - const onFinish = useCallback(() => { - form.validateFields().then(values => { - // createUser(values); - const usernames = values.user_name.map(item => item.split('##')[0]).join(','); - const nicknames = values.user_name.map(item => item.split('##')[1]).join(','); - - api.auth.addSuperUser({ - usernames: usernames, - nicknames: nicknames, - description: values.user_description, - }).then(res => { - if (res.status === 200) { - message.success('超级管理员添加成功'); - onCancel(); - refresh(); - return; - } - - message.error(`超级管理员添加失败。失败原因:${res.data.message}`); - }); - }); - }, [form, onCancel, refresh]); - - useEffect(() => { - form.resetFields(); - }, [form, visible]); - - return ( - -
- - - - - - - -
- ); -}; - -export default EditLayer; +// import {Modal, Input, Form, message} from 'antd'; +// import {useCallback, useEffect} from 'react'; +// import * as api from '../../api'; +// import * as rules from '../../utils/rules'; +// import SelectUser from '../../components/SelectUser'; +// TODO REMOVE SUPER +// const EditLayer = ({visible, onCancel, refresh}) => { +// const [form] = Form.useForm(); +// +// const onFinish = useCallback(() => { +// form.validateFields().then(values => { +// // createUser(values); +// const usernames = values.user_name.map(item => item.split('##')[0]).join(','); +// const nicknames = values.user_name.map(item => item.split('##')[1]).join(','); +// +// api.auth.addSuperUser({ +// usernames: usernames, +// nicknames: nicknames, +// description: values.user_description, +// }).then(res => { +// if (res.status === 200) { +// message.success('超级管理员添加成功'); +// onCancel(); +// refresh(); +// return; +// } +// +// message.error(`超级管理员添加失败。失败原因:${res.data.message}`); +// }); +// }); +// }, [form, onCancel, refresh]); +// +// useEffect(() => { +// form.resetFields(); +// }, [form, visible]); +// +// return ( +// +//
+// +// +// +// +// +// +// +//
+// ); +// }; +// +// export default EditLayer; diff --git a/hugegraph-hubble/hubble-fe-new/src/pages/Super/index.js b/hugegraph-hubble/hubble-fe-new/src/pages/Super/index.js index b9768024e..aeec35b96 100644 --- a/hugegraph-hubble/hubble-fe-new/src/pages/Super/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/pages/Super/index.js @@ -1,141 +1,141 @@ -import {PageHeader, Button, Space, Table, message, Popconfirm, Tooltip} from 'antd'; -import {useCallback, useEffect, useState} from 'react'; -import {PlusOutlined} from '@ant-design/icons'; -import TableHeader from '../../components/TableHeader'; -import EditLayer from './EditLayer'; -import * as api from '../../api'; -import {getUser} from '../../utils/user'; - -const Super = () => { - const [editLayerVisible, setEditLayerVisible] = useState(false); - const [op, setOp] = useState('detail'); - const [detail, setDetail] = useState({}); - const [data, setData] = useState([]); - const [refresh, setRefresh] = useState(false); - const [pagination, setPagination] = useState({toatal: 0, current: 1, pageSize: 10}); - - const showAdd = useCallback(() => { - setDetail({}); - setOp('create'); - setEditLayerVisible(true); - }, []); - - const handleRefresh = useCallback(() => { - setRefresh(!refresh); - }, [refresh]); - - const handleHideLayer = useCallback(() => { - setEditLayerVisible(false); - }, []); - - const handleTable = useCallback(page => { - setPagination({...pagination, ...page}); - }, [pagination]); - - const RemoveSuper = ({data}) => { - const handleDelete = useCallback(() => { - api.auth.removeSuperUser(data.id).then(res => { - if (res.status === 200) { - message.success('超级管理员移除成功'); - setRefresh(!refresh); - return; - } - - message.error(`超级管理员移除失败。失败原因:${res.message}`); - }); - }, [data.id]); - - return data.user_name === getUser().id - ? '-' - : ( - - 移除超管 - - ); - }; - - const columns = [ - { - title: '账号ID', - dataIndex: 'user_name', - }, - { - title: '账号名', - dataIndex: 'user_nickname', - }, - { - title: '备注', - dataIndex: 'user_description', - ellipsis: {showTitle: false}, - render: val => {val}, - }, - { - title: '添加时间', - dataIndex: 'user_create', - align: 'center', - width: 200, - }, - { - title: '操作', - width: 300, - align: 'center', - render: row => , - }, - ]; - - const rowKey = useCallback(item => item.user_name, []); - - useEffect(() => { - api.auth.getSuperUser({ - page_no: pagination.current, - page_size: pagination.pageSize, - }).then(res => { - if (res.status === 200) { - setData(res.data.records); - setPagination({...pagination, total: res.data.total}); - return; - } - - message.error(res.message); - }); - }, [refresh, pagination.current, pagination.pageSize]); - - return ( - <> - - -
- - - - - - -
- - - - - ); -}; - -export default Super; +// import {PageHeader, Button, Space, Table, message, Popconfirm, Tooltip} from 'antd'; +// import {useCallback, useEffect, useState} from 'react'; +// import {PlusOutlined} from '@ant-design/icons'; +// import TableHeader from '../../components/TableHeader'; +// import EditLayer from './EditLayer'; +// import * as api from '../../api'; +// import {getUser} from '../../utils/user'; +// TODO REMOVE SUPER +// const Super = () => { +// const [editLayerVisible, setEditLayerVisible] = useState(false); +// const [op, setOp] = useState('detail'); +// const [detail, setDetail] = useState({}); +// const [data, setData] = useState([]); +// const [refresh, setRefresh] = useState(false); +// const [pagination, setPagination] = useState({toatal: 0, current: 1, pageSize: 10}); +// +// const showAdd = useCallback(() => { +// setDetail({}); +// setOp('create'); +// setEditLayerVisible(true); +// }, []); +// +// const handleRefresh = useCallback(() => { +// setRefresh(!refresh); +// }, [refresh]); +// +// const handleHideLayer = useCallback(() => { +// setEditLayerVisible(false); +// }, []); +// +// const handleTable = useCallback(page => { +// setPagination({...pagination, ...page}); +// }, [pagination]); +// +// const RemoveSuper = ({data}) => { +// const handleDelete = useCallback(() => { +// api.auth.removeSuperUser(data.id).then(res => { +// if (res.status === 200) { +// message.success('超级管理员移除成功'); +// setRefresh(!refresh); +// return; +// } +// +// message.error(`超级管理员移除失败。失败原因:${res.message}`); +// }); +// }, [data.id]); +// +// return data.user_name === getUser().id +// ? '-' +// : ( +// +// 移除超管 +// +// ); +// }; +// +// const columns = [ +// { +// title: '账号ID', +// dataIndex: 'user_name', +// }, +// { +// title: '账号名', +// dataIndex: 'user_nickname', +// }, +// { +// title: '备注', +// dataIndex: 'user_description', +// ellipsis: {showTitle: false}, +// render: val => {val}, +// }, +// { +// title: '添加时间', +// dataIndex: 'user_create', +// align: 'center', +// width: 200, +// }, +// { +// title: '操作', +// width: 300, +// align: 'center', +// render: row => , +// }, +// ]; +// +// const rowKey = useCallback(item => item.user_name, []); +// +// useEffect(() => { +// api.auth.getSuperUser({ +// page_no: pagination.current, +// page_size: pagination.pageSize, +// }).then(res => { +// if (res.status === 200) { +// setData(res.data.records); +// setPagination({...pagination, total: res.data.total}); +// return; +// } +// +// message.error(res.message); +// }); +// }, [refresh, pagination.current, pagination.pageSize]); +// +// return ( +// <> +// +// +//
+// +// +// +// +// +// +//
+// +// +// +// +// ); +// }; +// +// export default Super; diff --git a/hugegraph-hubble/hubble-fe-new/src/routes/index.js b/hugegraph-hubble/hubble-fe-new/src/routes/index.js index cb478d3ad..c7c45e85f 100644 --- a/hugegraph-hubble/hubble-fe-new/src/routes/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/routes/index.js @@ -18,8 +18,6 @@ import Resource from '../pages/Resource'; import Navigation from '../pages/Navigation'; import Error404 from '../pages/Error404'; import Test from '../pages/Test'; -import Bill from '../pages/Bill'; -import Order from '../pages/Order'; // 图分析的路由 import GraphAnalysis from '../pages/GraphAnalysis'; @@ -64,9 +62,6 @@ const RouteList = ({element}) => { } /> } /> - - } /> - } /> } /> @@ -76,4 +71,4 @@ const RouteList = ({element}) => { ); }; -export default RouteList; \ No newline at end of file +export default RouteList; From 96e7f70ee8462424967c3b4b7f18226e0162377d Mon Sep 17 00:00:00 2001 From: FrostyHec <112929809+FrostyHec@users.noreply.github.com> Date: Wed, 18 Sep 2024 22:54:46 +0800 Subject: [PATCH 04/23] supporting i18n on olap components --- .../resources/zh-CN/modules/analysis.json | 144 +++++++++- .../Olap/BetweennessCentrality/index.js | 20 +- .../BetweennessCentralityVermeer/index.js | 30 +-- .../Olap/ClosenessCentrality/index.js | 29 +- .../Olap/ClosenessCentralityVermeer/index.js | 39 +-- .../Olap/ClusterCoefficient/index.js | 21 +- .../Olap/DegreeCentrality/index.js | 26 +- .../Olap/DegreeCentralityVermeer/index.js | 32 ++- .../Olap/FilterSubGraphMatching/index.js | 21 +- .../Olap/FilteredRingsDetection/index.js | 29 +- .../algorithmsForm/Olap/KCore/index.js | 21 +- .../algorithmsForm/Olap/KCoreVermeer/index.js | 20 +- .../Olap/LabelPropagationAlgorithm/index.js | 20 +- .../LabelPropagationAlgorithmVermeer/index.js | 21 +- .../algorithmsForm/Olap/Links/index.js | 24 +- .../algorithmsForm/Olap/Louvain/index.js | 25 +- .../Olap/OlapComputerItem/index.js | 24 +- .../algorithmsForm/Olap/OlapItem/index.js | 42 +-- .../algorithmsForm/Olap/PageRank/index.js | 26 +- .../Olap/PageRankVermeer/index.js | 26 +- .../Olap/PersonalPageRank/index.js | 30 ++- .../Olap/RingsDetection/index.js | 20 +- .../algorithmsForm/Olap/SSSPVermeer/index.js | 20 +- .../Olap/TriangleCount/index.js | 24 +- .../Olap/TriangleCountVermeer/index.js | 18 +- .../Olap/WeaklyConnectedComponent/index.js | 21 +- .../WeaklyConnectedComponentVermeer/index.js | 20 +- .../hubble-fe-new/src/utils/constants.js | 251 ++++++++++-------- 28 files changed, 626 insertions(+), 418 deletions(-) diff --git a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json index eea18eab9..62355a5f5 100644 --- a/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json +++ b/hugegraph-hubble/hubble-fe-new/src/i18n/resources/zh-CN/modules/analysis.json @@ -8,6 +8,21 @@ "algorithm": { "name": "图算法", "placeholder": "算法查询", + "common": { + "instance_num": "实例数", + "input_limit_edges_per_vertex": "最大出边限制", + "max_iter_step": "最大迭代次数", + "worker_num": "worker计算线程数", + "sample_rate": "边的采样率,由于此算法是指数型增长的算法,算力要求非常高,需要根据业务需求设置合理的采样率,得到一个近似结果", + "weight_property": "权重属性名", + "property_filter": "点边属性过滤条件", + "min_ring_length": "输出环路的最小长度", + "max_ring_length": "输出环路的最大长度", + "max_step": "最大迭代步数", + "request_memory": "计算节点最小内存需求", + "JVM_memory": "jvm环境内存大小,默认为32g", + "source": "起始点ID" + }, "capacity_item": { "tooltip": "遍历过程中最大的访问的顶点数目" }, @@ -28,13 +43,136 @@ "placeholder": "最短路径长度" }, "olap": { - + "betweenness_centrality": { + "desc": "中介中心性算法(Betweenness Centrality)判断一个节点具有\"桥梁\"节点的值, 值越大说明它作为图中两点间必经路径的可能性越大, 典型的例子包括社交网络中的共同关注的人", + "sample_rate": "边的采样率", + "sample_rate_long": "边的采样率,由于此算法是指数型增长的算法,算力要求非常高,需要根据业务需求设置合理的采样率,得到一个近似结果", + "use_endpoint": "是否计算最后一个点" + }, + "closeness_centrality": { + "desc": "计算一个节点到所有其他可达节点的最短距离的倒数,进行累积后归一化的值。用于计算图中每个节点的度中心性值,支持无向图和有向图。", + "weight_property": "权重属性名", + "TODO": "TODO weight_property,sample_rate需要移动 ", + "sample_rate": "边的采样率", + "wf_improved": "是否使用 Wasserman and Faust 紧密中心性公式" + }, + "cluster_coefficient": { + "desc": "聚集系数,计算每个点局部的聚集系数, 暂时未提供全局聚集系数。", + "minimum_edges_use_superedge_cache": "利用内存减少消息量,如果内存不够,可以从100改成1000,但聚集系数可能计算不完" + }, + "degree_centrality": { + "desc": "用于计算图中每个节点的度中心性值,支持无向图和有向图。", + "direction": "方向,in/out/both 入边/出边/双边" + }, + "filtered_rings_detection": { + "desc": "带过滤条件的环路检测算法(Filtered Rings Detection)用于检测图中的环路,\n 环路的路径由环路中最小id的顶点来记录。可通过指定点、边属性过滤规则让算法选择性的做路径传播。" + }, + "filter_subgraph_matching": { + "desc": "带属性过滤的子图匹配算法。用户可以传入一个带属性过滤的查询图结构,算法会在图中匹配所有与该查询图同构的子图。", + "query_graph_config": "查询图配置,json数组字符串" + }, + "k_core": { + "desc": "K-Core算法,标记所有度数为K的顶点。", + "k": "K-Core算法的k值,非必需,有默认值", + "degree_k": "最小度数阈值" + }, + "label_propagation_algorithm": { + "desc": "标签传递算法,是一种图聚类算法,常用在社交网络中。" + }, + "links": { + "desc": "链路追踪算法,通过指定的一批开始顶点,按照指定的传播规则进行传播,到指定的结束条件后停止并记录下路径。", + "analyze_config": "链路传播条件配置" + }, + "louvain": { + "desc": "Louvain 算法是基于模块度的社区发现算法。由于Louvain算法的特殊性,只用一个worker instance运行。" + }, + "computer_item": { + "computer_cpu": "master最大CPU", + "worker_cpu": "worker最大CPU", + "master_request_memory": "master最小内存,不满足最小内存则分配不成功", + "worker_request_memory": "worker最小内存,不满足最小内存则分配不成功", + "master_memory": "master最大内存,超过最大内存则会被k8s中止", + "worker_memory": "worker最大内存,超过最大内存则会被k8s中止" + }, + "item": { + "PAGE_RANK": "PageRank", + "WEAKLY_CONNECTED_COMPONENT": "Weakly Connected Component", + "DEGREE_CENTRALIT": "Degree Centrality", + "CLOSENESS_CENTRALITY": "Closeness Centrality", + "TRIANGLE_COUNT": "Triangle Count", + "K_NEIGHBOR": "K-neighbor(GET,基础版)", + "K_OUT": "K-out API(GET,基础版)", + "SAME_NEIGHBORS": "Same Neighbors", + "RINGS": "Rings", + "SHORTEST_PATH": "Shortest Path", + "ALLPATHS": "查找所有路径(POST,高级版)", + "JACCARD_SIMILARITY": "Jaccard Similarity(GET)", + "CROSSPOINTS": "Crosspoints", + "RINGS_DETECTION": "Rings Detection", + "FILTERED_RINGS_DETECTION": "Filtered Rings Detection", + "LINKS": "Links", + "CLUSTER_COEFFICIENT": "Cluster Coefficient", + "BETWEENNESS_CENTRALITY": "Betweenness Centrality", + "LABEL_PROPAGATION_ALGORITHM": "Label Propagation Algorithm", + "LOUVAIN": "Louvain", + "FILTER_SUBGRAPH_MATCHING": "Filter SubGraph Matching", + "K_CORE": "K-Core", + "PERSONAL_PAGE_RANK": "PersonalPageRank", + "KOUT_POST": "K-out API(POST, 高级版)", + "KNEIGHBOR_POST": "K-neighbor API(POST,高级版)", + "JACCARD_SIMILARITY_POST": "Jaccard Similarity(POST)", + "RANK_API": "rank API", + "NEIGHBOR_RANK_API": "Neighbor Rank API", + "FINDSHORTESTPATH": "查找最短路径", + "FINDSHORTESTPATHWITHWEIGHT": "查找带权重的最短路径", + "SINGLESOURCESHORTESTPATH": "(从一个顶点出发)查找最短路径", + "MULTINODESSHORTESTPATH": "(指定顶点集)查找最短路径", + "CUSTOMIZEDPATHS": "自定义路径查询", + "TEMPLATEPATHS": "模版路径查询", + "CUSTOMIZED_CROSSPOINTS": "Customized Crosspoints", + "RAYS": "Rays", + "PATHS": "查找所有路径(GET,基础版)", + "FUSIFORM_SIMILARITY": "Fusiform Similarity", + "ADAMIC_ADAR": "Adamic Adar", + "RESOURCE_ALLOCATION": "Resource Allocation", + "SAME_NEIGHBORS_BATCH": "Same Neighbors Batch", + "EGONET": "Egonet", + "SSSP": "SSSP(单元最短路径)" + }, + "page_rank": { + "desc": "PageRank算法又称网页排名算法,是一种由搜索引擎根据网页(节点)之间相互的超链接进行计算的技术,用来体现网页(节点)的相关性和重要性。", + "alpha": "权重系数(又称阻尼系数)", + "l1": "收敛精度,为每次迭代各个点相较于上次迭代变化的绝对值累加和上限,当小于这个值时认为计算收敛,算法停止。", + "damping": "阻尼系数,传导到下个点的百分比", + "diff": "收敛精度,为每次迭代各个点相较于上次迭代变化的绝对值累加和上限,当小于这个值时认为计算收敛,算法停止。" + }, + "personal_page_bank": { + "desc": "PersonalPageRank 算法又称个性化推荐算法,是一种由搜索引擎根据网页(节点)之间相互的超链接进行计算的技术,用来体现网页(节点)的相关性和重要性", + "source": "起始顶点", + "alpha": "权重系数(又称阻尼系数)", + "l1": "收敛精度", + "use_id_fixlength": "true时,系统采用自增id运算", + "use_id_fixlength_query": "是否采用自增id运算" + }, + "ring_detection": { + "desc": "环路检测算法(Rings Detection),用于检测图中的环路,环路的路径由环路中最小id的顶点来记录。" + }, + "SSSPVermeer": { + "desc": "单元最短路径算法,求一个点到其他所有点的最短距离" + }, + "triangle_count": { + "desc": "三角形计数算法,用于计算通过每个顶点的三角形个数。", + "limit_edges_in_one_vertex": "最大出边限制", + "minimum_edges_use_superedge_cache": "利用内存减少消息量,如果内存不够,可以从100改成1000,但三角计数可能计算不完" + }, + "weakly_connected_component": { + "desc":"弱连通分量,计算无向图中所有联通的子图,输出各顶点所属的弱联通子图id" + } }, "oltp": { - } }, - "async_task":{ + "async_task": { "name": "任务管理" } } diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js index e03316614..481b39177 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentrality/index.js @@ -22,13 +22,6 @@ import {useTranslation} from 'react-i18next'; const {BETWEENNESS_CENTRALITY} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; -const info = { - name: 'Betweenness Centrality', - desc: `中介中心性算法(Betweeness Centrality)判断一个节点具有"桥梁"节点的值, - 值越大说明它作为图中两点间必经路径的可能性越大, 典型的例子包括社交网络中的共同关注的人`, - icon: , -}; - const BetweennessCentrality = props => { const { handleFormSubmit, @@ -37,6 +30,11 @@ const BetweennessCentrality = props => { updateCurrentAlgorithm, } = props; const {t} = useTranslation(); + const info = { + name: 'Betweenness Centrality', + desc: t('analysis.algorithm.olap.betweenness_centrality.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -122,7 +120,7 @@ const BetweennessCentrality = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t('analysis.algorithm.common.instance_num')} > @@ -130,7 +128,7 @@ const BetweennessCentrality = props => { label='input.limit_edges_in_one_vertex' name='input.limit_edges_in_one_vertex' initialValue={-1} - tooltip='最大出边限制' + tooltip={t('analysis.algorithm.common.input_limit_edges_per_vertex')} > @@ -138,7 +136,7 @@ const BetweennessCentrality = props => { label='betweenness_centrality.sample_rate' name='betweenness_centrality.sample_rate' initialValue={1.0} - tooltip='边的采样率' + tooltip={t('analysis.algorithm.olap.betweenness_centrality.sample_rate')} rules={[{validator: alphaValidator}]} > @@ -147,7 +145,7 @@ const BetweennessCentrality = props => { label='bsp.max_super_step' name='bsp.max_super_step' initialValue={10} - tooltip='最大迭代次数' + tooltip={t('analysis.algorithm.common.max_iter_step')} rules={[{validator: greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js index 98b479f1b..5b0612fd9 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/BetweennessCentralityVermeer/index.js @@ -13,23 +13,12 @@ import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS} from '../../../../../utils/constants'; import {positiveIntegerValidator, greaterThanZeroAndLowerThanOneContainsValidator} from '../../utils'; +import {useTranslation} from 'react-i18next'; const {BETWEENNESS_CENTRALITY} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {LOADED} = GRAPH_LOAD_STATUS; -const info = { - name: 'Betweenness Centrality', - desc: `中介中心性算法(Betweeness Centrality)判断一个节点具有"桥梁"节点的值, - 值越大说明它作为图中两点间必经路径的可能性越大, 典型的例子包括社交网络中的共同关注的人`, - icon: , -}; - -const boolOptions = [ - {label: '是', value: 1}, - {label: '否', value: 0}, -]; - const BetweennessCentralityVermeer = props => { const { handleFormSubmit, @@ -37,7 +26,16 @@ const BetweennessCentralityVermeer = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); + const info = { + name: 'Betweenness Centrality', + desc: t('analysis.algorithm.olap.betweenness_centrality.desc'), + icon: , + }; + const boolOptions = [ + {label: t('common.verify.yes'), value: 1}, + {label: t('common.verify.no'), value: 0}, + ]; const {graphSpace, graph, graphStatus} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(true); const [isRequiring, setRequiring] = useState(false); @@ -127,7 +125,7 @@ const BetweennessCentralityVermeer = props => { label='compute.parallel' name='compute.parallel' initialValue={1} - tooltip='worker计算线程数' + tooltip={t('analysis.algorithm.common.worker_num')} rules={[{validator: positiveIntegerValidator}]} > @@ -136,7 +134,7 @@ const BetweennessCentralityVermeer = props => { label='betweenness_centrality.sample_rate' name='betweenness_centrality.sample_rate' initialValue={1} - tooltip='边的采样率,由于此算法是指数型增长的算法,算力要求非常高,需要根据业务需求设置合理的采样率,得到一个近似结果' + tooltip={t('analysis.algorithm.olap.betweenness_centrality.sample_rate_long')} rules={[{validator: greaterThanZeroAndLowerThanOneContainsValidator}]} > @@ -145,7 +143,7 @@ const BetweennessCentralityVermeer = props => { label='betweenness_centrality.use_endpoint' name='betweenness_centrality.use_endpoint' initialValue={0} - tooltip={'是否计算最后一个点'} + tooltip={t('analysis.algorithm.olap.betweenness_centrality.use_endpoint')} > @@ -132,7 +133,7 @@ const ClosenessCentrality = props => { label='closeness_centrality.sample_rate' name='closeness_centrality.sample_rate' initialValue={1.0} - tooltip='边的采样率' + tooltip={t(OWNED_TEXT_PATH + '.sample_rate')} rules={[{validator: alphaValidator}]} > @@ -141,7 +142,7 @@ const ClosenessCentrality = props => { label='input.limit_edges_in_one_vertex' name='input.limit_edges_in_one_vertex' initialValue={-1} - tooltip='最大出边限制' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.input_limit_edges_per_vertex')} > @@ -149,7 +150,7 @@ const ClosenessCentrality = props => { label='bsp.max_super_step' name='bsp.max_super_step' initialValue={10} - tooltip='最大迭代次数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.max_iter_step')} rules={[{validator: greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js index 38ae35b80..2ed02e0ca 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/ClosenessCentralityVermeer/index.js @@ -11,32 +11,35 @@ import AlgorithmNameHeader from '../../AlgorithmNameHeader'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS} from '../../../../../utils/constants'; +import { + GRAPH_STATUS, + ALGORITHM_NAME, + GRAPH_LOAD_STATUS, + TEXT_PATH, + useTranslatedConstants, +} from '../../../../../utils/constants'; import {positiveIntegerValidator, greaterThanZeroAndLowerThanOneContainsValidator} from '../../utils'; +import {useTranslation} from 'react-i18next'; const {CLOSENESS_CENTRALITY} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {LOADED} = GRAPH_LOAD_STATUS; - -const boolOptions = [ - {label: '是', value: 1}, - {label: '否', value: 0}, -]; - -const info = { - name: 'Closeness Centrality', - desc: '计算一个节点到所有其他可达节点的最短距离的倒数,进行累积后归一化的值。用于计算图中每个节点的度中心性值,支持无向图和有向图。', - icon: , -}; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.closeness_centrality'; const ClosenessCentralityVermeer = props => { + const { handleFormSubmit, searchValue, currentAlgorithm, updateCurrentAlgorithm, } = props; - + const info = { + name: 'Closeness Centrality', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; + const {boolOptions} = useTranslatedConstants(); const {graphSpace, graph, graphStatus} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(true); @@ -64,9 +67,9 @@ const ClosenessCentralityVermeer = props => { setRequiring(true); updateCurrentAlgorithm(CLOSENESS_CENTRALITY); handleFormSubmit(LOADING); - const formParams = {'compute.algorithm': 'closeness_centrality', ...algorithmParams}; + const formParams = {'compute.algorithm': 'closeness_centrality', ...algorithmParams}; const filteredParams = removeNilKeys(formParams); - const response = await api.analysis.runOlapVermeer(graphSpace, graph, filteredParams); + const response = await api.analysis.runOlapVermeer(graphSpace, graph, filteredParams); const {data, status, message} = response || {}; if (status !== 200) { handleFormSubmit(FAILED, '', message); @@ -127,7 +130,7 @@ const ClosenessCentralityVermeer = props => { label='compute.parallel' name='compute.parallel' initialValue={1} - tooltip='worker计算线程数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + './worker_num')} rules={[{validator: positiveIntegerValidator}]} > @@ -136,7 +139,7 @@ const ClosenessCentralityVermeer = props => { label='closeness_centrality.sample_rate' name='closeness_centrality.sample_rate' initialValue={1.0} - tooltip='边的采样率,由于此算法是指数型增长的算法,算力要求非常高,需要根据业务需求设置合理的采样率,得到一个近似结果' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + './sample_rate')} rules={[{validator: greaterThanZeroAndLowerThanOneContainsValidator}]} > @@ -145,7 +148,7 @@ const ClosenessCentralityVermeer = props => { label='closeness_centrality.wf_improved' name='closeness_centrality.wf_improved' initialValue={1} - tooltip={'是否使用 Wasserman and Faust 紧密中心性公式'} + tooltip={t(OWNED_TEXT_PATH + './wf_improved')} > @@ -133,7 +133,7 @@ const DegreeCentrality = props => { label='degree_centrality.direction' name='degree_centrality.direction' initialValue='' - tooltip='方向,in/out/both 入边/出边/双边' + tooltip={t(OWNED_TEXT_PATH + '.direction')} > @@ -141,7 +141,7 @@ const DegreeCentrality = props => { label='bsp.max_super_step' name='bsp.max_super_step' initialValue={10} - tooltip='最大迭代次数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.max_iter_step')} rules={[{validator: greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js index 24d827515..a62068a56 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/DegreeCentralityVermeer/index.js @@ -12,24 +12,22 @@ import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; import {positiveIntegerValidator} from '../../utils'; -import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS} from '../../../../../utils/constants'; +import { + GRAPH_STATUS, + ALGORITHM_NAME, + GRAPH_LOAD_STATUS, + TEXT_PATH, + useTranslatedConstants, +} from '../../../../../utils/constants'; +import {useTranslation} from 'react-i18next'; + -const directionOptions = [ - {label: '出边', value: 'out'}, - {label: '入边', value: 'in'}, - {label: '双边', value: 'both'}, -]; const {DEGREE_CENTRALIT} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {LOADED} = GRAPH_LOAD_STATUS; -const info = { - name: 'Degree Centrality', - desc: '用于计算图中每个节点的度中心性值,支持无向图和有向图。', - icon: , -}; - +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.degree_centrality'; const DegreeCentralityVermeer = props => { const { handleFormSubmit, @@ -37,7 +35,13 @@ const DegreeCentralityVermeer = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); + const {directionOptions} = useTranslatedConstants(); + const info = { + name: 'Degree Centrality', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph, graphStatus} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(true); @@ -128,7 +132,7 @@ const DegreeCentralityVermeer = props => { label='compute.parallel' name='compute.parallel' initialValue={1} - tooltip='worker计算线程数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.worker_num')} rules={[{validator: positiveIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js index 3e70e1fe0..44baaf6a5 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilterSubGraphMatching/index.js @@ -12,29 +12,32 @@ import OlapComputerItem from '../OlapComputerItem'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, TEXT_PATH} from '../../../../../utils/constants'; +import {useTranslation} from 'react-i18next'; const {TextArea} = Input; const {FILTER_SUBGRAPH_MATCHING} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; -const info = { - name: 'Filter SubGraph Matching', - desc: '带属性过滤的子图匹配算法。用户可以传入一个带属性过滤的查询图结构,算法会在图中匹配所有与该查询图同构的子图。', - icon: , -}; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.filter_subgraph_matching'; + // eslint-disable-next-line const placeholder = '[{"id":"A","label":"person",},{"id":"B","label":"person","property_filter":"$element.x > 3"},{"id":"C","label":"person","edges":[{"targetId":"A","label":"knows","property_filter":"$element.x > 3"}]},{"id":"D","label":"person","property_filter":"$element.x > 3","edges":[{"targetId":"B","label":"knows",},{"targetId":"F","label":"knows","property_filter":"$element.x > 3"},{"targetId":"C","label":"knows",},{"targetId":"E","label":"knows",}]},{"id":"E","label":"person",},{"id":"F","label":"person","property_filter":"$element.x > 3","edges":[{"targetId":"B","label":"knows","property_filter":"$element.x > 3"},{"targetId":"C","label":"knows","property_filter":"$element.x > 3"}]}]'; const FilterSubGraphMatching = props => { + const {t} = useTranslation(); const { handleFormSubmit, searchValue, currentAlgorithm, updateCurrentAlgorithm, } = props; - + const info = { + name: 'Filter SubGraph Matching', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -120,14 +123,14 @@ const FilterSubGraphMatching = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.instance_num')} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js index 3aedffad9..699d78197 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/FilteredRingsDetection/index.js @@ -12,31 +12,32 @@ import OlapComputerItem from '../OlapComputerItem'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, TEXT_PATH} from '../../../../../utils/constants'; import { integerValidator, greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator, } from '../../utils'; +import {useTranslation} from 'react-i18next'; const {FILTERED_RINGS_DETECTION} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; -const info = { - name: 'Filtered Rings Detection', - desc: `带过滤条件的环路检测算法(Filtered Rings Detection)用于检测图中的环路, - 环路的路径由环路中最小id的顶点来记录。可通过指定点、边属性过滤规则让算法选择性的做路径传播。`, - icon: , -}; -const placeholder = '{"vertex_filter":[{"label":"user","property_filter":"$element.weight==1"}]}'; +const placeholder = '{"vertex_filter":[{"label":"user","property_filter":"$element.weight==1"}]}'; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.filtered_rings_detection'; const FilteredRingsDetection = props => { + const {t} = useTranslation(); const { handleFormSubmit, searchValue, currentAlgorithm, updateCurrentAlgorithm, } = props; - + const info = { + name: 'Filtered Rings Detection', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -122,7 +123,7 @@ const FilteredRingsDetection = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.instance_num')} > @@ -130,7 +131,7 @@ const FilteredRingsDetection = props => { label='rings.property_filter' name='rings.property_filter' initialValue={placeholder} - tooltip='点边属性过滤条件' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.property_filter')} > { label='rings.min_ring_length' name='rings.min_ring_length' initialValue={0} - tooltip='输出环路的最小长度' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.min_ring_length')} rules={[{validator: integerValidator}]} > @@ -150,7 +151,7 @@ const FilteredRingsDetection = props => { label='rings.max_ring_length' name='rings.max_ring_length' initialValue={Number.MAX_SAFE_INTEGER} - tooltip='输出环路的最大长度' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.max_ring_length')} rules={[{validator: integerValidator}]} > @@ -159,7 +160,7 @@ const FilteredRingsDetection = props => { label='bsp.max_super_step' name='bsp.max_super_step' initialValue={10} - tooltip='最大迭代次数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.max_iter_step')} rules={[{validator: greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js index 30e5e4038..bc549818a 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCore/index.js @@ -9,28 +9,31 @@ import {TagsOutlined} from '@ant-design/icons'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, TEXT_PATH} from '../../../../../utils/constants'; import GraphAnalysisContext from '../../../../Context'; import AlgorithmNameHeader from '../../AlgorithmNameHeader'; import OlapComputerItem from '../OlapComputerItem'; +import {useTranslation} from 'react-i18next'; const {K_CORE} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; -const info = { - name: 'K-Core', - desc: 'K-Core算法,标记所有度数为K的顶点。', - icon: , -}; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.k_core'; + const KCore = props => { + const {t} = useTranslation(); const { handleFormSubmit, searchValue, currentAlgorithm, updateCurrentAlgorithm, } = props; - + const info = { + name: 'K-Core', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -116,7 +119,7 @@ const KCore = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.instance_num')} > @@ -124,7 +127,7 @@ const KCore = props => { initialValue={3} label='kcore.k' name='kcore.k' - tooltip='K-Core算法的k值,非必需,有默认值' + tooltip={t(OWNED_TEXT_PATH + '.k')} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js index c48d3306c..493a5f908 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/KCoreVermeer/index.js @@ -10,28 +10,30 @@ import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; import {positiveIntegerValidator} from '../../utils'; -import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS, TEXT_PATH} from '../../../../../utils/constants'; import GraphAnalysisContext from '../../../../Context'; import AlgorithmNameHeader from '../../AlgorithmNameHeader'; +import {useTranslation} from 'react-i18next'; const {K_CORE} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {LOADED} = GRAPH_LOAD_STATUS; -const info = { - name: 'K-Core', - desc: 'K-Core算法,标记所有度数为K的顶点。', - icon: , -}; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.k_core'; const KCoreVermeer = props => { + const {t} = useTranslation(); const { handleFormSubmit, searchValue, currentAlgorithm, updateCurrentAlgorithm, } = props; - + const info = { + name: 'K-Core', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph, graphStatus} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(true); @@ -122,7 +124,7 @@ const KCoreVermeer = props => { label='compute.parallel' name='compute.parallel' initialValue={1} - tooltip='worker计算线程数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.worker_num')} rules={[{validator: positiveIntegerValidator}]} > @@ -131,7 +133,7 @@ const KCoreVermeer = props => { label='kcore.degree_k' name='kcore.degree_k' initialValue={3} - tooltip='最小度数阈值' + tooltip={t(OWNED_TEXT_PATH + '.degree_k')} rules={[{validator: positiveIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js index 44298d300..221d3ea17 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithm/index.js @@ -12,17 +12,12 @@ import OlapComputerItem from '../OlapComputerItem'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, TEXT_PATH} from '../../../../../utils/constants'; +import {useTranslation} from 'react-i18next'; const {LABEL_PROPAGATION_ALGORITHM} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; - -const info = { - name: 'Label Propagation Algorithm', - desc: '标签传递算法,是一种图聚类算法,常用在社交网络中。', - icon: , -}; - +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.label_propagation_algorithm'; const LabelPropagationAlgorithm = props => { const { handleFormSubmit, @@ -30,7 +25,12 @@ const LabelPropagationAlgorithm = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); + const info = { + name: 'Label Propagation Algorithm', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -116,7 +116,7 @@ const LabelPropagationAlgorithm = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.instance_num')} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js index 49452b3cc..dbaac9e70 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/LabelPropagationAlgorithmVermeer/index.js @@ -12,17 +12,15 @@ import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; import {positiveIntegerValidator} from '../../utils/index'; -import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, GRAPH_LOAD_STATUS, TEXT_PATH} from '../../../../../utils/constants'; +import {useTranslation} from 'react-i18next'; const {LABEL_PROPAGATION_ALGORITHM} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {LOADED} = GRAPH_LOAD_STATUS; -const info = { - name: 'Label Propagation Algorithm', - desc: '标签传递算法,是一种图聚类算法,常用在社交网络中。', - icon: , -}; +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.label_propagation_algorithm'; + const LabelPropagationAlgorithmVermeer = props => { const { @@ -31,7 +29,12 @@ const LabelPropagationAlgorithmVermeer = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); + const info = { + name: 'Label Propagation Algorithm', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph, graphStatus} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(true); @@ -122,7 +125,7 @@ const LabelPropagationAlgorithmVermeer = props => { label='compute.parallel' name='compute.parallel' initialValue={1} - tooltip='worker计算线程数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.worker_num')} rules={[{validator: positiveIntegerValidator}]} > @@ -131,7 +134,7 @@ const LabelPropagationAlgorithmVermeer = props => { label='compute.max_step' name='compute.max_step' initialValue={10} - tooltip='最大迭代步数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.max_step')} rules={[{validator: positiveIntegerValidator}]} > diff --git a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Links/index.js b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Links/index.js index d97b0bcb1..e5a0b7536 100644 --- a/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Links/index.js +++ b/hugegraph-hubble/hubble-fe-new/src/modules/algorithm/algorithmsForm/Olap/Links/index.js @@ -12,22 +12,17 @@ import OlapComputerItem from '../OlapComputerItem'; import _ from 'lodash'; import * as api from '../../../../../api'; import removeNilKeys from '../../../../../utils/removeNilKeys'; -import {GRAPH_STATUS, ALGORITHM_NAME} from '../../../../../utils/constants'; +import {GRAPH_STATUS, ALGORITHM_NAME, TEXT_PATH} from '../../../../../utils/constants'; import {greaterThanZeroAndLowerThanTwoThousandAndOneIntegerValidator} from '../../utils'; +import {useTranslation} from 'react-i18next'; const {TextArea} = Input; const {LINKS} = ALGORITHM_NAME; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; - -const info = { - name: 'Links', - desc: '链路追踪算法,通过指定的一批开始顶点,按照指定的传播规则进行传播,到指定的结束条件后停止并记录下路径。', - icon: , -}; // eslint-disable-next-line const placeholder='{"start_vertexes":["A","B","C","D","E"],"vertex_end_condition":{"label":"user","property_filter":"$element.age <= 90"},"edge_end_condition":{"label":"pay","property_filter":"double($out.money) >= 4"},"edge_compare_condition":{"label":"pay","property_filter":"$out.money > $in.money"}}'; - +const OWNED_TEXT_PATH = TEXT_PATH.OLAP + '.links'; const Links = props => { const { handleFormSubmit, @@ -35,7 +30,12 @@ const Links = props => { currentAlgorithm, updateCurrentAlgorithm, } = props; - + const {t} = useTranslation(); + const info = { + name: 'Links', + desc: t(OWNED_TEXT_PATH + '.desc'), + icon: , + }; const {graphSpace, graph} = useContext(GraphAnalysisContext); const [isEnableRun, setEnableRun] = useState(false); const [isRequiring, setRequiring] = useState(false); @@ -120,7 +120,7 @@ const Links = props => { label='worker' name='worker' rules={[{required: true}]} - tooltip='实例数' + tooltip={t(TEXT_PATH.ALGORITHM_COMMON + '.instance_num')} > @@ -128,7 +128,7 @@ const Links = props => { label='links.analyze_config' name='links.analyze_config' initialValue={placeholder} - tooltip='链路传播条件配置' + tooltip={t(OWNED_TEXT_PATH + '.analyze_config')} rules={[{required: true}]} > + + + + {isCodeExpand ? ( +
+ {t('addition.operate.expand')} + {t('addition.operate.collapse')} +
+ ) : ( +
+
+ {t('addition.operate.collapse')} + {t('addition.operate.expand')} +
+
+ )} + + + {isCodeExpand && + dataAnalyzeStore.requestStatus.fetchGraphs === 'failed' && + dataAnalyzeStore.errorInfo.fetchGraphs.code === 460 && ( + + )} + + {isCodeExpand && ( +
+ + { + dataAnalyzeStore.setQueryMode(e.key); + }} + overlayClassName="improve-zindex" + onClickButton={handleQueryExecution} + size="small" + type="primary" + disabled={ + dataAnalyzeStore.codeEditorText.length === 0 || + !codeRegexp.test(dataAnalyzeStore.codeEditorText) || + dataAnalyzeStore.requestStatus.fetchGraphs === 'pending' + } + /> + + +
+ tips +
+
+ {dataAnalyzeStore.codeEditorText.length !== 0 ? ( + } + childrenWrapperElement="div" + > + + + ) : ( + + + + )} + +
+ )} + + ); +}); + +export const AlgorithmQuery: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const { algorithmAnalyzerStore } = dataAnalyzeStore; + const { t } = useTranslation(); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateShortestPathParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.shortestPathAlgorithmParams.source !== '' && + algorithmAnalyzerStore.shortestPathAlgorithmParams.target !== '' && + algorithmAnalyzerStore.shortestPathAlgorithmParams.max_depth !== ''; + + const handleChangeAlgorithm = (algorithm: string) => () => { + algorithmAnalyzerStore.changeCurrentAlgorithm(algorithm); + }; + + const handleExpandClick = () => { + algorithmAnalyzerStore.switchCollapse(!algorithmAnalyzerStore.isCollapse); + }; + + const renderForms = () => { + switch (algorithmAnalyzerStore.currentAlgorithm) { + case Algorithm.loopDetection: + return ; + case Algorithm.focusDetection: + return ; + case Algorithm.shortestPath: + return ; + case Algorithm.shortestPathAll: + return ; + case Algorithm.allPath: + return ; + case Algorithm.modelSimilarity: + return ; + case Algorithm.neighborRank: + return ; + case Algorithm.kStepNeighbor: + return ; + case Algorithm.kHop: + return ; + case Algorithm.customPath: + return ; + case Algorithm.radiographicInspection: + return ; + case Algorithm.sameNeighbor: + return ; + case Algorithm.weightedShortestPath: + return ; + case Algorithm.singleSourceWeightedShortestPath: + return ; + case Algorithm.jaccard: + return ; + case Algorithm.personalRankRecommendation: + return ; + } + }; + + useEffect(() => { + return () => { + algorithmAnalyzerStore.dispose(); + }; + }, []); + + return ( +
+
+ {algorithmAnalyzerStore.currentAlgorithm === '' ? ( + {t('data-analyze.algorithm-list.title')} + ) : ( +
+ go-back { + algorithmAnalyzerStore.switchCollapse(false); + algorithmAnalyzerStore.changeCurrentAlgorithm(''); + }} + /> + + {t( + `data-analyze.algorithm-list.${algorithmAnalyzerStore.currentAlgorithm}` + )} + +
+ )} +
+ expand-collpase +
+ {algorithmAnalyzerStore.isCollapse ? null : algorithmAnalyzerStore.currentAlgorithm === + '' ? ( + <> +
+ {[ + Algorithm.loopDetection, + Algorithm.focusDetection, + Algorithm.shortestPath, + Algorithm.shortestPathAll, + Algorithm.allPath + ].map((algorithm) => ( + + {t(`data-analyze.algorithm-list.${algorithm}`)} + + ))} +
+
+ {[ + Algorithm.modelSimilarity, + Algorithm.neighborRank, + Algorithm.kStepNeighbor, + Algorithm.kHop, + Algorithm.customPath + ].map((algorithm) => ( + + {t(`data-analyze.algorithm-list.${algorithm}`)} + + ))} +
+
+ {[ + Algorithm.radiographicInspection, + Algorithm.sameNeighbor, + Algorithm.weightedShortestPath, + Algorithm.singleSourceWeightedShortestPath, + Algorithm.jaccard + ].map((algorithm) => ( + + {t(`data-analyze.algorithm-list.${algorithm}`)} + + ))} +
+
+ {[Algorithm.personalRankRecommendation].map((algorithm) => ( + + {t(`data-analyze.algorithm-list.${algorithm}`)} + + ))} +
+ + ) : ( + renderForms() + )} +
+ ); +}); + +export default QueryAndAlgorithmLibrary; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/AllPath.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/AllPath.tsx new file mode 100644 index 000000000..8695bb8cf --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/AllPath.tsx @@ -0,0 +1,407 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { GraphManagementStoreContext } from '../../../../stores'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; + +const AllPath = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateAllPathParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.allPathParams.source !== '' && + algorithmAnalyzerStore.allPathParams.target !== '' && + algorithmAnalyzerStore.allPathParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.all-path.options.source')} + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('source'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.all-path.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.all-path.options.target')} + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'target', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('target'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('target'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.all-path.options.max_degree')} + + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('max_degree'); + } + }} + /> +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.all-path.options.direction')} + +
+ ) => { + algorithmAnalyzerStore.mutateAllPathParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t('data-analyze.algorithm-forms.all-path.options.capacity')} + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('capacity'); + } + }} + /> +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.all-path.options.max_depth')} + + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.all-path.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateAllPathParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateAllPathParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateAllPathParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default AllPath; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx new file mode 100644 index 000000000..e57b2ed59 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/CustomPath.tsx @@ -0,0 +1,1115 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { + size, + flatten, + flattenDeep, + uniq, + isEmpty, + cloneDeep, + fromPairs +} from 'lodash-es'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; + +const CustomPath = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { t } = useTranslation(); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 390 + ); + + const formWidthInStep = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 310, + 380 + ); + + const formSmallWidthInStep = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 150, + 160 + ); + + const sourceType = algorithmAnalyzerStore.customPathParams.method; + + const allowAddNewProperty = !flatten( + algorithmAnalyzerStore.customPathParams.vertexProperty + ).some((value) => value === ''); + + const addNewPropertyClassName = + allowAddNewProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' + ? 'query-tab-content-internal-expand-manipulation-enable' + : 'query-tab-content-internal-expand-manipulation-disabled'; + + const allowAddNewRuleProperty = !flattenDeep( + algorithmAnalyzerStore.customPathParams.steps.map( + ({ properties }) => properties + ) + ).some((value) => value === ''); + + const addNewRulePropertyClassName = + allowAddNewRuleProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' + ? 'query-tab-content-internal-expand-manipulation-enable' + : 'query-tab-content-internal-expand-manipulation-disabled'; + + const isValidSourceId = + algorithmAnalyzerStore.customPathParams.method === 'id' && + algorithmAnalyzerStore.customPathParams.source !== ''; + + const isValidProperty = + algorithmAnalyzerStore.customPathParams.method === 'property' && + !( + isEmpty(algorithmAnalyzerStore.customPathParams.vertexType) && + flatten( + algorithmAnalyzerStore.customPathParams.vertexProperty + ).every((value) => isEmpty(value)) + ) && + algorithmAnalyzerStore.customPathParams.vertexProperty.every( + ([key, value]) => (!isEmpty(key) ? !isEmpty(value) : true) + ); + + const isValidateRuleProperties = algorithmAnalyzerStore.customPathParams.steps.every( + ({ properties }) => { + if (size(properties) === 1) { + return ( + (isEmpty(properties[0][0]) && isEmpty(properties[0][1])) || + (!isEmpty(properties[0][0]) && !isEmpty(properties[0][1])) + ); + } else { + return properties.every(([, value]) => !isEmpty(value)); + } + } + ); + + const isValidRuleWeight = algorithmAnalyzerStore.customPathParams.steps.every( + ({ weight_by, default_weight }) => + algorithmAnalyzerStore.customPathParams.sort_by === 'NONE' || + (weight_by === '__CUSTOM_WEIGHT__' && default_weight !== '') || + (weight_by !== '__CUSTOM_WEIGHT__' && !isEmpty(weight_by)) + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateCustomPathParmasErrorMessage + ).every((value) => Array.isArray(value) || value === '') && + algorithmAnalyzerStore.validateCustomPathParmasErrorMessage.steps.every( + (step) => Object.values(step).every((value) => value === '') + ) && + (algorithmAnalyzerStore.customPathParams.method === 'id' + ? algorithmAnalyzerStore.customPathParams.source !== '' + : true) && + (isValidSourceId || isValidProperty) && + isValidateRuleProperties && + isValidRuleWeight; + + const isValidAddRule = algorithmAnalyzerStore.validateCustomPathParmasErrorMessage.steps.every( + (step) => Object.values(step).every((value) => value === '') + ); + + return ( +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.custom-path.options.method')} + +
+ ) => { + algorithmAnalyzerStore.switchCustomPathMethod(e.target.value); + }} + > + + {t( + 'data-analyze.algorithm-forms.custom-path.radio-value.specific-id' + )} + + + {t( + 'data-analyze.algorithm-forms.custom-path.radio-value.filtered-type-property' + )} + + +
+
+ + {sourceType === 'id' && ( +
+
+
+ * + + {t('data-analyze.algorithm-forms.custom-path.options.source')} + +
+ + { + algorithmAnalyzerStore.mutateCustomPathParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateCustomPathParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathParams('source'); + } + }} + /> +
+
+ )} + + {sourceType !== 'id' && ( + <> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.vertex-type' + )} + +
+ +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.vertex-property' + )} + +
+ +
+ {algorithmAnalyzerStore.customPathParams.vertexProperty.map( + ([key, value], propertyIndex) => { + const currentVertexType = dataAnalyzeStore.vertexTypes.find( + ({ name }) => + name === + algorithmAnalyzerStore.customPathParams.vertexType + ); + + return ( +
+ +
+ { + const vertexProperty = cloneDeep( + algorithmAnalyzerStore.customPathParams + .vertexProperty + ); + + vertexProperty[propertyIndex][1] = e.value; + + algorithmAnalyzerStore.mutateCustomPathParams( + 'vertexProperty', + vertexProperty + ); + + algorithmAnalyzerStore.validateCustomPathParams( + 'vertexProperty' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathParams( + 'vertexProperty' + ); + } + }} + /> +
+ {size( + algorithmAnalyzerStore.customPathParams + .vertexProperty + ) > 1 && ( +
{ + algorithmAnalyzerStore.removeCustomPathVertexProperty( + propertyIndex + ); + }} + > + {t( + 'data-analyze.algorithm-forms.custom-path.delete' + )} +
+ )} +
+ ); + } + )} +
+
+
+ {algorithmAnalyzerStore.customPathParams.vertexType === '' && + !allowAddNewProperty && + size(algorithmAnalyzerStore.customPathParams.vertexProperty) === + 1 ? ( +
+ + {t( + 'data-analyze.algorithm-forms.custom-path.hint.vertex_type_or_property' + )} + +
+ ) : ( +
+ { + if ( + allowAddNewProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' + ) { + algorithmAnalyzerStore.addCustomPathVertexProperty(); + } + }} + > + {t('data-analyze.algorithm-forms.custom-path.add')} + +
+ )} + + )} + +
+
+
+ * + + {t('data-analyze.algorithm-forms.custom-path.options.sort_by')} + +
+ ) => { + algorithmAnalyzerStore.mutateCustomPathParams( + 'sort_by', + e.target.value + ); + + if (e.target.value === 'NONE') { + algorithmAnalyzerStore.customPathParams.steps.forEach( + (_, ruleIndex) => { + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'weight_by', + '', + ruleIndex + ); + + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'default_weight', + '', + ruleIndex + ); + } + ); + } + }} + > + + {t('data-analyze.algorithm-forms.custom-path.radio-value.none')} + + + {t( + 'data-analyze.algorithm-forms.custom-path.radio-value.ascend' + )} + + + {t( + 'data-analyze.algorithm-forms.custom-path.radio-value.descend' + )} + + +
+
+
+
+
+ + {t('data-analyze.algorithm-forms.custom-path.options.capacity')} + +
+ { + algorithmAnalyzerStore.mutateCustomPathParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateCustomPathParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathParams('capacity'); + } + }} + /> +
+
+
+
+
+ + {t('data-analyze.algorithm-forms.custom-path.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateCustomPathParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateCustomPathParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ +
+ {algorithmAnalyzerStore.customPathParams.steps.map( + ( + { + uuid, + direction, + labels, + degree, + sample, + properties, + weight_by, + default_weight + }, + ruleIndex + ) => { + return ( +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.custom-path.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'direction', + e.target.value, + ruleIndex + ); + }} + > + both + out + in + + {size(algorithmAnalyzerStore.customPathParams.steps) > 1 && ( +
{ + algorithmAnalyzerStore.removeCustomPathRule(ruleIndex); + }} + > + 删除 +
+ )} +
+
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.labels' + )} + +
+ +
+ +
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.properties' + )} + +
+
+ <> + {properties.map(([key, value], propertyIndex) => { + return ( +
+
+ +
+ +
+ { + const clonedRuleProperties = cloneDeep( + properties + ); + + clonedRuleProperties[propertyIndex][1] = + e.value; + + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'properties', + clonedRuleProperties, + ruleIndex + ); + }} + /> +
+ + {size(properties) > 1 && ( +
{ + algorithmAnalyzerStore.removeCustomPathRuleProperty( + ruleIndex, + propertyIndex + ); + }} + > + {t( + 'data-analyze.algorithm-forms.custom-path.delete' + )} +
+ )} +
+ ); + })} + +
+ { + if ( + allowAddNewRuleProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== + 'pending' + ) { + algorithmAnalyzerStore.addCustomPathRuleProperty( + ruleIndex + ); + } + }} + > + {t('data-analyze.algorithm-forms.custom-path.add')} + +
+ +
+
+ + {algorithmAnalyzerStore.customPathParams.sort_by !== 'NONE' && ( +
+
+ * + + {t( + 'data-analyze.algorithm-forms.custom-path.options.weight_by' + )} + +
+ +
+ )} + {algorithmAnalyzerStore.customPathParams.steps[ruleIndex] + .weight_by === '__CUSTOM_WEIGHT__' && ( +
+
+ +
+ { + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'default_weight', + e.value as string, + ruleIndex + ); + + algorithmAnalyzerStore.validateCustomPathRules( + 'default_weight', + ruleIndex + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathRules( + 'default_weight', + ruleIndex + ); + } + }} + /> +
+ )} +
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.degree' + )} + +
+ { + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'degree', + e.value as string, + ruleIndex + ); + + algorithmAnalyzerStore.validateCustomPathRules( + 'degree', + ruleIndex + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathRules( + 'degree', + ruleIndex + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.custom-path.options.sample' + )} + +
+ { + algorithmAnalyzerStore.mutateCustomPathRuleParams( + 'sample', + e.value as string, + ruleIndex + ); + + algorithmAnalyzerStore.validateCustomPathRules( + 'sample', + ruleIndex + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateCustomPathRules( + 'sample', + ruleIndex + ); + } + }} + /> +
+
+ ); + } + )} +
+ { + if (isValidAddRule) { + algorithmAnalyzerStore.addCustomPathRule(); + } + }} + > + {t('data-analyze.algorithm-forms.custom-path.add-new-rule')} + +
+
+
+ ); +}); + +export default CustomPath; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx new file mode 100644 index 000000000..58a37782c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/FocusDetection.tsx @@ -0,0 +1,423 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, createContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { GraphManagementStoreContext } from '../../../../stores'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +const FocusDetection = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateFocusDetectionParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.focusDetectionParams.source !== '' && + algorithmAnalyzerStore.focusDetectionParams.target !== '' && + algorithmAnalyzerStore.focusDetectionParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.focus-detection.options.source')} + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams('source'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.focus-detection.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.focus-detection.options.target')} + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'target', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('target'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams('target'); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.focus-detection.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.focus-detection.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.focus-detection.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams('capacity'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.focus-detection.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams( + 'max_depth' + ); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.focus-detection.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateFocusDetectionParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateFocusDetectionParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateFocusDetectionParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default FocusDetection; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx new file mode 100644 index 000000000..8dcb148f4 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/Jaccard.tsx @@ -0,0 +1,278 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const Jaccard = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { t } = useTranslation(); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateJaccardParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.jaccardParams.vertex !== '' && + algorithmAnalyzerStore.jaccardParams.other !== ''; + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.jaccard.options.vertex')} + +
+ { + algorithmAnalyzerStore.mutateJaccardParams( + 'vertex', + e.value as string + ); + + algorithmAnalyzerStore.validateJaccardParams('vertex'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateJaccardParams('vertex'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.jaccard.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.jaccard.options.other')} + +
+ { + algorithmAnalyzerStore.mutateJaccardParams( + 'other', + e.value as string + ); + + algorithmAnalyzerStore.validateJaccardParams('other'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateJaccardParams('other'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.jaccard.options.max_degree')} + + +
+ { + algorithmAnalyzerStore.mutateJaccardParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateJaccardParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateJaccardParams('max_degree'); + } + }} + /> +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.jaccard.options.direction')} + +
+ ) => { + algorithmAnalyzerStore.mutateJaccardParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + +
+
+ ); +}); + +export default Jaccard; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KHop.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KHop.tsx new file mode 100644 index 000000000..bd12e6f83 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KHop.tsx @@ -0,0 +1,408 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; +import { styles } from '../QueryAndAlgorithmLibrary'; + +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const KHop = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values(algorithmAnalyzerStore.validateKHopParamsErrorMessage).every( + (value) => value === '' + ) && + algorithmAnalyzerStore.kHopParams.source !== '' && + algorithmAnalyzerStore.kHopParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.k-hop.options.source')} + +
+ { + algorithmAnalyzerStore.mutateKHopParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateKHopParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKHopParams('source'); + } + }} + /> +
+
+
+ {t('data-analyze.algorithm-forms.k-hop.options.label')} +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.k-hop.options.direction')} + +
+ ) => { + algorithmAnalyzerStore.mutateKHopParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t('data-analyze.algorithm-forms.k-hop.options.max_degree')} + + +
+ { + algorithmAnalyzerStore.mutateKHopParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateKHopParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKHopParams('max_degree'); + } + }} + /> +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.k-hop.options.max_depth')} + + +
+ { + algorithmAnalyzerStore.mutateKHopParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateKHopParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKHopParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.k-hop.options.capacity')} + +
+ { + algorithmAnalyzerStore.mutateKHopParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateKHopParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKHopParams('capacity'); + } + }} + /> +
+
+
+
+
+ + {t('data-analyze.algorithm-forms.k-hop.options.nearest')} + + +
+ { + algorithmAnalyzerStore.mutateKHopParams('nearest', checked); + }} + /> +
+
+
+ {t('data-analyze.algorithm-forms.k-hop.options.limit')} +
+ { + algorithmAnalyzerStore.mutateKHopParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateKHopParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKHopParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default KHop; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx new file mode 100644 index 000000000..6b46cd94a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/KStepNeighbor.tsx @@ -0,0 +1,348 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const KStepNeighbor = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateKStepNeighborParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.kStepNeighborParams.source !== '' && + algorithmAnalyzerStore.kStepNeighborParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.k-step-neighbor.options.source')} + +
+ { + algorithmAnalyzerStore.mutateKStepNeighborParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateKStepNeighborParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKStepNeighborParams('source'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.k-step-neighbor.options.label')} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.k-step-neighbor.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateKStepNeighborParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.k-step-neighbor.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateKStepNeighborParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateKStepNeighborParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKStepNeighborParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.k-step-neighbor.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateKStepNeighborParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateKStepNeighborParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKStepNeighborParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.k-step-neighbor.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateKStepNeighborParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateKStepNeighborParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateKStepNeighborParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default KStepNeighbor; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx new file mode 100644 index 000000000..49b134db7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/LoopDetection.tsx @@ -0,0 +1,407 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { GraphManagementStoreContext } from '../../../../stores'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const LoopDetection = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateLoopDetectionParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.loopDetectionParams.source !== '' && + algorithmAnalyzerStore.loopDetectionParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.loop-detection.options.source')} + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateLoopDetectionParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateLoopDetectionParams('source'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.loop-detection.options.label')} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.loop-detection.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.loop-detection.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateLoopDetectionParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateLoopDetectionParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.loop-detection.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateLoopDetectionParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateLoopDetectionParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.loop-detection.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateLoopDetectionParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateLoopDetectionParams('limit'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.loop-detection.options.source_in_ring' + )} + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'source_in_ring', + checked + ); + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.loop-detection.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateLoopDetectionParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateLoopDetectionParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateLoopDetectionParams('capacity'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default LoopDetection; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx new file mode 100644 index 000000000..4ad2ed7ab --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ModelSimilarity.tsx @@ -0,0 +1,1166 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { flatten, cloneDeep, size, isEmpty } from 'lodash-es'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; + +const ModelSimilarity = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 390 + ); + + const sourceType = algorithmAnalyzerStore.modelSimilarityParams.method; + + const allowAddNewProperty = !flatten( + algorithmAnalyzerStore.modelSimilarityParams.vertexProperty + ).some((value) => value === ''); + + const addNewPropertyClassName = + allowAddNewProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' + ? 'query-tab-content-internal-expand-manipulation-enable' + : 'query-tab-content-internal-expand-manipulation-disabled'; + + const isValidSourceId = + algorithmAnalyzerStore.modelSimilarityParams.method === 'id' && + algorithmAnalyzerStore.modelSimilarityParams.source !== ''; + + const isValidProperty = + algorithmAnalyzerStore.modelSimilarityParams.method === 'property' && + !( + isEmpty(algorithmAnalyzerStore.modelSimilarityParams.vertexType) && + flatten( + algorithmAnalyzerStore.modelSimilarityParams.vertexProperty + ).every((value) => isEmpty(value)) + ) && + algorithmAnalyzerStore.modelSimilarityParams.vertexProperty.every( + ([key, value]) => (!isEmpty(key) ? !isEmpty(value) : true) + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateModelSimilartiyParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.modelSimilarityParams.least_neighbor !== '' && + algorithmAnalyzerStore.modelSimilarityParams.similarity !== '' && + (!isEmpty(algorithmAnalyzerStore.modelSimilarityParams.property_filter) + ? algorithmAnalyzerStore.modelSimilarityParams.least_property_number !== + '' + : true) && + (isValidSourceId || isValidProperty); + + return ( +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.model-similarity.options.method' + )} + +
+ ) => { + algorithmAnalyzerStore.switchModelSimilarityMethod( + e.target.value + ); + }} + > + + {t( + 'data-analyze.algorithm-forms.model-similarity.radio-value.specific-id' + )} + + + {t( + 'data-analyze.algorithm-forms.model-similarity.radio-value.filtered-type-property' + )} + + +
+
+ + {sourceType === 'id' && ( +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.model-similarity.options.source' + )} + +
+ + { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'source' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'source' + ); + } + }} + /> +
+
+ )} + + {sourceType !== 'id' && ( + <> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.vertex-type' + )} + +
+ +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.vertex-property' + )} + +
+ +
+ {algorithmAnalyzerStore.modelSimilarityParams.vertexProperty.map( + ([key, value], propertyIndex) => { + const currentVertexType = dataAnalyzeStore.vertexTypes.find( + ({ name }) => + name === + algorithmAnalyzerStore.modelSimilarityParams + .vertexType + ); + + return ( +
+ +
+ { + const vertexProperty = cloneDeep( + algorithmAnalyzerStore.modelSimilarityParams + .vertexProperty + ); + + vertexProperty[propertyIndex][1] = e.value; + + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'vertexProperty', + vertexProperty + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'vertexProperty' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'vertexProperty' + ); + } + }} + /> +
+ {size( + algorithmAnalyzerStore.modelSimilarityParams + .vertexProperty + ) > 1 && ( +
{ + algorithmAnalyzerStore.removeModelSimilarityVertexProperty( + propertyIndex + ); + }} + > + {t( + 'data-analyze.algorithm-forms.model-similarity.delete' + )} +
+ )} +
+ ); + } + )} +
+
+
+ {algorithmAnalyzerStore.modelSimilarityParams.vertexType === '' && + !allowAddNewProperty && + size( + algorithmAnalyzerStore.modelSimilarityParams.vertexProperty + ) === 1 ? ( +
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.hint.vertex_type_or_property' + )} + +
+ ) : ( +
+ { + if ( + allowAddNewProperty && + dataAnalyzeStore.requestStatus.fetchGraphs !== 'pending' + ) { + algorithmAnalyzerStore.addModelSimilarityVertexProperty(); + } + }} + > + {t('data-analyze.algorithm-forms.model-similarity.add')} + +
+ )} + + )} + +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.model-similarity.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+ +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.model-similarity.options.least_neighbor' + )} + + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'least_neighbor', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_neighbor' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_neighbor' + ); + } + }} + /> +
+
+ +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.model-similarity.options.similarity' + )} + + +
+ + { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'similarity', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'similarity' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'similarity' + ); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.label' + )} + +
+ +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.max_similar' + )} + + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'max_similar', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'max_similar' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'max_similar' + ); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.least_similar' + )} + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'least_similar', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_similar' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_similar' + ); + } + }} + /> +
+
+ +
+ + +
+
+ +
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.property_filter' + )} + +
+ +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.least_property_number' + )} + + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'least_property_number', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_property_number' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'least_property_number' + ); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'max_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'max_degree' + ); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams( + 'capacity' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams( + 'capacity' + ); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.limit' + )} + +
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateModelSimilarityParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateModelSimilarityParams('limit'); + } + }} + /> +
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.return_common_connection' + )} + + +
+
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'return_common_connection', + checked + ); + }} + /> +
+
+
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.model-similarity.options.return_complete_info' + )} + +
+
+ { + algorithmAnalyzerStore.mutateModelSimilarityParams( + 'return_complete_info', + checked + ); + }} + /> +
+
+
+
+
+ ); +}); + +export default ModelSimilarity; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx new file mode 100644 index 000000000..845fd268f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/NeighborRank.tsx @@ -0,0 +1,500 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { size } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Button, Radio, Input, Select } from 'hubble-ui'; + +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; + +const NeighborRank = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const formWidthInStep = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 310, + 380 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage + ).every((value) => Array.isArray(value) || value === '') && + algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage.steps.every( + (step) => Object.values(step).every((value) => value === '') + ) && + algorithmAnalyzerStore.neighborRankParams.source !== '' && + algorithmAnalyzerStore.neighborRankParams.alpha !== ''; + + const isValidAddRule = algorithmAnalyzerStore.validateNeighborRankParamsParamsErrorMessage.steps.every( + (step) => Object.values(step).every((value) => value === '') + ); + + return ( +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.neighbor-rank.options.source')} + +
+ { + algorithmAnalyzerStore.mutateNeighborRankParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateNeighborRankParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateNeighborRankParams('source'); + } + }} + /> +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.neighbor-rank.options.alpha')} + +
+ { + algorithmAnalyzerStore.mutateNeighborRankParams( + 'alpha', + e.value as string + ); + + algorithmAnalyzerStore.validateNeighborRankParams('alpha'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateNeighborRankParams('alpha'); + } + }} + /> +
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.neighbor-rank.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateNeighborRankParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateNeighborRankParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateNeighborRankParams('capacity'); + } + }} + /> +
+
+
+ + +
+
+ +
+ {algorithmAnalyzerStore.neighborRankParams.steps.map( + ({ uuid, direction, labels, degree, top }, ruleIndex) => { + return ( +
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.neighbor-rank.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateNeighborRankRuleParams( + 'direction', + e.target.value, + ruleIndex + ); + }} + > + both + out + in + + {size(algorithmAnalyzerStore.neighborRankParams.steps) > + 1 && ( +
{ + algorithmAnalyzerStore.removeNeighborRankRule( + ruleIndex + ); + }} + > + {t('addition.common.del')} +
+ )} +
+
+
+ + {t( + 'data-analyze.algorithm-forms.neighbor-rank.options.label' + )} + +
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.neighbor-rank.options.degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateNeighborRankRuleParams( + 'degree', + e.value as string, + ruleIndex + ); + + algorithmAnalyzerStore.validateNeighborRankRules( + 'degree', + ruleIndex + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateNeighborRankRules( + 'degree', + ruleIndex + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.neighbor-rank.options.top' + )} + + +
+ { + algorithmAnalyzerStore.mutateNeighborRankRuleParams( + 'top', + e.value as string, + ruleIndex + ); + + algorithmAnalyzerStore.validateNeighborRankRules( + 'top', + ruleIndex + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateNeighborRankRules( + 'top', + ruleIndex + ); + } + }} + /> +
+
+ ); + } + )} +
+ { + if (isValidAddRule) { + algorithmAnalyzerStore.addNeighborRankRule(); + } + }} + > + {t('data-analyze.algorithm-forms.neighbor-rank.add-new-rule')} + +
+
+
+ ); +}); + +export default NeighborRank; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx new file mode 100644 index 000000000..866b8dbfd --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/PersonalRank.tsx @@ -0,0 +1,451 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const PersonalRank = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validatePersonalRankErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.personalRankParams.source !== '' && + algorithmAnalyzerStore.personalRankParams.alpha !== '' && + algorithmAnalyzerStore.personalRankParams.label !== '' && + algorithmAnalyzerStore.personalRankParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.personal-rank.options.source')} + +
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validatePersonalRankParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validatePersonalRankParams('source'); + } + }} + /> +
+
+
+ * + + {t('data-analyze.algorithm-forms.personal-rank.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.personal-rank.options.alpha')} + +
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'alpha', + e.value as string + ); + + algorithmAnalyzerStore.validatePersonalRankParams('alpha'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validatePersonalRankParams('alpha'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.personal-rank.options.degree')} + + +
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'degree', + e.value as string + ); + + algorithmAnalyzerStore.validatePersonalRankParams('degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validatePersonalRankParams('degree'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.personal-rank.options.max_depth' + )} + +
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validatePersonalRankParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validatePersonalRankParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.personal-rank.options.limit')} + +
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validatePersonalRankParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validatePersonalRankParams('limit'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.personal-rank.options.with_label' + )} + + +
+ ) => { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'with_label', + e.target.value + ); + }} + > + + {t( + 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.same_label' + )} + + + {t( + 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.other_label' + )} + + + {t( + 'data-analyze.algorithm-forms.personal-rank.with-label-radio-value.both_label' + )} + + +
+
+
+ + {t('data-analyze.algorithm-forms.personal-rank.options.sorted')} + + +
+
+ { + algorithmAnalyzerStore.mutatePersonalRankParams( + 'sorted', + checked + ); + }} + /> +
+
+
+
+ + +
+
+ ); +}); + +export default PersonalRank; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx new file mode 100644 index 000000000..682424fd3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/RadiographicInspection.tsx @@ -0,0 +1,422 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const RadiographicInspection = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateRadiographicInspectionParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.radiographicInspectionParams.source !== '' && + algorithmAnalyzerStore.radiographicInspectionParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.source' + )} + +
+ { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'source' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'source' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.label' + )} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'max_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'max_depth' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'max_depth' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'capacity' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'capacity' + ); + } + }} + /> +
+
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.radiographic-inspection.options.limit' + )} + +
+ { + algorithmAnalyzerStore.mutateRadiographicInspectionParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'limit' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateRadiographicInspectionParams( + 'limit' + ); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default RadiographicInspection; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx new file mode 100644 index 000000000..84496448d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SameNeighbor.tsx @@ -0,0 +1,318 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const SameNeighbor = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateSameNeighborParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.sameNeighborParams.vertex !== '' && + algorithmAnalyzerStore.sameNeighborParams.other !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.same-neighbor.options.vertex')} + +
+ { + algorithmAnalyzerStore.mutateSameNeighborParams( + 'vertex', + e.value as string + ); + + algorithmAnalyzerStore.validateSameNeighborParams('vertex'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSameNeighborParams('vertex'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.same-neighbor.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.same-neighbor.options.other')} + +
+ { + algorithmAnalyzerStore.mutateSameNeighborParams( + 'other', + e.value as string + ); + + algorithmAnalyzerStore.validateSameNeighborParams('other'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSameNeighborParams('other'); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.same-neighbor.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateSameNeighborParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateSameNeighborParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSameNeighborParams('max_degree'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.same-neighbor.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateSameNeighborParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t('data-analyze.algorithm-forms.same-neighbor.options.limit')} + +
+ { + algorithmAnalyzerStore.mutateSameNeighborParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateSameNeighborParams('limit'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSameNeighborParams('limit'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default SameNeighbor; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx new file mode 100644 index 000000000..1df1a02ce --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPath.tsx @@ -0,0 +1,454 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +const ShortestPath = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateShortestPathParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.shortestPathAlgorithmParams.source !== '' && + algorithmAnalyzerStore.shortestPathAlgorithmParams.target !== '' && + algorithmAnalyzerStore.shortestPathAlgorithmParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t('data-analyze.algorithm-forms.shortest-path.options.source')} + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams('source'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.shortest-path.options.label')} + +
+ +
+
+
+
+
+ * + + {t('data-analyze.algorithm-forms.shortest-path.options.target')} + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'target', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('target'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams('target'); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('max_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams('max_degree'); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateShortestPathParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path.options.skip_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'skip_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('skip_degree'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams( + 'skip_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams('max_depth'); + } + }} + /> +
+
+
+ + {t('data-analyze.algorithm-forms.shortest-path.options.capacity')} + +
+ { + algorithmAnalyzerStore.mutateShortestPathParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathParams('capacity'); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default ShortestPath; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx new file mode 100644 index 000000000..aa206b120 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/ShortestPathAll.tsx @@ -0,0 +1,469 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, createContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; + +const ShortestPathAll = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 400 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateShortestPathAllParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.shortestPathAllParams.source !== '' && + algorithmAnalyzerStore.shortestPathAllParams.target !== '' && + algorithmAnalyzerStore.shortestPathAllParams.max_depth !== ''; + + return ( +
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.source' + )} + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams('source'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams('source'); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.label' + )} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.target' + )} + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'target', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams('target'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams('target'); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams( + 'max_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams('capacity'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams( + 'capacity' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.max_depth' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'max_depth', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams('max_depth'); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams( + 'max_depth' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.shortest-path-all.options.skip_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateShortestPathAllParams( + 'skip_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateShortestPathAllParams( + 'skip_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateShortestPathAllParams( + 'skip_degree' + ); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default ShortestPathAll; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx new file mode 100644 index 000000000..3a84bf16b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/SingleSourceWeightedShortestPath.tsx @@ -0,0 +1,522 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const SingleSourceWeightedShortestPath = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 340, + 380 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.singleSourceWeightedShortestPathParams.source !== ''; + + return ( +
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.source' + )} + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'source' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'source' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.label' + )} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'max_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.weight' + )} + +
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.skip_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'skip_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'skip_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'skip_degree' + ); + } + }} + /> +
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.with_vertex' + )} + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'with_vertex', + checked + ); + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'capacity' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'capacity' + ); + } + }} + /> +
+
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.options.limit' + )} + +
+ { + algorithmAnalyzerStore.mutateSingleSourceWeightedShortestPathParams( + 'limit', + e.value as string + ); + + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'limit' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateSingleSourceWeightedShortestPathParams( + 'limit' + ); + } + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default SingleSourceWeightedShortestPath; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx new file mode 100644 index 000000000..26098f650 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/algorithm/WeightedShortestPath.tsx @@ -0,0 +1,500 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Radio, Input, Select, Switch } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; +import { styles } from '../QueryAndAlgorithmLibrary'; +import { Tooltip as CustomTooltip } from '../../../common'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import { isDataTypeNumeric, calcAlgorithmFormWidth } from '../../../../utils'; + +import QuestionMarkIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const WeightedShortestPath = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const algorithmAnalyzerStore = dataAnalyzeStore.algorithmAnalyzerStore; + const { t } = useTranslation(); + + const formWidth = calcAlgorithmFormWidth( + graphManagementStore.isExpanded, + 320, + 390 + ); + + const isValidExec = + Object.values( + algorithmAnalyzerStore.validateWeightedShortestPathParamsErrorMessage + ).every((value) => value === '') && + algorithmAnalyzerStore.weightedShortestPathParams.source !== '' && + algorithmAnalyzerStore.weightedShortestPathParams.target !== '' && + algorithmAnalyzerStore.weightedShortestPathParams.weight !== ''; + + return ( +
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.source' + )} + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'source', + e.value as string + ); + + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'source' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'source' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.label' + )} + +
+ +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.target' + )} + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'target', + e.value as string + ); + + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'target' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'target' + ); + } + }} + /> +
+
+
+ + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.max_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'max_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'max_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'max_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.direction' + )} + +
+ ) => { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'direction', + e.target.value + ); + }} + > + both + out + in + +
+
+
+ + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.skip_degree' + )} + + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'skip_degree', + e.value as string + ); + + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'skip_degree' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'skip_degree' + ); + } + }} + /> +
+
+
+
+
+ * + + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.weight' + )} + +
+ +
+
+
+ + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.capacity' + )} + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'capacity', + e.value as string + ); + + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'capacity' + ); + }} + originInputProps={{ + onBlur() { + algorithmAnalyzerStore.validateWeightedShortestPathParams( + 'capacity' + ); + } + }} + /> +
+
+
+
+
+ + {t( + 'data-analyze.algorithm-forms.weighted-shortest-path.options.with_vertex' + )} + +
+ { + algorithmAnalyzerStore.mutateWeightedShortestPathParams( + 'with_vertex', + checked + ); + }} + /> +
+
+
+ + +
+
+ ); +}); + +export default WeightedShortestPath; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/common/Favorite.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/common/Favorite.tsx new file mode 100644 index 000000000..11ea43224 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/common/Favorite.tsx @@ -0,0 +1,170 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useContext, useCallback } from 'react'; +import { observer } from 'mobx-react'; +import { Button, Input, Message } from 'hubble-ui'; + +import { DataAnalyzeStoreContext } from '../../../../stores'; +import { useTranslation } from 'react-i18next'; + +export interface FavoriteProps { + handlePop: (flag: boolean) => void; + queryStatement?: string; + isEdit?: boolean; + id?: number; + name?: string; +} + +const styles = { + primaryButton: { + width: 72, + marginRight: 12 + }, + alert: { + width: 320, + fontSize: 12, + marginTop: 4, + color: '#f5535b' + } +}; + +const Favorite: React.FC = observer( + ({ handlePop, queryStatement = '', isEdit = false, id, name = '' }) => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const { t } = useTranslation(); + const initialText = isEdit ? name : ''; + const [inputValue, setInputValue] = useState(initialText); + + const handleChange = useCallback(({ value }) => { + setInputValue(value); + }, []); + + const handleAddQueryCollection = useCallback(async () => { + await dataAnalyzeStore.addQueryCollection(inputValue, queryStatement); + + if (dataAnalyzeStore.requestStatus.addQueryCollection === 'success') { + dataAnalyzeStore.setFavoritePopUp(''); + handlePop(false); + setInputValue(''); + + Message.success({ + content: isEdit + ? t('addition.operate.modify-success') + : t('addition.operate.favorite-success'), + size: 'medium', + showCloseIcon: false + }); + + dataAnalyzeStore.fetchFavoriteQueries(); + } + }, [dataAnalyzeStore, handlePop, inputValue, isEdit, queryStatement]); + + const handleEditQueryCollection = useCallback(async () => { + await dataAnalyzeStore.editQueryCollection( + id as number, + inputValue, + queryStatement + ); + + if (dataAnalyzeStore.requestStatus.editQueryCollection === 'success') { + dataAnalyzeStore.setFavoritePopUp(''); + handlePop(false); + setInputValue(''); + + Message.success({ + content: t('addition.operate.modify-success'), + size: 'medium', + showCloseIcon: false + }); + + dataAnalyzeStore.fetchFavoriteQueries(); + } + }, [dataAnalyzeStore, handlePop, id, inputValue, queryStatement]); + + const handleCancel = useCallback( + (type: 'add' | 'edit') => () => { + handlePop(false); + dataAnalyzeStore.setFavoritePopUp(''); + setInputValue(initialText); + dataAnalyzeStore.resetFavoriteRequestStatus(type); + }, + [dataAnalyzeStore, handlePop, initialText] + ); + + return ( +
+
+ + {isEdit + ? t('addition.operate.modify-name') + : t('addition.operate.favorite-statement')} + + + {dataAnalyzeStore.requestStatus.addQueryCollection === 'failed' && + isEdit === false && ( +
+ {dataAnalyzeStore.errorInfo.addQueryCollection.message} +
+ )} + {dataAnalyzeStore.requestStatus.editQueryCollection === 'failed' && + isEdit === true && ( +
+ {dataAnalyzeStore.errorInfo.editQueryCollection.message} +
+ )} +
+ + +
+
+
+ ); + } +); + +export default Favorite; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/index.ts new file mode 100644 index 000000000..dffd5e2e7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import DataAnalyze from './DataAnalyze'; + +export { DataAnalyze }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx new file mode 100644 index 000000000..26be682e4 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphPopOver.tsx @@ -0,0 +1,231 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect, useRef, useCallback } from 'react'; +import { observer } from 'mobx-react'; +import { Message } from 'hubble-ui'; +import { isUndefined, size, isEmpty } from 'lodash-es'; + +import { DataAnalyzeStoreContext } from '../../../../stores'; +import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; +import { useTranslation } from 'react-i18next'; + +interface GraphPopOverProps { + x: number; + y: number; + switchIsPopover: (state: boolean) => void; + isAfterDragging: boolean; + switchAfterDragging: (state: boolean) => void; +} + +const GraphPopOver: React.FC = observer( + ({ x, y, isAfterDragging, switchAfterDragging, switchIsPopover }) => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const popoverWrapperRef = useRef(null); + const { t } = useTranslation(); + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + popoverWrapperRef.current && + !popoverWrapperRef.current.contains(e.target as Element) + ) { + if (isAfterDragging) { + switchAfterDragging(false); + return; + } + + switchIsPopover(false); + } + }, + [switchIsPopover, isAfterDragging] + ); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
e.preventDefault()} + style={{ top: y, left: x }} + ref={popoverWrapperRef} + > + {dataAnalyzeStore.rightClickedGraphData.id === '' ? ( +
{ + switchIsPopover(false); + dataAnalyzeStore.setDynamicAddGraphDataStatus('vertex'); + }} + > + {t('addition.common.add-vertex')} +
+ ) : ( + <> +
{ + const node = dataAnalyzeStore.graphData.data.graph_view.vertices.find( + ({ id }) => id === dataAnalyzeStore.rightClickedGraphData.id + ); + + if (isUndefined(node)) { + return; + } + + if (node.label === '~undefined') { + Message.info({ + content: t('addition.message.illegal-vertex'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } + + if ( + isUndefined( + dataAnalyzeStore.vertexTypes.find( + ({ name }) => name === node.label + ) + ) + ) { + return; + } + + await dataAnalyzeStore.expandGraphNode(); + + if ( + dataAnalyzeStore.requestStatus.expandGraphNode === 'success' + ) { + // prompt if there's no extra node + if ( + size( + dataAnalyzeStore.expandedGraphData.data.graph_view + .vertices + ) === 0 + ) { + if ( + isEmpty( + dataAnalyzeStore.visNetwork?.getConnectedNodes(node.id) + ) + ) { + Message.info({ + content: t('addition.message.no-adjacency-points'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } else { + Message.info({ + content: t('addition.message.no-more-points'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } + + return; + } + + addGraphNodes( + dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, + dataAnalyzeStore.visDataSet?.nodes, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexWritingMappings + ); + + addGraphEdges( + dataAnalyzeStore.expandedGraphData.data.graph_view.edges, + dataAnalyzeStore.visDataSet?.edges, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings + ); + + dataAnalyzeStore.resetRightClickedGraphData(); + switchIsPopover(false); + } else { + Message.error({ + content: dataAnalyzeStore.errorInfo.expandGraphNode.message, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('addition.operate.expand')} +
+
{ + dataAnalyzeStore.switchShowFilterBoard(true); + switchIsPopover(false); + }} + > + {t('addition.operate.query')} +
+
{ + dataAnalyzeStore.visDataSet?.nodes.remove([ + dataAnalyzeStore.rightClickedGraphData.id + ]); + dataAnalyzeStore.hideGraphNode( + dataAnalyzeStore.rightClickedGraphData.id + ); + dataAnalyzeStore.resetRightClickedGraphData(); + switchIsPopover(false); + }} + > + {t('addition.operate.hidden')} +
+
{ + dataAnalyzeStore.setDynamicAddGraphDataStatus('outEdge'); + dataAnalyzeStore.fetchRelatedEdges(); + switchIsPopover(false); + }} + > + {t('addition.common.add-out-edge')} +
+
{ + dataAnalyzeStore.setDynamicAddGraphDataStatus('inEdge'); + dataAnalyzeStore.fetchRelatedEdges(); + switchIsPopover(false); + }} + > + {t('addition.common.add-in-edge')} +
+ + )} +
+ ); + } +); + +export default GraphPopOver; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx new file mode 100644 index 000000000..f6f5d710b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/GraphQueryResult.tsx @@ -0,0 +1,659 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useState, + useContext, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { size, isUndefined, isEmpty } from 'lodash-es'; +import { saveAs } from 'file-saver'; +import vis from 'vis-network'; +import 'vis-network/styles/vis-network.min.css'; +import { Message } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import QueryFilterOptions from './QueryFilterOptions'; +import GraphPopOver from './GraphPopOver'; +import { DataAnalyzeStoreContext } from '../../../../stores'; +import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; + +import ZoomInIcon from '../../../../assets/imgs/ic_fangda_16.svg'; +import ZoomOutIcon from '../../../../assets/imgs/ic_suoxiao_16.svg'; +import CenterIcon from '../../../../assets/imgs/ic_middle_16.svg'; +import DownloadIcon from '../../../../assets/imgs/ic_xiazai_16.svg'; +import FullScreenIcon from '../../../../assets/imgs/ic_quanping_16.svg'; +import ResetScreenIcon from '../../../../assets/imgs/ic_tuichuquanping_16.svg'; +import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; +import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; +import AddNodeIcon from '../../../../assets/imgs/ic_add_node.svg'; + +export interface GraphQueryResult { + hidden: boolean; +} + +const GraphQueryResult: React.FC = observer(({ hidden }) => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const { t } = useTranslation(); + const graphWrapper = useRef(null); + const resultWrapper = useRef(null); + const legendViewPointWrapper = useRef(null); + const legendWrapper = useRef(null); + const [showLoadingGraphs, switchShowLoadingGraphs] = useState(true); + const [isPopover, switchIsPopover] = useState(false); + const [isAfterDragging, switchAfterDragging] = useState(false); + const [nodeTooltipX, setNodeToolTipX] = useState(0); + const [nodeTooltipY, setNodeToolTipY] = useState(0); + const [legendStep, setLegendStep] = useState(0); + const [legendWidth, setlegendWitdh] = useState(0); + + const [graph, setGraph] = useState(null); + + const redrawGraphs = useCallback(() => { + if (graph) { + const width = getComputedStyle(resultWrapper.current!).width as string; + const height = getComputedStyle(resultWrapper.current!).height as string; + + graph.setSize(width, height); + graph.redraw(); + } + }, [graph]); + + useEffect(() => { + const width = getComputedStyle(resultWrapper.current!).width as string; + const height = getComputedStyle(resultWrapper.current!).height as string; + + const graphNodes = new vis.DataSet(dataAnalyzeStore.graphNodes); + const graphEdges = new vis.DataSet(dataAnalyzeStore.graphEdges); + + if (!graph) { + const data = { + nodes: graphNodes, + edges: graphEdges + }; + + const layout: vis.Options = { + width, + height, + nodes: { + shape: 'dot' + }, + edges: { + arrowStrikethrough: false, + color: { + color: 'rgba(92, 115, 230, 0.8)', + hover: 'rgba(92, 115, 230, 1)', + highlight: 'rgba(92, 115, 230, 1)' + }, + scaling: { + min: 1, + max: 3, + label: { + enabled: false + } + } + }, + interaction: { + hover: true + }, + physics: { + maxVelocity: 50, + solver: 'forceAtlas2Based', + timestep: 0.3, + stabilization: { iterations: 150 } + } + }; + + // initialize your network! + if (graphWrapper.current !== null) { + const network = new vis.Network(graphWrapper!.current, data, layout); + + let timer: number | undefined = undefined; + + network.on('click', ({ nodes, edges }) => { + // click on node, note that edges(related) also has value + if (!isEmpty(nodes)) { + // note: cannot abstract switchClickOn...() and clearTimeout + // as common callings with node and edge, since click event + // would be dispatched even if click is not on node and edge + dataAnalyzeStore.switchClickOnNodeOrEdge(true); + clearTimeout(timer); + + timer = window.setTimeout(() => { + const nodeId = nodes[0]; + const node = + dataAnalyzeStore.graphData.data.graph_view.vertices.find( + ({ id }) => id === nodeId + ); + + if (isUndefined(node)) { + return; + } + + dataAnalyzeStore.changeSelectedGraphData({ + id: node.id, + label: node.label, + properties: node.properties + }); + + dataAnalyzeStore.syncGraphEditableProperties('vertex'); + dataAnalyzeStore.initValidateEditGraphDataPropertiesErrorMessage(); + + if ( + dataAnalyzeStore.graphInfoDataSet !== 'node' || + !dataAnalyzeStore.isShowGraphInfo + ) { + dataAnalyzeStore.switchShowScreeDataSet('node'); + dataAnalyzeStore.switchShowScreenInfo(true); + } + + // close filter board after click on node + dataAnalyzeStore.switchShowFilterBoard(false); + // reset status, or click blank area won't collpase the drawer + dataAnalyzeStore.switchClickOnNodeOrEdge(false); + }, 200); + + return; + } + + // click on edge + if (!isEmpty(edges)) { + dataAnalyzeStore.switchClickOnNodeOrEdge(true); + clearTimeout(timer); + + timer = window.setTimeout(() => { + const edgeId = edges[0]; + + const edge = + dataAnalyzeStore.graphData.data.graph_view.edges.find( + ({ id }) => id === edgeId + ); + + if (isUndefined(edge)) { + return; + } + + dataAnalyzeStore.changeSelectedGraphLinkData({ + id: edge.id, + label: edge.label, + properties: edge.properties, + source: edge.source, + target: edge.target + }); + + dataAnalyzeStore.syncGraphEditableProperties('edge'); + dataAnalyzeStore.initValidateEditGraphDataPropertiesErrorMessage(); + + if ( + dataAnalyzeStore.graphInfoDataSet !== 'edge' || + !dataAnalyzeStore.isShowGraphInfo + ) { + dataAnalyzeStore.switchShowScreeDataSet('edge'); + dataAnalyzeStore.switchShowScreenInfo(true); + } + + // close filter board after click on edge + dataAnalyzeStore.switchShowFilterBoard(false); + // reset status, or click blank area won't collpase the drawer + dataAnalyzeStore.switchClickOnNodeOrEdge(false); + }, 200); + } + }); + + network.on('doubleClick', async ({ nodes }) => { + clearTimeout(timer); + dataAnalyzeStore.switchClickOnNodeOrEdge(false); + if (!isEmpty(nodes)) { + const nodeId = nodes[0]; + const node = + dataAnalyzeStore.graphData.data.graph_view.vertices.find( + ({ id }) => id === nodeId + ); + + if (!isUndefined(node)) { + // specific symbol (~undefined) in schema + if (node.label === '~undefined') { + Message.info({ + content: t('addition.common.illegal-vertex-desc'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } + + if ( + isUndefined( + dataAnalyzeStore.vertexTypes.find( + ({ name }) => name === node.label + ) + ) + ) { + return; + } + + await dataAnalyzeStore.expandGraphNode(node.id, node.label); + + if ( + dataAnalyzeStore.requestStatus.expandGraphNode === 'success' + ) { + // prompt if there's no extra node + if ( + size( + dataAnalyzeStore.expandedGraphData.data.graph_view.vertices + ) === 0 + ) { + if (isEmpty(network.getConnectedNodes(nodeId))) { + Message.info({ + content: t('addition.message.no-adjacency-points'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } else { + Message.info({ + content: t('addition.message.no-more-points'), + size: 'medium', + showCloseIcon: false, + duration: 1 + }); + } + + return; + } + + addGraphNodes( + dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, + dataAnalyzeStore.visDataSet?.nodes, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexWritingMappings + ); + + addGraphEdges( + dataAnalyzeStore.expandedGraphData.data.graph_view.edges, + dataAnalyzeStore.visDataSet?.edges, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings + ); + } + + if (dataAnalyzeStore.requestStatus.expandGraphNode === 'failed') { + Message.error({ + content: dataAnalyzeStore.errorInfo.expandGraphNode.message, + size: 'medium', + showCloseIcon: false + }); + } + } else { + Message.error({ + content: dataAnalyzeStore.errorInfo.expandGraphNode.message, + size: 'medium', + showCloseIcon: false + }); + } + } + }); + + network.on('oncontext', async (e) => { + // disable default context menu + e.event.preventDefault(); + + // It's weird that sometimes e.nodes is empty when right click on node + // thus using coordinate to work as expect + const nodeId = network.getNodeAt(e.pointer.DOM); + const node = dataAnalyzeStore.graphData.data.graph_view.vertices.find( + ({ id }) => id === nodeId + ); + + if (!isUndefined(node)) { + dataAnalyzeStore.changeRightClickedGraphData({ + id: node.id, + label: node.label, + properties: node.properties + }); + + switchIsPopover(true); + + network.selectNodes([nodeId]); + setNodeToolTipX(e.pointer.DOM.x); + setNodeToolTipY(e.pointer.DOM.y); + dataAnalyzeStore.setVisCurrentCoordinates({ + domX: e.pointer.DOM.x, + domY: e.pointer.DOM.y, + canvasX: e.pointer.canvas.x, + canvasY: e.pointer.canvas.y + }); + + await dataAnalyzeStore.fetchRelatedVertex(); + + if (size(dataAnalyzeStore.graphDataEdgeTypes) !== 0) { + dataAnalyzeStore.fetchFilteredPropertyOptions( + dataAnalyzeStore.graphDataEdgeTypes[0] + ); + } + } else { + const edgeId = network.getEdgeAt(e.pointer.DOM); + + // if not click on edge + if (isUndefined(edgeId)) { + dataAnalyzeStore.resetRightClickedGraphData(); + setNodeToolTipX(e.pointer.DOM.x); + setNodeToolTipY(e.pointer.DOM.y); + dataAnalyzeStore.setVisCurrentCoordinates({ + domX: e.pointer.DOM.x, + domY: e.pointer.DOM.y, + canvasX: e.pointer.canvas.x, + canvasY: e.pointer.canvas.y + }); + switchIsPopover(true); + } + } + }); + + network.on('dragging', () => { + const node = dataAnalyzeStore.visDataSet?.nodes.get( + dataAnalyzeStore.rightClickedGraphData.id + ); + + if (node !== null) { + const position = network.getPositions(node.id); + setNodeToolTipX(network.canvasToDOM(position[node.id]).x); + setNodeToolTipY(network.canvasToDOM(position[node.id]).y); + switchAfterDragging(true); + } + }); + + network.on('zoom', () => { + const node = dataAnalyzeStore.visDataSet?.nodes.get( + dataAnalyzeStore.rightClickedGraphData.id + ); + + if (node !== null) { + const position = network.getPositions(node.id); + setNodeToolTipX(network.canvasToDOM(position[node.id]).x); + setNodeToolTipY(network.canvasToDOM(position[node.id]).y); + } + }); + + network.on('dragEnd', (e) => { + if (!isEmpty(e.nodes)) { + network.unselectAll(); + } + }); + + network.once('stabilizationIterationsDone', () => { + switchShowLoadingGraphs(false); + }); + + setGraph(network); + dataAnalyzeStore.setVisNetwork(network); + } + } else { + if (!dataAnalyzeStore.isGraphLoaded) { + graph.setData({ + nodes: graphNodes, + edges: graphEdges + }); + + dataAnalyzeStore.setVisDataSet({ + nodes: graphNodes, + edges: graphEdges + }); + + dataAnalyzeStore.switchGraphLoaded(true); + } + + redrawGraphs(); + } + }, [ + dataAnalyzeStore, + dataAnalyzeStore.originalGraphData, + graph, + dataAnalyzeStore.isFullScreenReuslt, + redrawGraphs + ]); + + useEffect(() => { + if (legendWrapper.current) { + const legendWidth = getComputedStyle(legendWrapper.current).width!.split( + 'px' + )[0]; + + setlegendWitdh(Number(legendWidth)); + } + }, []); + + useEffect(() => { + window.addEventListener('resize', redrawGraphs, false); + + return () => { + window.removeEventListener('resize', redrawGraphs); + }; + }, [redrawGraphs]); + + return ( + <> + + {dataAnalyzeStore.isShowFilterBoard && } + {showLoadingGraphs && ( +
+
+ {t('addition.operate.load-background')} + {t('addition.operate.load-spinner')} +
+ {t('addition.operate.rendering')}... +
+ )} + + ); +}); + +export default GraphQueryResult; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx new file mode 100644 index 000000000..fed89e518 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/JSONQueryResult.tsx @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import ReactJsonView from 'react-json-view'; +import 'codemirror/mode/javascript/javascript'; + +import { DataAnalyzeStoreContext } from '../../../../stores'; + +const JSONQueryResult: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + + return ( +
+ +
+ ); +}); + +export default JSONQueryResult; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx new file mode 100644 index 000000000..3b8e48afe --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryFilterOptions.tsx @@ -0,0 +1,405 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useCallback } from 'react'; +import { observer } from 'mobx-react'; +import { Select, Input, NumberBox, Calendar } from 'hubble-ui'; +import { Message } from 'hubble-ui'; + +import { DataAnalyzeStoreContext } from '../../../../stores'; +import { addGraphNodes, addGraphEdges } from '../../../../stores/utils'; +import { useTranslation } from 'react-i18next'; +import i18next from '../../../../i18n'; + +const getRuleOptions = (ruleType: string = '') => { + switch (ruleType.toLowerCase()) { + case 'float': + case 'double': + case 'byte': + case 'int': + case 'long': + case 'date': + return [ + i18next.t('addition.constant.greater-than'), + i18next.t('addition.constant.greater-than-or-equal'), + i18next.t('addition.constant.less-than'), + i18next.t('addition.constant.less-than-or-equal'), + i18next.t('addition.constant.equal') + ]; + case 'object': + case 'text': + case 'blob': + case 'uuid': + return [i18next.t('addition.constant.equal')]; + case 'boolean': + return ['True', 'False']; + default: + return []; + } +}; + +const QueryFilterOptions: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const { t } = useTranslation(); + const line = dataAnalyzeStore.filteredGraphQueryOptions.line; + const properties = dataAnalyzeStore.filteredGraphQueryOptions.properties; + const lastProperty = properties[properties.length - 1]; + + // value of the corresponding revealed form should not be empty + const allowSendFilterRequest = + (properties.length === 0 && line.type !== '') || + (lastProperty && + lastProperty.property !== '' && + lastProperty.rule !== '' && + lastProperty.value !== '') || + (lastProperty && + (lastProperty.rule === 'True' || lastProperty.rule === 'False')); + + const allowAddProperties = + allowSendFilterRequest && + dataAnalyzeStore.filteredPropertyOptions.length !== 0 && + dataAnalyzeStore.filteredGraphQueryOptions.properties.length !== + dataAnalyzeStore.filteredPropertyOptions.length; + + const handleEdgeSelectChange = useCallback( + (key: 'type' | 'direction') => (value: string) => { + dataAnalyzeStore.editEdgeFilterOption(key, value); + dataAnalyzeStore.fetchFilteredPropertyOptions(value); + }, + [dataAnalyzeStore] + ); + + const handlePropertyChange = useCallback( + ( + key: 'property' | 'rule' | 'value', + value: string | number, + index: number + ) => { + dataAnalyzeStore.editPropertyFilterOption(key, value, index); + }, + [dataAnalyzeStore] + ); + + const renderPropertyValue = ( + type: string = '', + value: string, + index: number + ) => { + const shouldDisabled = + dataAnalyzeStore.filteredGraphQueryOptions.properties[index].property === + ''; + + switch (type.toLowerCase()) { + case 'float': + case 'double': + return ( + { + handlePropertyChange('value', Number(e.value), index); + }} + disabled={shouldDisabled} + /> + ); + case 'byte': + case 'int': + case 'long': + return ( + { + handlePropertyChange('value', Number(e.target.value), index); + }} + disabled={shouldDisabled} + /> + ); + case 'date': + return ( + { + handlePropertyChange('value', timeParams.beginTime, index); + }} + disabled={shouldDisabled} + /> + ); + case 'object': + case 'text': + case 'blob': + case 'uuid': + return ( + { + handlePropertyChange('value', e.value, index); + }} + disabled={shouldDisabled} + /> + ); + case 'boolean': + return
/
; + default: + return ( + + ); + } + }; + + return ( +
+
+
+ + {t('addition.common.edge-type')}: + + +
+
+ + {t('addition.common.edge-direction')}: + + +
+
+ { + if (!allowSendFilterRequest) { + return; + } + + await dataAnalyzeStore.filterGraphData(); + + if ( + dataAnalyzeStore.requestStatus.filteredGraphData === 'success' + ) { + addGraphNodes( + dataAnalyzeStore.expandedGraphData.data.graph_view.vertices, + dataAnalyzeStore.visDataSet?.nodes, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexWritingMappings + ); + + addGraphEdges( + dataAnalyzeStore.expandedGraphData.data.graph_view.edges, + dataAnalyzeStore.visDataSet?.edges, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings + ); + + // highlight new vertices + if (dataAnalyzeStore.visNetwork !== null) { + dataAnalyzeStore.visNetwork.selectNodes( + dataAnalyzeStore.expandedGraphData.data.graph_view.vertices + .map(({ id }) => id) + .concat([dataAnalyzeStore.rightClickedGraphData.id]), + true + ); + } + + dataAnalyzeStore.switchShowFilterBoard(false); + dataAnalyzeStore.clearFilteredGraphQueryOptions(); + } else { + Message.error({ + content: dataAnalyzeStore.errorInfo.filteredGraphData.message, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('addition.operate.filter')} + + { + dataAnalyzeStore.switchShowFilterBoard(false); + dataAnalyzeStore.clearFilteredGraphQueryOptions(); + + if (dataAnalyzeStore.visNetwork !== null) { + dataAnalyzeStore.visNetwork.unselectAll(); + } + }} + > + {t('addition.common.cancel')} + +
+
+ {dataAnalyzeStore.filteredGraphQueryOptions.properties.length !== 0 && ( +
+ )} + {dataAnalyzeStore.filteredGraphQueryOptions.properties.map( + ({ property, rule, value }, index) => { + return ( +
+
+ {t('addition.common.property')}: + +
+
+ {t('addition.common.rule')}: + +
+
+ {t('addition.common.value')}: + {renderPropertyValue( + // the real type of value + dataAnalyzeStore.valueTypes[property], + value, + index + )} +
+
+ { + dataAnalyzeStore.deletePropertyFilterOption(index); + }} + > + {t('addition.common.del')} + +
+
+ ); + } + )} +
+ { + dataAnalyzeStore.addPropertyFilterOption(); + } + : undefined + } + style={{ + color: allowAddProperties ? '#2b65ff' : '#ccc' + }} + > + {t('addition.operate.add-filter-item')} + +
+
+ ); +}); + +export default QueryFilterOptions; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryResult.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryResult.tsx new file mode 100644 index 000000000..15fa71c2d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/QueryResult.tsx @@ -0,0 +1,243 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { isEmpty } from 'lodash-es'; +import { useLocation } from 'wouter'; +import classnames from 'classnames'; + +import GraphQueryResult from './GraphQueryResult'; +import TableQueryResult from './TableQueryResult'; +import JSONQueryResult from './JSONQueryResult'; +import { + DataAnalyzeStoreContext, + AsyncTasksStoreContext +} from '../../../../stores'; +import { Algorithm } from '../../../../stores/factory/dataAnalyzeStore/algorithmStore'; +import EmptyIcon from '../../../../assets/imgs/ic_sousuo_empty.svg'; +import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; +import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; +import FinishedIcon from '../../../../assets/imgs/ic_done_144.svg'; +import FailedIcon from '../../../../assets/imgs/ic_fail.svg'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +export interface QueryResultProps { + sidebarIndex: number; + handleSetSidebarIndex: (index: number) => void; +} + +const dataAnalyzeContentSidebarOptions = [ + i18next.t('addition.menu.chart'), + i18next.t('addition.menu.table'), + 'Json' +]; + +const QueryResult: React.FC = observer( + ({ sidebarIndex, handleSetSidebarIndex }) => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + const { algorithmAnalyzerStore } = dataAnalyzeStore; + const asyncTasksStore = useContext(AsyncTasksStoreContext); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const renderReuslt = (index: number) => { + switch (index) { + case 1: + return ; + case 2: + return ; + } + }; + + const queryResutlClassName = classnames({ + 'query-result': true, + 'query-result-fullscreen': dataAnalyzeStore.isFullScreenReuslt + }); + + const dynHeightStyle: Record = {}; + + if ( + dataAnalyzeStore.currentTab === 'algorithm-analyze' && + !algorithmAnalyzerStore.isCollapse + ) { + if (algorithmAnalyzerStore.currentAlgorithm === '') { + dynHeightStyle.height = 'calc(100vh - 441px)'; + } + } + + return ( +
+ {!dataAnalyzeStore.isFullScreenReuslt && ( +
+ {dataAnalyzeContentSidebarOptions.map((text, index) => ( +
+
{ + handleSetSidebarIndex(index); + }} + className={ + sidebarIndex === index + ? 'query-result-sidebar-options-active' + : '' + } + > + + {text} +
+
+ ))} +
+ )} +
+ {dataAnalyzeStore.requestStatus.fetchGraphs === 'success' && + renderReuslt(sidebarIndex)} + + {dataAnalyzeStore.requestStatus.fetchGraphs === 'success' && + dataAnalyzeStore.graphData.data.graph_view.vertices !== null && + dataAnalyzeStore.graphData.data.graph_view.edges !== null && + !isEmpty(dataAnalyzeStore.graphData.data.graph_view.vertices) && ( +
+
+ ); + } +); + +export default QueryResult; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx new file mode 100644 index 000000000..1ee0764be --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/TableQueryResult.tsx @@ -0,0 +1,91 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useCallback } from 'react'; +import { observer } from 'mobx-react'; +import { Table } from 'hubble-ui'; +import { size } from 'lodash-es'; + +import { DataAnalyzeStoreContext } from '../../../../stores'; + +const TableQueryResult: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStoreContext); + + const columnConfigs = dataAnalyzeStore.originalGraphData.data.table_view.header.map( + (title) => ({ + title, + dataIndex: title, + width: + 100 / size(dataAnalyzeStore.originalGraphData.data.table_view.header) + + '%', + render(text: any) { + if (title === 'path') { + return ; + } + + return JSON.stringify(text); + } + }) + ); + + const handlePageChange = useCallback( + (e: React.ChangeEvent) => { + dataAnalyzeStore.mutatePageNumber('tableResult', Number(e.target.value)); + }, + [dataAnalyzeStore] + ); + + return ( +
+
+ + ); +}); + +// item could be obejct array which needs serialization as well +const PathItem: React.FC<{ items: string[] }> = observer(({ items }) => ( + <> + {items.map((item: string) => ( + + {JSON.stringify(item)} + + ))} + +)); + +export default TableQueryResult; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/index.ts new file mode 100644 index 000000000..129ccb2f7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-analyze/query-result/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import QueryResult from './QueryResult'; + +export { QueryResult }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx new file mode 100644 index 000000000..63cb5c8cc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportFinish.tsx @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { useRoute, useLocation } from 'wouter'; +import { isEmpty } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import { Button } from 'hubble-ui'; + +import { + ImportManagerStoreContext, + GraphManagementStoreContext, + DataImportRootStoreContext +} from '../../../../stores'; + +import { useInitDataImport } from '../../../../hooks'; + +import PassIcon from '../../../../assets/imgs/ic_pass.svg'; + +const ImportFinish: React.FC = observer(() => { + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status*' + ); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + useEffect(() => { + if (isEmpty(serverDataImportStore.importTasks) && params !== null) { + dataImportRootStore.setCurrentId(Number(params.id)); + dataImportRootStore.setCurrentJobId(Number(params.jobId)); + + serverDataImportStore.fetchAllImportTasks(); + } + }, [params?.id, params?.jobId]); + + return ( +
+
+ complete +
+
{t('data-import-status.finished')}
+
+ {t('data-import-status.success', { + number: + serverDataImportStore.successImportFileStatusNumber !== 0 + ? serverDataImportStore.successImportFileStatusNumber + : '-' + })} + {serverDataImportStore.pausedImportFileNumber !== 0 && + `,${t('data-import-status.pause', { + number: serverDataImportStore.pausedImportFileNumber + })}`} + {serverDataImportStore.abortImportFileNumber !== 0 && + `,${t('data-import-status.abort', { + number: serverDataImportStore.abortImportFileNumber + })}`} +
+
+
+
+ +
+
+ ); +}); + +export default ImportFinish; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.less new file mode 100644 index 000000000..f04a4c2c1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.less @@ -0,0 +1,213 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-manager { + position: absolute; + width: calc(100% - 60px); + padding: 0 16px 16px; + left: 60px; + top: 60px; + + &-with-expand-sidebar { + width: calc(100% - 200px); + left: 200px; + } + + &-content-wrapper { + height: calc(100vh - 130px); + background: #fff; + padding: 16px; + overflow: auto; + } + + &-content-header { + margin-bottom: 16px; + display: flex; + justify-content: flex-end; + } + + &-breadcrumb-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + margin: 16px 0; + } + + &-empty-list { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + & > div { + margin: 8px 0 24px; + } + } + + &-table { + &-job-name { + display: flex; + + & > .link { + color: #2b65ff; + cursor: pointer; + } + + & > img { + display: block; + margin-left: 6px; + cursor: pointer; + } + } + + &-status-wrapper { + height: 28px; + text-align: center; + border-radius: 2px; + line-height: 28px; + font-size: 14px; + } + + &-status-pending { + width: 58px; + border: 1px solid #e0e0e0; + background-color: #f5f5f5; + color: #333; + } + + &-status-process { + width: 58px; + background-color: #f2f7ff; + border: 1px solid #8cb8ff; + color: #3d88f2; + } + + &-status-failed { + width: 44px; + border: 1px solid #ff9499; + background-color: #fff2f2; + color: #e64552; + } + + &-status-success { + width: 44px; + border: 1px solid #7ed988; + background-color: #f2fff4; + color: #39bf45; + } + + &-manipulations { + display: flex; + justify-content: flex-end; + color: #2b65ff; + width: 100px; + + & > span { + cursor: pointer; + + &:last-child { + margin-left: 16px; + } + } + + &-outlink { + font-size: 14px; + color: #2b65ff; + line-height: 22px; + cursor: pointer; + display: flex; + width: fit-content; + text-decoration: none; + + &:hover { + color: #527dff; + } + + &:active { + color: #184bcc; + } + + &-disabled { + color: #999; + } + } + } + } + + &-create-job-option { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 32px; + + &:first-child { + margin-top: 8px; + } + + &:last-child { + margin-bottom: 12px; + } + + & > div:first-child { + width: 78px; + text-align: right; + } + + &-required-mark { + color: #d0021b; + } + } + + &-delete-job-option { + & span { + display: block; + } + } +} + +/* overrides */ + +// reset breadcrumb line-height +.import-manager .new-fc-one-breadcrumb.new-fc-one-breadcrumb-small { + line-height: 22px; +} + +.import-manager .new-fc-one-menu { + background-color: transparent; +} + +.import-manager-content-wrapper { + & table { + table-layout: fixed; + } +} + +.import-manager .new-fc-one-breadcrumb > span:not(:last-of-type) .new-fc-one-breadcrumb-link { + color: #2b65ff; +} + +// weired, when checking img block in devtool +// its size doesn't match what it seems +// need to hard-code it's left px here +// .import-management-table-job-name .new-fc-one-tooltip { +// left: 323px !important; +// } + +// remove horizon padding of close icon in +.new-fc-one-modal-close-x { + padding: 8px 0; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.tsx new file mode 100644 index 000000000..9f34968c9 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportManager.tsx @@ -0,0 +1,110 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { useRoute, useLocation, Switch, Route } from 'wouter'; +import { useTranslation } from 'react-i18next'; +import { isNull } from 'lodash-es'; +import classnames from 'classnames'; +import { Breadcrumb } from 'hubble-ui'; + +import { JobDetails } from './job-details'; +import ImportTaskList from './ImportTaskList'; +import { + GraphManagementStoreContext, + DataImportRootStoreContext, + ImportManagerStoreContext +} from '../../../../stores'; + +import './ImportManager.less'; +import ImportTasks from './ImportTasks'; + +const ImportManager: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const importManagerStore = useContext(ImportManagerStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [_, params] = useRoute( + '/graph-management/:id/data-import/import-manager/:rest*' + ); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const wrapperClassName = classnames({ + 'import-manager': true, + 'import-manager-with-expand-sidebar': graphManagementStore.isExpanded + }); + + useEffect(() => { + window.scrollTo(0, 0); + + graphManagementStore.fetchIdList(); + importManagerStore.setCurrentId(Number(params!.id)); + + return () => { + importManagerStore.dispose(); + }; + }, []); + + return ( +
+
+ + { + if (!isNull(importManagerStore.selectedJob)) { + setLocation( + `/graph-management/${importManagerStore.currentId}/data-import/import-manager` + ); + importManagerStore.setSelectedJob(null); + importManagerStore.fetchImportJobList(); + } + + // reset stores + // dataMapStore.dispose(); + // serverDataImportStore.dispose(); + }} + > + {t('breadcrumb.first')} + + {importManagerStore.selectedJob && ( + + {importManagerStore.selectedJob.job_name} + + )} + +
+ + + + + +
+ ); +}); + +export default ImportManager; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx new file mode 100644 index 000000000..13168cf4e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTaskList.tsx @@ -0,0 +1,768 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useContext, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { useRoute, useLocation } from 'wouter'; +import { useTranslation } from 'react-i18next'; +import { isEmpty, size } from 'lodash-es'; +import classnames from 'classnames'; +import { Button, Input, Table, Modal, Message } from 'hubble-ui'; + +import LoadingDataView from '../../../common/LoadingDataView'; +import { Tooltip as CustomTooltip } from '../../../common'; +import { + DataImportRootStoreContext, + ImportManagerStoreContext +} from '../../../../stores'; + +import AddIcon from '../../../../assets/imgs/ic_add.svg'; +import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; + +const styles = { + button: { + width: 78, + marginLeft: 12 + } +}; + +const ImportTaskList: React.FC = observer(() => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const importManagerStore = useContext(ImportManagerStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [preLoading, switchPreLoading] = useState(true); + const [isPopCreateModal, switchCreatePopModal] = useState(false); + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager' + ); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const isLoading = + preLoading || + importManagerStore.requestStatus.fetchImportJobList === 'pending'; + + const handleSearchChange = (e: React.ChangeEvent) => { + importManagerStore.mutateSearchWords(e.target.value); + }; + + const handleSearch = async () => { + importManagerStore.mutateImportJobListPageNumber(1); + importManagerStore.switchSearchedStatus(true); + await importManagerStore.fetchImportJobList(); + }; + + const handleClearSearch = () => { + importManagerStore.mutateSearchWords(''); + importManagerStore.mutateImportJobListPageNumber(1); + importManagerStore.switchSearchedStatus(false); + importManagerStore.fetchImportJobList(); + }; + + const handlePageChange = (e: React.ChangeEvent) => { + importManagerStore.mutateImportJobListPageNumber(Number(e.target.value)); + importManagerStore.fetchImportJobList(); + }; + + const columnConfigs = [ + { + title: t('import-manager.list-column-title.job-name'), + dataIndex: 'job_name', + width: '20%', + render(name: string, rowData: any) { + const readyToJump = + rowData.job_status === 'SUCCESS' || rowData.job_status === 'FAILED'; + + const wrapperClassName = classnames({ + 'no-line-break': true, + link: readyToJump + }); + + return ( +
+
{ + if (readyToJump) { + importManagerStore.setCurrentJobDetailStep('basic'); + importManagerStore.setSelectedJob(rowData.id); + + // fill in essential data in import-task stores + dataImportRootStore.setCurrentId(Number(params!.id)); + dataImportRootStore.setCurrentJobId(rowData.id); + + dataImportRootStore.fetchVertexTypeList(); + dataImportRootStore.fetchEdgeTypeList(); + + setLocation( + `/graph-management/${ + params!.id + }/data-import/import-manager/${rowData.id}/details` + ); + + // fetch related data + await Promise.all([ + dataMapStore.fetchDataMaps(), + serverDataImportStore.fetchAllImportTasks() + ]); + + dataMapStore.setSelectedFileId( + Number(dataMapStore.fileMapInfos[0].id) + ); + dataMapStore.setSelectedFileInfo(); + + // set flags about readonly and irregular process in + dataMapStore.switchReadOnly(true); + dataMapStore.switchIrregularProcess(true); + + // set flags about readonly and irregular process in + serverDataImportStore.switchExpandImportConfig(true); + serverDataImportStore.switchReadOnly(true); + serverDataImportStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + } + }} + > + {name} +
+ {!isEmpty(rowData.job_remarks) && ( + + )} +
+ ); + } + }, + { + title: t('import-manager.list-column-title.size'), + dataIndex: 'job_size', + width: '15%', + render(text: any) { + return
{text}
; + } + }, + { + title: t('import-manager.list-column-title.create-time'), + dataIndex: 'create_time', + render(text: string) { + return
{text}
; + } + }, + { + title: t('import-manager.list-column-title.status'), + dataIndex: 'job_status', + render(text: string) { + let specificClassName = ''; + + switch (text) { + case 'DEFAULT': + case 'UPLOADING': + specificClassName = 'import-manager-table-status-pending'; + break; + case 'MAPPING': + case 'SETTING': + case 'LOADING': + specificClassName = 'import-manager-table-status-process'; + break; + case 'FAILED': + specificClassName = 'import-manager-table-status-failed'; + break; + case 'SUCCESS': + specificClassName = 'import-manager-table-status-success'; + break; + } + + return ( +
+ {t(`import-manager.list-column-status.${text}`)} +
+ ); + } + }, + { + title: t('import-manager.list-column-title.time-consuming'), + dataIndex: 'job_duration', + render(text: string) { + return
{text}
; + } + }, + { + title: t('import-manager.list-column-title.manipulation'), + render(_: any, rowData: any) { + return ( +
+ +
+ ); + } + } + ]; + + useEffect(() => { + if (importManagerStore.currentId !== null) { + setTimeout(() => { + switchPreLoading(false); + }, 800); + + importManagerStore.fetchImportJobList(); + } + }, [importManagerStore.currentId]); + + return ( +
+
+ + +
+
+
{t('import-manager.hint.no-result')} + ) : ( + + ) + } + /> + ) + }} + dataSource={isLoading ? [] : importManagerStore.importJobList} + pagination={ + isLoading + ? null + : { + hideOnSinglePage: false, + pageNo: importManagerStore.importJobListPageConfig.pageNumber, + pageSize: 10, + showSizeChange: false, + showPageJumper: false, + total: importManagerStore.importJobListPageConfig.pageTotal, + onPageNoChange: handlePageChange + } + } + /> + + { + switchCreatePopModal(false); + await importManagerStore.createNewJob(); + importManagerStore.resetJob('new'); + + if (importManagerStore.requestStatus.createNewJob === 'success') { + Message.success({ + content: t('import-manager.hint.creation-succeed'), + size: 'medium', + showCloseIcon: false + }); + + importManagerStore.fetchImportJobList(); + return; + } + + if (importManagerStore.requestStatus.createNewJob === 'failed') { + Message.error({ + content: importManagerStore.errorInfo.createNewJob.message, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('import-manager.modal.manipulations.create')} + , + + ]} + destroyOnClose + needCloseIcon={true} + onCancel={() => { + switchCreatePopModal(false); + importManagerStore.resetJob('new'); + }} + > +
+
+
+ + * + + {t('import-manager.modal.create-job.job-name')} +
+ { + importManagerStore.mutateNewJob('name', e.value); + importManagerStore.validateJob('new', 'name'); + }} + originInputProps={{ + onBlur: () => { + importManagerStore.validateJob('new', 'name'); + } + }} + /> +
+
+
{t('import-manager.modal.create-job.job-description')}
+
+ { + importManagerStore.mutateNewJob('description', e.value); + importManagerStore.validateJob('new', 'description'); + }} + originInputProps={{ + onBlur: () => { + importManagerStore.validateJob('new', 'description'); + } + }} + /> +
+
+
+
+ + ); +}); + +export interface ImportManagerManipulationProps { + jobId: number; + jobName: string; + status: string; +} + +export const ImportManagerManipulation: React.FC = observer( + ({ jobId, jobName, status }) => { + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [isPopDeleteModal, switchPopDeleteModal] = useState(false); + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager' + ); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const jumpToLoaction = (step: number, jobName: string) => async () => { + importManagerStore.setSelectedJob(jobId); + + dataImportRootStore.setCurrentId(Number(params!.id)); + dataImportRootStore.setCurrentJobId(jobId); + dataImportRootStore.setCurrentStatus(status); + + let route = ''; + + if (step === 1) { + await dataMapStore.fetchDataMaps(); + route = 'upload'; + } + + if (step === 2) { + // users may browse from + dataMapStore.switchReadOnly(false); + + await dataMapStore.fetchDataMaps(); + dataMapStore.setSelectedFileId(dataMapStore.fileMapInfos[0].id); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + + route = 'mapping'; + } + + if (step === 3) { + // users may browse from + serverDataImportStore.switchReadOnly(false); + + await dataMapStore.fetchDataMaps(); + + // need to set default selected file + dataMapStore.setSelectedFileId(dataMapStore.fileMapInfos[0].id); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + serverDataImportStore.switchIrregularProcess(true); + + if (status === 'SETTING') { + // user may browse from to + dataMapStore.switchReadOnly(false); + + serverDataImportStore.resetImportTasks(); + serverDataImportStore.switchFetchImportStatus('standby'); + serverDataImportStore.switchImportFinished(false); + } + + if (status === 'LOADING') { + // reveal previous & next button in + // users may browse from which set @readonly true + dataMapStore.switchReadOnly(false); + dataMapStore.switchLock(true); + serverDataImportStore.switchImportConfigReadOnly(true); + // users may browse from , let store fetches + // for one time and decide whether import is finished + serverDataImportStore.resetImportTasks(); + serverDataImportStore.switchImportFinished(false); + } + + route = 'loading'; + } + + dataImportRootStore.setCurrentStep(step); + + setLocation( + `/graph-management/${ + params!.id + }/data-import/import-manager/${jobId}/import-tasks/${route}` + ); + }; + + return ( +
+ {(status === 'DEFAULT' || status === 'UPLOADING') && ( + + {t('import-manager.list-column-manipulations.start')} + + )} + {status === 'MAPPING' && ( + + {t('import-manager.list-column-manipulations.resume-setting')} + + )} + {(status === 'SETTING' || status === 'LOADING') && ( + + {t('import-manager.list-column-manipulations.resume-importing')} + + )} + {status === 'FAILED' && ( + // { + // setLocation( + // `/graph-management/${ + // params!.id + // }/data-import/job-error-log/${jobId}` + // ); + // }} + // > + // {t('import-manager.list-column-manipulations.check-error-log')} + // + + {t('import-manager.list-column-manipulations.check-error-log')} + + )} + { + switchPopDeleteModal(true); + }} + > + {t('import-manager.list-column-manipulations.delete')} + + { + switchPopDeleteModal(false); + await importManagerStore.deleteJob(jobId); + importManagerStore.fetchImportJobList(); + }} + key="delete" + > + {t('import-manager.modal.manipulations.delete')} + , + + ]} + destroyOnClose + needCloseIcon={true} + onCancel={() => { + switchPopDeleteModal(false); + }} + > +
+ + {t('import-manager.modal.delete-job.hint', { + name: jobName + })} + + {t('import-manager.modal.delete-job.sub-hint')} +
+
+
+ ); + } +); + +export const EmptyImportHints: React.FC = observer(() => { + const importManagerStore = useContext(ImportManagerStoreContext); + const [isPopCreateModal, switchCreatePopModal] = useState(false); + const { t } = useTranslation(); + + return ( +
+ {t('import-manager.manipulation.create')} +
{t('import-manager.hint.empty-task')}
+ + { + switchCreatePopModal(false); + await importManagerStore.createNewJob(); + importManagerStore.resetJob('new'); + + if (importManagerStore.requestStatus.createNewJob === 'success') { + Message.success({ + content: t('import-manager.hint.creation-succeed'), + size: 'medium', + showCloseIcon: false + }); + + importManagerStore.fetchImportJobList(); + return; + } + + if (importManagerStore.requestStatus.createNewJob === 'failed') { + Message.error({ + content: importManagerStore.errorInfo.createNewJob.message, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('import-manager.modal.manipulations.create')} + , + + ]} + destroyOnClose + needCloseIcon={true} + onCancel={() => { + switchCreatePopModal(false); + importManagerStore.resetJob('new'); + }} + > +
+
+
+ + * + + {t('import-manager.modal.create-job.job-name')} +
+ { + importManagerStore.mutateNewJob('name', e.value); + importManagerStore.validateJob('new', 'name'); + }} + onBlur={() => { + importManagerStore.validateJob('new', 'name'); + }} + /> +
+
+
{t('import-manager.modal.create-job.job-description')}
+
+ { + importManagerStore.mutateNewJob('description', e.value); + importManagerStore.validateJob('new', 'description'); + }} + onBlur={() => { + importManagerStore.validateJob('new', 'description'); + }} + /> +
+
+
+
+
+ ); +}); + +export default ImportTaskList; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.less new file mode 100644 index 000000000..a93c3eddc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.less @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-tasks { + &-breadcrumb-wrapper { + margin: 16px 0; + } + + &-content-wrapper { + height: calc(100vh - 130px); + background: #fff; + } + + &-step-wrapper { + display: flex; + height: calc(100vh - 194px); + overflow: auto; + } + + &-step-content-header { + display: flex; + margin-bottom: 16px; + + & > span { + font-weight: 900; + line-height: 24px; + } + + & img { + cursor: pointer; + } + + &-expand { + margin-left: 9.7px; + transform: rotate(-180deg); + transition: transform 0.3s; + } + + &-collpase { + margin-left: 9.7px; + transform: rotate(0deg); + transition: transform 0.3s; + } + } + + &-tooltips { + padding: 16px; + color: #ff5b5b; + } + + &-manipulation { + font-size: 14px; + color: #2b65ff; + line-height: 20px; + cursor: pointer; + display: flex; + width: fit-content; + + &-disabled { + color: #999; + } + } + + &-complete-hint { + display: flex; + height: calc(100vh - 194px); + flex-direction: column; + justify-content: center; + align-items: center; + + &-description { + display: flex; + justify-content: center; + + & > div { + margin-left: 20px; + + & > div:first-of-type { + font-size: 24px; + } + + & > div:last-of-type { + color: #333; + } + } + } + + &-manipulations { + margin: 42px auto 0; + } + } +} + +// overrides +.import-tasks .new-fc-one-breadcrumb.new-fc-one-breadcrumb-small { + line-height: 22px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx new file mode 100644 index 000000000..3d951614e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/ImportTasks.tsx @@ -0,0 +1,134 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useMemo, useEffect, useLayoutEffect } from 'react'; +import { observer } from 'mobx-react'; +import { useRoute, useLocation } from 'wouter'; +import { isNull } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Steps, Button } from 'hubble-ui'; + +import UploadEntry from './UploadEntry'; +import { DataMapConfigs } from './datamap-configs'; +import { ServerDataImport } from './server-data-import'; +import ImportFinish from './ImportFinish'; +import { + ImportManagerStoreContext, + GraphManagementStoreContext, + DataImportRootStoreContext +} from '../../../../stores'; + +import PassIcon from '../../../../assets/imgs/ic_pass.svg'; + +import './ImportTasks.less'; + +const ImportTasks: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status*' + ); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const steps = useMemo( + () => [ + t('step.first'), + t('step.second'), + t('step.third'), + t('step.fourth') + ], + [] + ); + + const wrapperClassName = classnames({ + 'import-tasks': true, + 'import-tasks-with-expand-sidebar': graphManagementStore.isExpanded + }); + + useEffect(() => { + if (!isNull(params)) { + switch (params.status) { + case 'upload': + dataImportRootStore.setCurrentStep(1); + break; + case 'mapping': + dataImportRootStore.setCurrentStep(2); + break; + case 'loading': + dataImportRootStore.setCurrentStep(3); + break; + case 'finish': + dataImportRootStore.setCurrentStep(4); + break; + } + } + }, [params?.status]); + + useEffect(() => { + window.scrollTo(0, 0); + dataImportRootStore.setCurrentJobId(Number(params!.jobId)); + + graphManagementStore.fetchIdList(); + dataImportRootStore.setCurrentId(Number(params!.id)); + dataImportRootStore.fetchVertexTypeList(); + dataImportRootStore.fetchEdgeTypeList(); + dataMapStore.fetchDataMaps(); + + return () => { + // no specific job here, solve the problem that click back button in browser + // since relies on @selectedJob in useEffect() + importManagerStore.setSelectedJob(null); + dataImportRootStore.dispose(); + dataMapStore.dispose(); + serverDataImportStore.dispose(); + }; + }, []); + + return ( +
+
+
+ + {steps.map((title: string, index: number) => ( + index + 1 + ? 'finish' + : 'wait' + } + key={title} + /> + ))} + +
+ {dataImportRootStore.currentStep === 1 && } + {dataImportRootStore.currentStep === 2 && } + {dataImportRootStore.currentStep === 3 && } + {dataImportRootStore.currentStep === 4 && } +
+
+ ); +}); + +export default ImportTasks; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.less new file mode 100644 index 000000000..7af02e583 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.less @@ -0,0 +1,106 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-tasks { + &-upload-wrapper { + padding: 0 16px 28px; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: calc(100vh - 250px); + } + + &-upload-drag-area { + width: 400px; + height: 200px; + padding: 83px 73px; + border: 1px dashed #979797; + // display: flex; + // justify-content: center; + // align-items: center; + font-size: 12px; + color: #666; + + &:hover, + &.file-above { + border-color: #2b65ff; + } + } + + &-upload-file-list { + margin-top: 30px; + width: 400px; + max-height: calc(100vh - 512px); + overflow-y: auto; + overflow-x: hidden; + font-size: 14px; + line-height: 20px; + color: #333; + } + + &-upload-file-info { + margin-bottom: 19px; + + &-titles { + width: 75%; + display: flex; + justify-content: space-between; + } + + &-progress-status { + width: 400px; + display: flex; + align-items: center; + + &-refresh-icon { + position: relative; + left: -22px; + cursor: pointer; + } + + &-close-icon { + position: relative; + left: -35px; + cursor: pointer; + top: 0; + + &.in-progress { + left: 0; + top: 1px; + } + + &.in-error { + left: -12px; + top: 0; + } + } + } + } + + &-manipulation-wrapper { + display: flex; + justify-content: center; + } +} + +/* override */ + +// disable original delete icon in progress bar due to the img bug +.import-tasks-upload-file-info .new-fc-one-progress-operation { + display: none; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx new file mode 100644 index 000000000..84f1132d6 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/UploadEntry.tsx @@ -0,0 +1,1034 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useCallback, useRef, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { useLocation } from 'wouter'; +import classnames from 'classnames'; +import { + isEmpty, + size, + isUndefined, + range, + xor, + intersection +} from 'lodash-es'; +import { DndProvider, useDrop, DropTargetMonitor } from 'react-dnd'; +import { useTranslation } from 'react-i18next'; +import { HTML5Backend, NativeTypes } from 'react-dnd-html5-backend'; +import { Button, Progress, Message } from 'hubble-ui'; +import { CancellablePromise } from 'mobx/lib/api/flow'; + +import { DataImportRootStoreContext } from '../../../../stores'; +import { useInitDataImport } from '../../../../hooks'; + +import type { FileUploadResult } from '../../../../stores/types/GraphManagementStore/dataImportStore'; + +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import RefreshIcon from '../../../../assets/imgs/ic_refresh.svg'; + +import './UploadEntry.less'; + +const KB = 1024; +const MB = 1024 * 1024; +const GB = 1024 * 1024 * 1024; +const MAX_CONCURRENT_UPLOAD = 5; + +const UploadEntry: React.FC = observer(() => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const isInitReady = useInitDataImport(); + const { t } = useTranslation(); + const [, setLocation] = useLocation(); + + useEffect(() => { + const unload = (e: any) => { + e = e || window.event; + + if (e) { + e.returnValue = 'hint'; + } + + return 'hint'; + }; + + window.addEventListener('beforeunload', unload); + + return () => { + window.removeEventListener('beforeunload', unload); + }; + }, [dataImportRootStore]); + + return isInitReady ? ( + <> + + + +
+ + +
+ + ) : null; +}); + +export const FileDropZone: React.FC = observer(() => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [{ canDrop, isOver }, drop] = useDrop({ + accept: [NativeTypes.FILE], + drop(item, monitor) { + handleFileDrop(monitor); + }, + collect: (monitor) => ({ + isOver: monitor.isOver(), + canDrop: monitor.canDrop() + }) + }); + const { t } = useTranslation(); + + const uploadRef = useRef(null); + + const validateFileCondition = (files: File[]) => { + const validatedFiles = []; + const currentUploadFileNames = dataImportRootStore.fileUploadTasks + .map(({ name }) => name) + .concat(dataMapStore.fileMapInfos.map(({ name }) => name)); + + const filteredFiles = files.filter( + ({ name }) => !currentUploadFileNames.includes(name) + ); + + if (size(filteredFiles) !== size(files)) { + const duplicatedFiles = xor(files, filteredFiles); + + Message.error({ + content: ( +
+

{t('upload-files.no-duplicate')}

+ {duplicatedFiles.map((file) => ( +

{file.name}

+ ))} +
+ ), + size: 'medium', + showCloseIcon: false + }); + } + + const totalSize = filteredFiles + .map(({ size }) => size) + .reduce((prev, curr) => prev + curr, 0); + + if (totalSize / GB > 10) { + Message.error({ + content: `${t('upload-files.over-all-size-limit')}`, + size: 'medium', + showCloseIcon: false + }); + + return []; + } + + for (const file of filteredFiles) { + const { name, size } = file; + const sizeGB = size / GB; + + if (size === 0) { + Message.error({ + content: `${name} ${t('upload-files.empty-file')}`, + size: 'medium', + showCloseIcon: false + }); + + break; + } + + if (name.slice(-4) !== '.csv') { + Message.error({ + content: `${name}: ${t('upload-files.wrong-format')}`, + size: 'medium', + showCloseIcon: false + }); + + break; + } + + if (sizeGB > 1) { + Message.error({ + content: `${name}: ${t('upload-files.over-single-size-limit')}`, + size: 'medium', + showCloseIcon: false + }); + + break; + } + + validatedFiles.push(file); + } + + dataImportRootStore.updateFileList(validatedFiles); + return validatedFiles; + }; + + const handleFileChange = (files: File[]) => { + for (const file of files) { + const { name, size } = file; + const sizeMB = size / MB; + + const chunkList = []; + // start byte to slice + let currentChunkStartIndex = 0; + // size of each chunk + let chunkSizeMB: number; + let chunkIndex = 0; + + if (sizeMB > 2 && sizeMB <= 128) { + chunkSizeMB = 2; + } else if (sizeMB > 128 && size <= 512) { + chunkSizeMB = 4; + } else { + chunkSizeMB = 5; + } + + while (currentChunkStartIndex < size) { + chunkList.push({ + chunkIndex, + chunk: file.slice( + currentChunkStartIndex, + currentChunkStartIndex + chunkSizeMB * MB + ) + }); + currentChunkStartIndex += chunkSizeMB * MB; + ++chunkIndex; + } + + dataImportRootStore.initFileUploadTask({ + name, + size, + status: 'uploading', + chunkList, + chunkTotal: Math.ceil(size / (chunkSizeMB * MB)), + uploadedChunkTotal: 0, + pendingChunkIndexes: [], + failedChunkIndexes: [], + uploadedChunksIndexes: [] + }); + } + }; + + const initFileTaskQueue = () => { + const firstRequestTasks = dataImportRootStore.fileUploadTasks.slice( + 0, + MAX_CONCURRENT_UPLOAD + ); + + firstRequestTasks.forEach(({ name, chunkList, chunkTotal }) => { + const task = dataImportRootStore.uploadFiles({ + fileName: name, + fileChunkList: chunkList[0], + fileChunkTotal: chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: name, + status: 'uploading', + task + }); + + scheduler(name, 0, task); + }); + + if (size(firstRequestTasks) < MAX_CONCURRENT_UPLOAD) { + let loopCount = 1; + + // Traverse firstRequestTasks to add extra items to queue + while (loopCount) { + const currentQueueItemSize = size(dataImportRootStore.fileUploadQueue); + + firstRequestTasks.forEach(({ chunkTotal, chunkList, name }) => { + if ( + chunkTotal > loopCount && + size(dataImportRootStore.fileUploadQueue) < MAX_CONCURRENT_UPLOAD + ) { + const task = dataImportRootStore.uploadFiles({ + fileName: name, + fileChunkList: chunkList[loopCount], + fileChunkTotal: chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: name, + status: 'uploading', + task + }); + + scheduler(name, loopCount, task); + } + }); + + if ( + size(dataImportRootStore.fileUploadQueue) === MAX_CONCURRENT_UPLOAD || + // which means no other items pushed into queue + currentQueueItemSize === size(dataImportRootStore.fileUploadQueue) + ) { + break; + } else { + loopCount += 1; + } + } + } + }; + + const scheduler = useCallback( + async ( + fileName: string, + fileChunkIndex: number, + task: CancellablePromise, + retryMode: boolean = false + ) => { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name }) => name === fileName + )!; + + // users may click back button in browser + if (isUndefined(fileUploadTask)) { + return; + } + + // the index of fileChunk is pending + dataImportRootStore.mutateFileUploadTasks( + 'pendingChunkIndexes', + [...fileUploadTask.pendingChunkIndexes, fileChunkIndex], + fileName + ); + + let result; + + // cancel all uploads by user + if (fileUploadTask.status === 'failed') { + task.cancel(); + result = undefined; + } else { + result = await task; + } + + if (isUndefined(result) || result.status === 'FAILURE') { + if (fileUploadTask.status !== 'failed') { + if (dataImportRootStore.errorInfo.uploadFiles.message !== '') { + Message.error({ + content: dataImportRootStore.errorInfo.uploadFiles.message, + size: 'medium', + showCloseIcon: false + }); + } + + dataImportRootStore.mutateFileUploadTasks( + 'status', + 'failed', + fileName + ); + } + + dataImportRootStore.mutateFileUploadTasks( + 'failedChunkIndexes', + [...fileUploadTask.failedChunkIndexes, fileChunkIndex], + fileName + ); + + dataImportRootStore.mutateFileUploadTasks( + 'pendingChunkIndexes', + [], + fileName + ); + + dataImportRootStore.removeFileUploadQueue(fileName); + return; + } + + if (result.status === 'SUCCESS') { + dataImportRootStore.mutateFileUploadTasks( + 'uploadedChunkTotal', + fileUploadTask.uploadedChunkTotal + 1, + fileName + ); + + dataImportRootStore.mutateFileUploadTasks( + 'uploadedChunksIndexes', + [...fileUploadTask.uploadedChunksIndexes, fileChunkIndex], + fileName + ); + + if (retryMode) { + // remove failed chunk index after succeed + dataImportRootStore.mutateFileUploadTasks( + 'failedChunkIndexes', + fileUploadTask.failedChunkIndexes.filter( + (failedChunkIndex) => failedChunkIndex !== fileChunkIndex + ), + fileName + ); + + // if there are no longer existed failed chunk index, + // set retry mode to false + if (size(fileUploadTask.failedChunkIndexes) === 0) { + retryMode = false; + } + } + + // all file chunks are uploaded + if (fileUploadTask.chunkTotal === fileUploadTask.uploadedChunkTotal) { + // remove fully uploaded file from queue + dataImportRootStore.removeFileUploadQueue(fileName); + // change the status of fully uploaded file to success + dataImportRootStore.mutateFileUploadTasks( + 'status', + 'success', + fileName + ); + // clear chunkList of fully uploaded file to release memory + dataImportRootStore.mutateFileUploadTasks('chunkList', [], fileName); + + // no uploading files + if ( + dataImportRootStore.fileUploadTasks.every( + ({ status }) => status !== 'uploading' + ) + ) { + dataMapStore.fetchDataMaps(); + return; + } + + if (size(dataImportRootStore.fileRetryUploadList) !== 0) { + // check if there are some failed uploads waiting in retry queue + const fileName = dataImportRootStore.pullRetryFileUploadQueue()!; + const retryFileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name }) => name === fileName + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName, + fileChunkList: + retryFileUploadTask.chunkList[ + retryFileUploadTask.failedChunkIndexes[0] + ], + fileChunkTotal: retryFileUploadTask.chunkTotal + }); + + scheduler( + retryFileUploadTask.name, + retryFileUploadTask.failedChunkIndexes[0], + task, + true + ); + + return; + } + + for (const [ + fileIndex, + fileUploadTask + ] of dataImportRootStore.fileUploadTasks.entries()) { + // if there still has files which are fully not being uploaded + if ( + fileUploadTask.uploadedChunkTotal === 0 && + size(fileUploadTask.pendingChunkIndexes) === 0 + ) { + const task = dataImportRootStore.uploadFiles({ + fileName: fileUploadTask.name, + fileChunkList: + dataImportRootStore.fileUploadTasks[fileIndex].chunkList[0], + fileChunkTotal: + dataImportRootStore.fileUploadTasks[fileIndex].chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: fileUploadTask.name, + status: 'uploading', + task + }); + + scheduler(fileUploadTask.name, 0, task); + + // if queue is full, do not loop to add task + if ( + size(dataImportRootStore.fileUploadQueue) === + MAX_CONCURRENT_UPLOAD + ) { + break; + } + } + } + + return; + } + + let nextUploadChunkIndex; + + if (retryMode) { + const duplicateIndexes = intersection( + fileUploadTask.uploadedChunksIndexes, + fileUploadTask.failedChunkIndexes + ); + + if (!isEmpty(duplicateIndexes)) { + dataImportRootStore.mutateFileUploadTasks( + 'failedChunkIndexes', + fileUploadTask.failedChunkIndexes.filter( + (failedIndex) => !duplicateIndexes.includes(failedIndex) + ), + fileName + ); + } + + if (isEmpty(fileUploadTask.failedChunkIndexes)) { + retryMode = false; + } + + nextUploadChunkIndex = + fileUploadTask.failedChunkIndexes[0] || + Math.max( + ...fileUploadTask.pendingChunkIndexes, + // maybe it just turns retry mode to false + // and the failed chunk index could be less than + // the one which uploads success + // we have to compare uploaded chunk index either + ...fileUploadTask.uploadedChunksIndexes + ) + 1; + } else { + nextUploadChunkIndex = + Math.max( + ...fileUploadTask.pendingChunkIndexes, + // maybe it just turns retry mode to false + // and the failed chunk index could be less than + // the one which uploads success + // we have to compare uploaded chunk index either + ...fileUploadTask.uploadedChunksIndexes + ) + 1; + } + + // remove pending here to get right result of nextUploadChunkIndex + dataImportRootStore.mutateFileUploadTasks( + 'pendingChunkIndexes', + fileUploadTask.pendingChunkIndexes.filter( + (pendingChunkIndex) => pendingChunkIndex !== fileChunkIndex + ), + fileName + ); + + // no recursion + if ( + nextUploadChunkIndex > fileUploadTask.chunkTotal - 1 || + fileUploadTask.uploadedChunksIndexes.includes(nextUploadChunkIndex) + ) { + return; + } + + scheduler( + fileName, + nextUploadChunkIndex, + dataImportRootStore.uploadFiles({ + fileName, + fileChunkList: fileUploadTask.chunkList[nextUploadChunkIndex], + fileChunkTotal: fileUploadTask.chunkTotal + }), + retryMode + ); + + return; + } + }, + [] + ); + + const handleFileDrop = async (monitor: DropTargetMonitor) => { + if (monitor) { + const fileList = monitor.getItem().files; + const currentValidateFileList = validateFileCondition(fileList); + const isFirstBatchUpload = + size(dataImportRootStore.fileUploadTasks) === 0; + + if (isEmpty(currentValidateFileList)) { + return; + } + + await dataImportRootStore.fetchFilehashes( + currentValidateFileList.map(({ name }) => name) + ); + + handleFileChange(currentValidateFileList); + + if (isFirstBatchUpload) { + initFileTaskQueue(); + } else { + const spareQueueItems = + MAX_CONCURRENT_UPLOAD - size(dataImportRootStore.fileUploadQueue); + + if (spareQueueItems === 0) { + return; + } + + // if new selected files are less than spare spaces from queue + if (spareQueueItems >= size(currentValidateFileList)) { + currentValidateFileList.forEach(({ name }) => { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name: fileName }) => fileName === name + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName: name, + fileChunkList: fileUploadTask.chunkList[0], + fileChunkTotal: fileUploadTask.chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: fileUploadTask.name, + status: 'uploading', + task + }); + scheduler(name, 0, task); + }); + } else { + range(spareQueueItems).forEach((fileUploadTaskIndex) => { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name: fileName }) => + fileName === currentValidateFileList[fileUploadTaskIndex].name + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName: fileUploadTask.name, + fileChunkList: fileUploadTask.chunkList[0], + fileChunkTotal: fileUploadTask.chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: fileUploadTask.name, + status: 'uploading', + task + }); + scheduler(fileUploadTask.name, 0, task); + }); + } + } + } + }; + + const handleFileSelect = async (e: React.ChangeEvent) => { + // event in async callback should call this + e.persist(); + + if (e.target.files) { + const fileList = Array.from(e.target.files); + const currentValidateFileList = validateFileCondition(fileList); + const isFirstBatchUpload = + size(dataImportRootStore.fileUploadTasks) === 0; + + if (isEmpty(currentValidateFileList)) { + return; + } + + await dataImportRootStore.fetchFilehashes( + currentValidateFileList.map(({ name }) => name) + ); + + handleFileChange(currentValidateFileList); + + if (isFirstBatchUpload) { + initFileTaskQueue(); + } else { + const spareQueueItems = + MAX_CONCURRENT_UPLOAD - size(dataImportRootStore.fileUploadQueue); + + if (spareQueueItems === 0) { + return; + } + + // if new selected files are less than spare spaces from queue + if (spareQueueItems >= size(currentValidateFileList)) { + currentValidateFileList.forEach(({ name }) => { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name: fileName }) => fileName === name + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName: name, + fileChunkList: fileUploadTask.chunkList[0], + fileChunkTotal: fileUploadTask.chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: fileUploadTask.name, + status: 'uploading', + task + }); + scheduler(name, 0, task); + }); + } else { + range(spareQueueItems).forEach((fileUploadTaskIndex) => { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name: fileName }) => + fileName === currentValidateFileList[fileUploadTaskIndex].name + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName: fileUploadTask.name, + fileChunkList: fileUploadTask.chunkList[0], + fileChunkTotal: fileUploadTask.chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName: fileUploadTask.name, + status: 'uploading', + task + }); + scheduler(fileUploadTask.name, 0, task); + }); + } + } + } + + // select same file will not trigger onChange on input[type="file"] + // need to reset its value here + e.target.value = ''; + }; + + const dragAreaClassName = classnames({ + 'import-tasks-upload-drag-area': true, + 'file-above': canDrop && isOver + }); + + // if upload file api throw errors + useEffect(() => { + if (dataImportRootStore.errorInfo.uploadFiles.message !== '') { + Message.error({ + content: dataImportRootStore.errorInfo.uploadFiles.message, + size: 'medium', + showCloseIcon: false + }); + } + }, [dataImportRootStore.errorInfo.uploadFiles.message]); + + return ( +
+ + +
+ ); +}); + +export interface FileListProps { + scheduler: ( + fileName: string, + fileChunkIndex: number, + task: CancellablePromise, + retryMode?: boolean + ) => Promise; +} + +export const FileList: React.FC = observer(({ scheduler }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore } = dataImportRootStore; + + const handleRetry = (fileName: string) => () => { + // if (size(dataImportRootStore.fileUploadQueue) === 0) { + if (size(dataImportRootStore.fileUploadQueue) < MAX_CONCURRENT_UPLOAD) { + const fileUploadTask = dataImportRootStore.fileUploadTasks.find( + ({ name }) => name === fileName + )!; + + const task = dataImportRootStore.uploadFiles({ + fileName, + fileChunkList: + fileUploadTask.chunkList[fileUploadTask.failedChunkIndexes[0]] || + fileUploadTask.chunkList[ + Math.max( + ...fileUploadTask.pendingChunkIndexes, + // maybe it just turns retry mode to false + // and the failed chunk index could be less than + // the one which uploads success + // we have to compare uploaded chunk index either + ...fileUploadTask.uploadedChunksIndexes + ) + 1 + ], + fileChunkTotal: fileUploadTask.chunkTotal + }); + + dataImportRootStore.addFileUploadQueue({ + fileName, + status: 'uploading', + task + }); + + dataImportRootStore.mutateFileUploadTasks( + 'status', + 'uploading', + fileName + ); + + if (!isEmpty(fileUploadTask.failedChunkIndexes)) { + dataImportRootStore.mutateFileUploadTasks( + 'failedChunkIndexes', + [...fileUploadTask.failedChunkIndexes.slice(1)], + fileName + ); + } + + scheduler( + fileName, + fileUploadTask.failedChunkIndexes[0] || + Math.max( + ...fileUploadTask.pendingChunkIndexes, + // maybe it just turns retry mode to false + // and the failed chunk index could be less than + // the one which uploads success + // we have to compare uploaded chunk index either + ...fileUploadTask.uploadedChunksIndexes + ) + 1, + task, + true + ); + } else { + // or just add filename to retry queue, + // let other scheduler decide when to call it + dataImportRootStore.addRetryFileUploadQueue(fileName); + } + }; + + const handleDelete = (name: string, existed = false) => async () => { + await dataImportRootStore.deleteFiles(name); + + if (dataImportRootStore.requestStatus.deleteFiles === 'failed') { + Message.error({ + content: dataImportRootStore.errorInfo.deleteFiles.message, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if (existed === true) { + dataMapStore.fetchDataMaps(); + return; + } + + dataImportRootStore.removeFileUploadTasks(name); + + // if no uploading files, fetch data maps again + if ( + !dataImportRootStore.fileUploadTasks.some( + ({ status }) => status === 'uploading' + ) + ) { + dataMapStore.fetchDataMaps(); + } + }; + + return ( +
+ {dataImportRootStore.fileUploadTasks.map( + ({ name, size, chunkTotal, uploadedChunkTotal, status }) => { + const [sizeKB, sizeMB, sizeGB] = [size / KB, size / MB, size / GB]; + const convertedSize = + sizeGB > 1 + ? String(sizeGB.toFixed(2)) + ' GB' + : sizeMB > 1 + ? String(sizeMB.toFixed(2)) + ' MB' + : sizeKB > 1 + ? String(sizeKB.toFixed(2)) + ' KB' + : String(size) + ' Byte'; + const progress = Number( + ((uploadedChunkTotal / chunkTotal) * 100).toFixed(2) + ); + + return ( +
+
+ {name} + {convertedSize} +
+
+ + {status === 'failed' && progress !== 100 && ( + retry-upload-file + )} + delete-file +
+
+ ); + } + )} + {dataMapStore.fileMapInfos + .filter( + ({ name }) => + !dataImportRootStore.successFileUploadTaskNames.includes(name) + ) + .map(({ name, total_size }) => { + return ( +
+
+ {name} + {total_size} +
+
+ + delete-file +
+
+ ); + })} +
+ ); +}); + +export default UploadEntry; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less new file mode 100644 index 000000000..174042063 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.less @@ -0,0 +1,393 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-tasks { + &-data-map { + margin-bottom: 40px; + } + + &-data-map-tooltip { + background: #fff; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2); + border-radius: 4px; + padding: 16px; + font-size: 14px; + + &-text { + margin-bottom: 8px; + + &:nth-child(2) { + color: #e64552; + font-size: 16px; + margin-bottom: 12px; + } + + &:last-child { + margin-bottom: 0; + } + } + + &.no-display { + display: none; + } + } + + &-data-type-info-wrapper { + // margin-bottom: 16px; + padding: 24px 16px; + height: 100px; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + display: flex; + position: relative; + } + + &-data-type-info { + display: flex; + flex-direction: column; + padding-right: 8px; + // flex: 1; + + &:nth-child(1) { + // width: 24%; + flex: 1 0; + + & img.collpase { + transform: rotate(-90deg); + transition: transform 0.3s; + } + + & img.expand { + transform: rotate(0deg); + transition: transform 0.3s; + } + } + + &:nth-child(2) { + flex: 1 0; + } + + &:nth-child(3) { + flex: 1 0; + } + + &:last-child { + padding-right: 0; + width: 168px; + flex-direction: row; + align-items: center; + } + + & > div { + display: flex; + } + + &-title { + font-size: 12px; + line-height: 18px; + color: #666; + } + + &-content { + max-width: 180px; + margin-top: 13px; + font-size: 16px; + line-height: 22px; + color: #333; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } + + &-data-options { + display: flex; + line-height: 32px; + margin-bottom: 32px; + font-size: 14px; + align-items: center; + + &-title { + display: flex; + justify-content: flex-end; + align-items: center; + width: 62px; + margin-right: 44px; + color: #333; + font-size: 14px; + + &.in-card { + width: 76px; + } + } + + &-value-maps { + width: 650px; + background-color: #f5f5f5; + margin-bottom: 16px; + padding: 16px 40px; + } + + &-expand-table { + width: 80%; + display: flex; + flex-direction: column; + + &-row { + display: flex; + margin-bottom: 8px; + + &:first-child { + margin-bottom: 12px; + } + } + + &-column { + height: 32px; + display: flex; + align-items: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 14px; + line-height: 32px; + + &:nth-child(1) { + flex-basis: 30%; + } + + &:nth-child(2) { + flex-basis: 30%; + } + + &:nth-child(3) { + flex-basis: 30%; + } + + &:last-child { + flex-basis: 10%; + justify-content: center; + } + } + } + + &-expand-dropdown { + width: 382px; + max-height: 328px; + overflow: auto; + background: #fff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + color: #333; + + & > div { + padding: 0 16px; + height: 32px; + display: flex; + align-items: center; + } + } + + &-expand-values { + display: flex; + flex-direction: column; + } + + &-expand-value { + display: flex; + margin-bottom: 32px; + + &:nth-last-child(2) { + margin-bottom: 16px; + } + + &:nth-last-child(1) { + margin-bottom: 0; + } + + & img { + margin: 0 2px; + } + + &-column { + height: 32px; + display: flex; + align-items: center; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 14px; + line-height: 32px; + + &:nth-child(1) { + width: 30%; + } + + &:nth-child(2) { + width: 30%; + } + + &:nth-child(3) { + width: 30%; + } + + &:nth-child(4) { + width: 10%; + } + } + } + + &-expand-info { + display: flex; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + & > span { + font-size: 14px; + line-height: 32px; + + &:nth-child(1) { + width: 60px; + } + } + + & > img { + margin: 0 6px; + } + } + + &-expand-input { + margin-top: 12px; + + &:first-child { + margin-top: 0; + } + } + } + + &-data-type-manipulations { + display: flex; + margin-left: auto; + } + + &-data-map-manipulations { + width: 100%; + margin-top: 40px; + display: flex; + justify-content: center; + } + + &-data-map-configs { + padding: 0 16px; + width: 100%; + overflow: auto; + } + + // &-data-map-config-header { + // display: flex; + // margin-bottom: 16px; + + // & > span { + // font-weight: 900; + // line-height: 24px; + // } + + // & img { + // cursor: pointer; + // } + + // &-expand { + // margin-left: 9.7px; + // transition: transform 0.3s; + // } + + // &-collpase { + // margin-left: 9.7px; + // transform: rotate(-180deg); + // transition: transform 0.3s; + // } + // } + + &-data-map-config-card { + // prevent box-shadow being cliped + // margin: 0 3px; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + margin-bottom: 16px; + padding: 16px; + } + + &-data-map-config-view { + width: 100%; + background: #fafafa; + border: 1px solid #eee; + border-radius: 0 0 3px 3px; + margin-bottom: 16px; + padding: 16px; + // position: absolute; + // top: 100px; + // left: 0; + z-index: 9; + } +} + +.import-tasks-tooltips { + width: 368px; + background: #fff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + padding: 24px; + font-size: 14px; + color: #333; + + & p { + margin: 0; + + &:nth-of-type(1) { + margin-bottom: 16px; + font-weight: 900; + font-size: 16px; + color: #000; + } + + &:nth-of-type(2) { + margin-bottom: 24px; + font-size: 14px; + color: #333; + } + } +} + +/* override */ + +.import-tasks-data-options + .new-fc-one-checkbox-group.new-fc-one-checkbox-group-medium.new-fc-one-checkbox-group-row { + line-height: normal; +} + +// reveal scrollbar by auto, directly override style on will both set internal wrapper and
    itself, which cause shrinks on . +.import-tasks-step-wrapper + > .new-fc-one-menu-inline-box.new-fc-one-menu-inline-medium + > ul { + overflow: auto; +} + +.import-tasks-data-map-configs + .new-fc-one-input-error.new-fc-one-input-error-layer { + word-break: keep-all; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx new file mode 100644 index 000000000..562fac5aa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/DataMapConfigs.tsx @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { isEmpty } from 'lodash-es'; +import { Menu } from 'hubble-ui'; + +import { + ImportManagerStoreContext, + DataImportRootStoreContext +} from '../../../../../stores'; +import FileConfigs from './FileConfigs'; +import TypeConfigs from './TypeConfigs'; +import { useInitDataImport } from '../../../../../hooks'; + +import './DataMapConfigs.less'; + +export interface DataMapConfigsProps { + height?: string; +} + +const DataMapConfigs: React.FC = observer(({ height }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const isInitReady = useInitDataImport(); + const realHeight = height ? height : 'calc(100vh - 194px)'; + + return isInitReady ? ( +
    + { + // reset state from the previous file + dataMapStore.resetDataMaps(); + + // if data import starts, do not expand collpase + if (!serverDataImportStore.isServerStartImport) { + dataMapStore.switchExpand('file', true); + } + + dataMapStore.setSelectedFileId(Number(e.key)); + dataMapStore.setSelectedFileInfo(); + serverDataImportStore.switchImporting(false); + }} + > + {dataMapStore.fileMapInfos + .filter(({ file_status }) => file_status === 'COMPLETED') + .map(({ id, name }) => ( + + {name} + + ))} + +
    + + +
    +
    + ) : null; +}); + +export default DataMapConfigs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx new file mode 100644 index 000000000..84729a65a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/EdgeMap.tsx @@ -0,0 +1,1707 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState } from 'react'; +import { observer } from 'mobx-react'; +import { isUndefined, isEmpty, size, cloneDeep } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Input, Select, Checkbox, Message } from 'hubble-ui'; + +import { Tooltip } from '../../../../common'; +import { DataImportRootStoreContext } from '../../../../../stores'; +import { + VertexType, + EdgeType +} from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; +import TypeConfigManipulations from './TypeConfigManipulations'; +import { getUnicodeLength } from '../../../../../utils'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; +import BlueArrowIcon from '../../../../../assets/imgs/ic_arrow_blue.svg'; +import CloseIcon from '../../../../../assets/imgs/ic_close_16.svg'; +import MapIcon from '../../../../../assets/imgs/ic_yingshe_16.svg'; + +export interface EdgeMapProps { + checkOrEdit: 'check' | 'edit' | boolean; + onCancelCreateEdge: () => void; + edgeMapIndex?: number; +} + +const EdgeMap: React.FC = observer( + ({ checkOrEdit, onCancelCreateEdge, edgeMapIndex }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore } = dataImportRootStore; + const [isAddMapping, switchAddMapping] = useState(false); + const [isExpandAdvance, switchExpandAdvance] = useState(false); + const { t } = useTranslation(); + + const isCheck = checkOrEdit === 'check'; + const isEdit = checkOrEdit === 'edit'; + const edgeMap = + checkOrEdit !== false + ? dataMapStore.editedEdgeMap! + : dataMapStore.newEdgeType; + const filteredColumnNamesInSelection = + checkOrEdit !== false + ? dataMapStore.filteredColumnNamesInEdgeEditSelection + : dataMapStore.filteredColumnNamesInEdgeNewSelection; + + const findEdge = (collection: EdgeType[], label: string) => + collection.find(({ name }) => name === label); + + const findVertex = (collection: VertexType[], label: string) => + collection.find(({ name }) => name === label); + + const selectedEdge = findEdge(dataImportRootStore.edgeTypes, edgeMap.label); + + let selectedSourceVertex: VertexType | undefined; + let selectedTargetVertex: VertexType | undefined; + + if (!isUndefined(selectedEdge)) { + selectedSourceVertex = findVertex( + dataImportRootStore.vertexTypes, + selectedEdge.source_label + ); + selectedTargetVertex = findVertex( + dataImportRootStore.vertexTypes, + selectedEdge.target_label + ); + } + + const isStrategyAutomatic = + selectedSourceVertex?.id_strategy === 'AUTOMATIC' || + selectedTargetVertex?.id_strategy === 'AUTOMATIC'; + + const handleExpand = () => { + dataMapStore.switchExpand('type', !dataMapStore.isExpandTypeConfig); + }; + + const handleExpandAdvance = () => { + switchExpandAdvance(!isExpandAdvance); + }; + + const wrapperName = classnames({ + 'import-tasks-data-map-config-card': !Boolean(checkOrEdit), + 'import-tasks-data-map-config-view': Boolean(checkOrEdit) + }); + + const expandAdvanceClassName = classnames({ + 'import-tasks-step-content-header-expand': isExpandAdvance, + 'import-tasks-step-content-header-collpase': !isExpandAdvance + }); + + const expandAddMapClassName = classnames({ + 'import-tasks-step-content-header-expand': isAddMapping, + 'import-tasks-step-content-header-collpase': !isAddMapping + }); + + const addMappingManipulationClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': + size(filteredColumnNamesInSelection) === 0 || isStrategyAutomatic + }); + + const addNullValueClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': edgeMap.null_values.customized.includes( + '' + ) + }); + + const addPropertyMapClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': + !dataMapStore.allowAddPropertyMapping('edge') || isStrategyAutomatic + }); + + return ( +
    + {Boolean(checkOrEdit) ? ( +
    + {t('data-configs.type.basic-settings')} +
    + ) : ( +
    + {t('data-configs.type.edge.title')} + collpaseOrExpand +
    + )} +
    + + {t('data-configs.type.edge.type')}: + + {isCheck ? ( + {dataMapStore.editedEdgeMap!.label} + ) : ( + + )} +
    + + {!isUndefined(selectedSourceVertex) && ( +
    + + {t('data-configs.type.edge.source-ID-strategy')}: + + + {t('data-configs.type.hint.lack-support-for-automatic')} + + } + > + {t( + `data-configs.type.ID-strategy.${selectedSourceVertex?.id_strategy}` + )} + {selectedSourceVertex?.id_strategy === 'PRIMARY_KEY' && + `-${selectedSourceVertex?.primary_keys.join(',')}`} + +
    + )} + {edgeMap.source_fields.map((idField, fieldIndex) => { + return ( +
    + + {t('data-configs.type.edge.ID-column') + + (selectedSourceVertex?.id_strategy === 'PRIMARY_KEY' + ? fieldIndex + 1 + : '')} + : + + {isCheck ? ( + {idField} + ) : ( + + )} +
    + ); + })} + + {!isUndefined(selectedTargetVertex) && ( +
    + + {t('data-configs.type.edge.target-ID-strategy')}: + + + {t('data-configs.type.hint.lack-support-for-automatic')} + + } + > + {t( + `data-configs.type.ID-strategy.${selectedTargetVertex?.id_strategy}` + )} + {selectedTargetVertex?.id_strategy === 'PRIMARY_KEY' && + `-${selectedTargetVertex?.primary_keys.join(',')}`} + +
    + )} + {edgeMap.target_fields.map((idField, fieldIndex) => { + return ( +
    + + {t('data-configs.type.edge.ID-column') + + (selectedTargetVertex?.id_strategy === 'PRIMARY_KEY' + ? fieldIndex + 1 + : '')} + : + + {isCheck ? ( + {idField} + ) : ( + + )} +
    + ); + })} + +
    + + {t('data-configs.type.edge.map-settings')}: + +
    + {isCheck && + isEmpty(dataMapStore.editedEdgeMap?.field_mapping) && + '-'} + + {((Boolean(checkOrEdit) === false && + !isEmpty(dataMapStore.newEdgeType.field_mapping)) || + (Boolean(checkOrEdit) !== false && + !isEmpty(dataMapStore.editedEdgeMap!.field_mapping))) && ( +
    +
    + {t('data-configs.type.edge.add-map.name')} +
    +
    + {t('data-configs.type.edge.add-map.sample')} +
    +
    + {t('data-configs.type.edge.add-map.property')} +
    +
    + {!isCheck && ( + { + isEdit + ? dataMapStore.toggleEdgeSelectAllFieldMapping( + 'edit', + false, + selectedEdge + ) + : dataMapStore.toggleEdgeSelectAllFieldMapping( + 'new', + false, + selectedEdge + ); + }} + > + {t('data-configs.type.edge.add-map.clear')} + + )} +
    +
    + )} + {edgeMap.field_mapping.map( + ({ column_name, mapped_name }, fieldIndex) => { + const param = checkOrEdit === false ? 'new' : 'edit'; + + return ( +
    +
    + {column_name} +
    +
    + { + dataMapStore.selectedFileInfo?.file_setting + .column_values[ + dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( + (name) => column_name === name + ) + ] + } +
    +
    + {isCheck ? ( + {mapped_name} + ) : ( + + )} +
    +
    + {!isCheck && ( + close { + dataMapStore.removeEdgeFieldMapping( + param, + column_name + ); + }} + /> + )} +
    +
    + ); + } + )} + + {!isCheck && ( + <> +
    { + if ( + size(filteredColumnNamesInSelection) === 0 || + isStrategyAutomatic + ) { + switchAddMapping(false); + return; + } + + switchAddMapping(!isAddMapping); + }} + > +
    + {t('data-configs.type.edge.add-map.title')} +
    + expand +
    + {isAddMapping && ( +
    +
    + + { + if (isEdit) { + const isIndeterminate = + !isEmpty( + dataMapStore.editedEdgeMap?.field_mapping + ) && + size( + dataMapStore.editedEdgeMap?.field_mapping + ) !== + size( + dataMapStore.filteredColumnNamesInEdgeEditSelection + ); + + dataMapStore.toggleEdgeSelectAllFieldMapping( + 'edit', + // if isIndeterminate is true, e.target.checked is false + isIndeterminate || e.target.checked, + selectedEdge + ); + } else { + const isIndeterminate = + !isEmpty( + dataMapStore.newEdgeType.field_mapping + ) && + size(dataMapStore.newEdgeType.field_mapping) !== + size( + dataMapStore.filteredColumnNamesInEdgeNewSelection + ); + + dataMapStore.toggleEdgeSelectAllFieldMapping( + 'new', + isIndeterminate || e.target.checked, + selectedEdge + ); + } + }} + > + {t('data-configs.type.edge.select-all')} + + +
    + {filteredColumnNamesInSelection.map((name) => { + const param = isEdit ? 'edit' : 'new'; + + let combinedText = name; + let currentColumnValue = dataMapStore.selectedFileInfo + ?.file_setting.column_values[ + dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( + (columnName) => name === columnName + ) + ] as string; + combinedText += `(${currentColumnValue})`; + + if (getUnicodeLength(combinedText) > 35) { + combinedText = combinedText.slice(0, 35) + '...'; + } + + const mappingValue = selectedEdge?.properties.find( + ({ name: propertyName }) => propertyName === name + )?.name; + + return ( +
    + + column_name === name + ) + ) + } + onChange={(e: any) => { + if (e.target.checked) { + dataMapStore.setEdgeFieldMappingKey( + param, + name, + mappingValue + ); + } else { + dataMapStore.removeEdgeFieldMapping( + param, + name + ); + } + }} + > + {combinedText} + + +
    + ); + })} +
    + )} + + )} +
    +
    + +
    + {t('data-configs.type.edge.advance.title')} + {!isCheck && ( + collpaseOrExpand + )} +
    + {(isExpandAdvance || isCheck) && ( + <> +
    + + {t('data-configs.type.edge.advance.nullable-list.title')}: + + {isCheck ? ( + + {dataMapStore + .editedEdgeMap!.null_values.checked.filter( + (value) => value !== 'null' + ) + .map((value) => + value === '' + ? t('addition.common.null-value') + : value === 'NULL' + ? 'NULL/null' + : value + ) + .concat(dataMapStore.editedEdgeMap!.null_values.customized) + .join(',')} + + ) : ( + <> +
    + { + isEdit + ? dataMapStore.editCheckedNullValues( + 'edit', + 'edge', + checkedList + ) + : dataMapStore.editCheckedNullValues( + 'new', + 'edge', + checkedList + ); + }} + value={ + isEdit + ? dataMapStore.editedEdgeMap!.null_values.checked + : dataMapStore.newEdgeType.null_values.checked + } + > + NULL/null + + {t( + 'data-configs.type.edge.advance.nullable-list.empty' + )} + + +
    + { + dataMapStore.toggleCustomNullValue( + isEdit ? 'edit' : 'new', + 'edge', + e.target.checked + ); + + if (e.target.checked) { + dataMapStore.addValidateValueMappingOption( + 'null_values' + ); + } else { + dataMapStore.resetValidateValueMapping( + 'null_values' + ); + } + }} + > + {t( + 'data-configs.type.edge.advance.nullable-list.custom' + )} + +
    +
    +
    + {isEdit ? ( + <> + {dataMapStore.editedEdgeMap?.null_values.customized.map( + (nullValue, nullValueIndex) => ( +
    + { + dataMapStore.editCustomNullValues( + 'edit', + 'edge', + e.value, + nullValueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'null_values', + nullValueIndex + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore.validateAdvanceConfigErrorMessage + .null_values[nullValueIndex] + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'null_values', + nullValueIndex + ); + } + }} + /> +
    + ) + )} + {!isEmpty( + dataMapStore.editedEdgeMap?.null_values.customized + ) && ( +
    + { + const extraNullValues = + dataMapStore.editedEdgeMap?.null_values + .customized; + + if (!extraNullValues?.includes('')) { + dataMapStore.addCustomNullValues( + 'edit', + 'edge' + ); + } + }} + > + {t('data-configs.manipulations.add')} + +
    + )} + + ) : ( + <> + {dataMapStore.newEdgeType.null_values.customized.map( + (nullValue, nullValueIndex) => ( +
    + { + dataMapStore.editCustomNullValues( + 'new', + 'edge', + e.value, + nullValueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'null_values', + nullValueIndex + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore.validateAdvanceConfigErrorMessage + .null_values[nullValueIndex] + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'null_values', + nullValueIndex + ); + } + }} + /> +
    + ) + )} + {!isEmpty( + dataMapStore.newEdgeType.null_values.customized + ) && ( +
    + { + const extraNullValues = + dataMapStore.newEdgeType?.null_values + .customized; + + if (!extraNullValues.includes('')) { + dataMapStore.addCustomNullValues( + 'new', + 'edge' + ); + } + }} + > + {t('data-configs.manipulations.add')} + +
    + )} + + )} +
    + + )} +
    + +
    + + {t('data-configs.type.edge.advance.map-property-value.title')}: + + {!isCheck && + (isEdit + ? isEmpty(dataMapStore.editedEdgeMap?.value_mapping) + : isEmpty(dataMapStore.newEdgeType.value_mapping)) && ( +
    { + if (isStrategyAutomatic) { + return; + } + + isEdit + ? dataMapStore.addEdgeValueMapping('edit') + : dataMapStore.addEdgeValueMapping('new'); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings' + ); + }} + > + {t( + 'data-configs.type.edge.advance.map-property-value.add-value' + )} +
    + )} + + {isCheck && ( +
    + {isEmpty(dataMapStore.editedEdgeMap?.value_mapping) + ? '-' + : dataMapStore.editedEdgeMap?.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + {column_name} +
    + {values.map(({ column_value, mapped_value }) => ( +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.value-map' + )} + + {column_value} + map + {mapped_value} +
    + ))} +
    + ) + )} +
    + )} +
    + + {/* property value mapping form */} + {!isCheck && + (!Boolean(checkOrEdit) + ? dataMapStore.newEdgeType.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + + { + dataMapStore.removeEdgeValueMapping( + 'new', + valueMapIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'edge', + 'new', + 'value_mappings', + valueMapIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + +
    +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.value-map' + )} + : + +
    + {values.map( + ({ column_value, mapped_value }, valueIndex) => ( +
    + { + dataMapStore.editEdgeValueMappingColumnValueName( + 'new', + 'column_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].column_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + } + }} + /> + map + { + dataMapStore.editEdgeValueMappingColumnValueName( + 'new', + 'mapped_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].mapped_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + } + }} + /> + {values.length > 1 && ( + { + dataMapStore.removeEdgeValueMappingValue( + 'new', + valueMapIndex, + valueIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'edge', + 'new', + 'value_mappings_value', + valueMapIndex, + valueIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + + )} +
    + ) + )} +
    +
    + { + if ( + !dataMapStore.allowAddPropertyValueMapping( + 'edge', + valueMapIndex + ) + ) { + return; + } + + dataMapStore.addEdgeValueMappingValue( + 'new', + valueMapIndex + ); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings_value', + valueMapIndex + ); + }} + > + {t( + 'data-configs.type.edge.advance.map-property-value.fields.add-value-map' + )} + +
    +
    +
    +
    +
    + ) + ) + : dataMapStore.editedEdgeMap?.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + + { + dataMapStore.removeEdgeValueMapping( + 'edit', + valueMapIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'edge', + 'edit', + 'value_mappings', + valueMapIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + +
    +
    + + {t( + 'data-configs.type.edge.advance.map-property-value.fields.value-map' + )} + : + +
    + {values.map( + ({ column_value, mapped_value }, valueIndex) => ( +
    + { + dataMapStore.editEdgeValueMappingColumnValueName( + 'edit', + 'column_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].column_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + } + }} + /> + map + { + dataMapStore.editEdgeValueMappingColumnValueName( + 'edit', + 'mapped_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].mapped_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'edge', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + } + }} + /> + {values.length > 1 && ( + { + dataMapStore.removeEdgeValueMappingValue( + 'edit', + valueMapIndex, + valueIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'edge', + 'edit', + 'value_mappings_value', + valueMapIndex, + valueIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + + )} +
    + ) + )} +
    +
    + { + if ( + !dataMapStore.allowAddPropertyValueMapping( + 'edge', + valueMapIndex + ) + ) { + return; + } + + dataMapStore.addEdgeValueMappingValue( + 'edit', + valueMapIndex + ); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings_value', + valueMapIndex + ); + }} + > + {t( + 'data-configs.type.edge.advance.map-property-value.fields.add-value-map' + )} + +
    +
    +
    +
    +
    + ) + ))} + + {!isCheck && + (isEdit + ? !isEmpty(dataMapStore.editedEdgeMap?.value_mapping) + : !isEmpty(dataMapStore.newEdgeType.value_mapping)) && ( +
    { + if (!dataMapStore.allowAddPropertyMapping('edge')) { + return; + } + + isEdit + ? dataMapStore.addEdgeValueMapping('edit') + : dataMapStore.addEdgeValueMapping('new'); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings' + ); + }} + > + {t( + 'data-configs.type.edge.advance.map-property-value.add-value' + )} +
    + )} + + )} + + {!isCheck && ( + + isEmpty(mapped_name) + ) || + !dataMapStore.allowAddPropertyMapping('edge') || + !dataMapStore.isValidateSave + } + onCreate={async () => { + dataMapStore.switchAddNewTypeConfig(false); + dataMapStore.switchEditTypeConfig(false); + + isEdit + ? await dataMapStore.updateEdgeMap( + 'upgrade', + dataMapStore.selectedFileId + ) + : await dataMapStore.updateEdgeMap( + 'add', + dataMapStore.selectedFileId + ); + + if (dataMapStore.requestStatus.updateEdgeMap === 'failed') { + Message.error({ + content: dataMapStore.errorInfo.updateEdgeMap.message, + size: 'medium', + showCloseIcon: false + }); + } + + onCancelCreateEdge(); + dataMapStore.resetNewMap('edge'); + }} + onCancel={() => { + dataMapStore.switchAddNewTypeConfig(false); + dataMapStore.switchEditTypeConfig(false); + + if (!isEdit) { + dataMapStore.resetNewMap('edge'); + } else { + dataMapStore.resetEditMapping('edge'); + } + + onCancelCreateEdge(); + dataMapStore.resetNewMap('edge'); + dataMapStore.resetValidateValueMapping('all'); + }} + /> + )} +
    + ); + } +); + +export default EdgeMap; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx new file mode 100644 index 000000000..d8f9cc00f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/FileConfigs.tsx @@ -0,0 +1,395 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { range, rangeRight } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Radio, Switch, Input, Select, Button, Message } from 'hubble-ui'; + +import { DataImportRootStoreContext } from '../../../../../stores'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; + +const separators = [',', ';', '\\t', ' ']; +const charsets = ['UTF-8', 'GBK', 'ISO-8859-1', 'US-ASCII']; +const dateFormat = [ + 'yyyy-MM-dd', + 'yyyy-MM-dd HH:mm:ss', + 'yyyy-MM-dd HH:mm:ss.SSS' +]; + +const timezones = rangeRight(1, 13) + .map((num) => `GMT-${num}`) + .concat(['GMT']) + .concat(range(1, 13).map((num) => `GMT+${num}`)); + +const styles = { + smallGap: { + marginBottom: 18 + }, + mediumGap: { + marginBottom: 23 + } +}; + +const FileConfigs: React.FC = observer(() => { + const { dataMapStore, serverDataImportStore } = useContext( + DataImportRootStoreContext + ); + const { t } = useTranslation(); + + const expandClassName = classnames({ + 'import-tasks-step-content-header-expand': dataMapStore.isExpandFileConfig, + 'import-tasks-step-content-header-collpase': !dataMapStore.isExpandFileConfig + }); + + const handleExpand = () => { + dataMapStore.switchExpand('file', !dataMapStore.isExpandFileConfig); + }; + + return ( + dataMapStore.selectedFileInfo && ( +
    +
    + {t('data-configs.file.title')} + collpaseOrExpand +
    + {dataMapStore.isExpandFileConfig && ( + <> +
    + + {t('data-configs.file.include-header')}: + + { + dataMapStore.setFileConfig('has_header', checked); + }} + /> +
    +
    + + {t('data-configs.file.delimiter.title')}: + +
    + ) => { + if (e.target.value === 'custom') { + dataMapStore.setFileConfig('delimiter', ''); + } else { + dataMapStore.setFileConfig('delimiter', e.target.value); + // reset validate error message of delimiter + dataMapStore.validateFileInfo('delimiter'); + } + }} + > + + {t('data-configs.file.delimiter.comma')} + + + {t('data-configs.file.delimiter.semicolon')} + + + {t('data-configs.file.delimiter.tab')} + + + {t('data-configs.file.delimiter.space')} + + + {t('data-configs.file.delimiter.custom')} + + +
    + {!separators.includes( + dataMapStore.selectedFileInfo!.file_setting.delimiter + ) && ( +
    + { + dataMapStore.setFileConfig('delimiter', e.value); + dataMapStore.validateFileInfo('delimiter'); + }} + errorMessage={ + dataMapStore.validateFileInfoErrorMessage.delimiter + } + errorLocation="layer" + originInputProps={{ + onBlur: () => { + dataMapStore.validateFileInfo('delimiter'); + } + }} + /> +
    + )} +
    +
    + + {t('data-configs.file.code-type.title')}: + +
    + ) => { + if (e.target.value === 'custom') { + dataMapStore.setFileConfig('charset', ''); + } else { + dataMapStore.setFileConfig('charset', e.target.value); + dataMapStore.validateFileInfo('charset'); + } + }} + > + + {t('data-configs.file.code-type.UTF-8')} + + + {t('data-configs.file.code-type.GBK')} + + + {t('data-configs.file.code-type.ISO-8859-1')} + + + {t('data-configs.file.code-type.US-ASCII')} + + + {t('data-configs.file.code-type.custom')} + + +
    + {!charsets.includes( + dataMapStore.selectedFileInfo!.file_setting.charset + ) && ( +
    + { + dataMapStore.setFileConfig('charset', e.value); + dataMapStore.validateFileInfo('charset'); + }} + errorMessage={ + dataMapStore.validateFileInfoErrorMessage.charset + } + errorLocation="layer" + originInputProps={{ + onBlur: () => { + dataMapStore.validateFileInfo('charset'); + } + }} + /> +
    + )} +
    +
    + + {t('data-configs.file.date-type.title')}: + +
    + ) => { + if (e.target.value === 'custom') { + dataMapStore.setFileConfig('date_format', ''); + } else { + dataMapStore.setFileConfig('date_format', e.target.value); + dataMapStore.validateFileInfo('date_format'); + } + }} + > + yyyy-MM-dd + yyyy-MM-dd HH:MM:SS + + yyyy-MM-dd HH:mm:ss.SSS + + + {t('data-configs.file.code-type.custom')} + + + {!dateFormat.includes( + dataMapStore.selectedFileInfo!.file_setting.date_format + ) && ( +
    + { + dataMapStore.setFileConfig('date_format', e.value); + dataMapStore.validateFileInfo('date_format'); + }} + errorMessage={ + dataMapStore.validateFileInfoErrorMessage.date_format + } + errorLocation="layer" + originInputProps={{ + onBlur: () => { + dataMapStore.validateFileInfo('date_format'); + } + }} + /> +
    + )} +
    +
    +
    + + {t('data-configs.file.skipped-line')}: + + { + dataMapStore.setFileConfig('skipped_line', e.value); + dataMapStore.validateFileInfo('skipped_line'); + }} + errorLocation="layer" + errorMessage={ + dataMapStore.validateFileInfoErrorMessage.skipped_line + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateFileInfo('skipped_line'); + } + }} + /> +
    +
    + + {t('data-configs.file.timezone')}: + + +
    + {!dataMapStore.readOnly && !dataMapStore.lock && ( +
    + + +
    + )} + + )} +
    + ) + ); +}); + +export default FileConfigs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx new file mode 100644 index 000000000..61cb5c877 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigManipulations.tsx @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { observer } from 'mobx-react'; +import { useTranslation } from 'react-i18next'; +import { Button } from 'hubble-ui'; + +interface TypeConfigManipulationsProps { + type: 'vertex' | 'edge'; + status: 'add' | 'edit'; + disableSave?: boolean; + onCreate: () => void; + onCancel: () => void; +} + +const TypeConfigManipulations: React.FC = observer( + ({ type, status, onCreate, onCancel, disableSave = false }) => { + const { t } = useTranslation(); + + return ( +
    + +
    + + +
    +
    + ); + } +); + +export default TypeConfigManipulations; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx new file mode 100644 index 000000000..f50a71637 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeConfigs.tsx @@ -0,0 +1,273 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState, useEffect, useRef } from 'react'; +import { observer } from 'mobx-react'; +import { isEmpty, size } from 'lodash-es'; +import { useLocation } from 'wouter'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Button } from 'hubble-ui'; + +import { DataImportRootStoreContext } from '../../../../../stores'; + +import { Tooltip } from '../../../../common'; +import TypeInfo from './TypeInfo'; +import VertexMap from './VertexMap'; +import EdgeMap from './EdgeMap'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; + +const TypeConfigs: React.FC = observer(() => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const [isExpand, switchExpand] = useState(true); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [isCreateVertexMap, switchCreateVertexMap] = useState(false); + const [isCreateEdgeMap, switchCreateEdgeMap] = useState(false); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const shouldRevealInitalButtons = + !isCreateVertexMap && + !isCreateEdgeMap && + isEmpty(dataMapStore.selectedFileInfo?.vertex_mappings) && + isEmpty(dataMapStore.selectedFileInfo?.edge_mappings); + + const invalidFileMaps = !dataMapStore.isIrregularProcess + ? dataMapStore.fileMapInfos.filter( + ({ name, vertex_mappings, edge_mappings }) => + dataImportRootStore.successFileUploadTaskNames.includes(name) && + isEmpty(vertex_mappings) && + isEmpty(edge_mappings) + ) + : dataMapStore.fileMapInfos.filter( + ({ vertex_mappings, edge_mappings }) => + isEmpty(vertex_mappings) && isEmpty(edge_mappings) + ); + + const expandClassName = classnames({ + 'import-tasks-step-content-header-expand': isExpand, + 'import-tasks-step-content-header-collpase': !isExpand + }); + + const nextButtonTooltipClassName = classnames({ + 'import-tasks-data-map-tooltip': true, + 'no-display': size(invalidFileMaps) === 0 + }); + + const handleExpand = () => { + switchExpand(!isExpand); + }; + + const handleCreate = (type: 'vertex' | 'edge', flag: boolean) => () => { + dataMapStore.switchExpand('file', false); + // Adding a new type config counts editing as well + dataMapStore.switchAddNewTypeConfig(flag); + + if (type === 'vertex') { + switchCreateVertexMap(flag); + } else { + switchCreateEdgeMap(flag); + } + }; + + useEffect(() => { + // close dashboard when user selects another file + // since the state is not in mobx store, we have to do this for now + switchCreateVertexMap(false); + switchCreateEdgeMap(false); + switchExpand(true); + }, [dataMapStore.selectedFileId]); + + return ( +
    +
    + + {t('data-configs.type.title')} + + collpaseOrExpand + {!dataMapStore.readOnly && + !dataMapStore.lock && + !shouldRevealInitalButtons && ( + + )} +
    + {!dataMapStore.readOnly && + !dataMapStore.lock && + shouldRevealInitalButtons && ( + + )} + {isExpand && ( + <> + {isCreateVertexMap && ( + + )} + {isCreateEdgeMap && ( + + )} + {dataMapStore.selectedFileInfo?.vertex_mappings + .map((mapping, index) => ( + + )) + .reverse()} + {dataMapStore.selectedFileInfo?.edge_mappings + .map((mapping, index) => ( + + )) + .reverse()} + + )} + {!dataMapStore.readOnly && ( +
    + {!serverDataImportStore.isServerStartImport && ( + + )} + +
    + {t('data-configs.type.hint.no-vertex-or-edge-mapping')} +
    + {invalidFileMaps.map(({ name }) => ( +
    + {name} +
    + ))} + + } + > + +
    +
    + )} +
    + ); +}); + +export interface TypeConfigMapCreationsProps { + onCreateVertex: () => void; + onCreateEdge: () => void; + disabled?: boolean; +} + +const TypeConfigMapCreations: React.FC = observer( + ({ onCreateVertex, onCreateEdge, disabled = false }) => { + const { t } = useTranslation(); + + return ( +
    + + +
    + ); + } +); + +export default TypeConfigs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx new file mode 100644 index 000000000..2274f54e6 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/TypeInfo.tsx @@ -0,0 +1,350 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useState, + useRef, + useContext, + useCallback, + useEffect +} from 'react'; +import { observer } from 'mobx-react'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Button } from 'hubble-ui'; + +import { Tooltip } from '../../../../common'; +import { DataImportRootStoreContext } from '../../../../../stores'; +import VertexMap from './VertexMap'; +import EdgeMap from './EdgeMap'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; +import { VertexType } from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +export interface TypeInfoProps { + type: 'vertex' | 'edge'; + mapIndex: number; +} + +const TypeInfo: React.FC = observer(({ type, mapIndex }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [isExpand, switchExpand] = useState(false); + const [isDeletePop, switchDeletePop] = useState(false); + const [checkOrEdit, setCheckOrEdit] = useState<'check' | 'edit' | boolean>( + false + ); + const typeInfoWrapperRef = useRef(null); + const manipulationAreaRef = useRef(null); + const editButtonRef = useRef(null); + const deleteButtonRef = useRef(null); + const deleteWrapperRef = useRef(null); + const { t } = useTranslation(); + + let vertexInfo: VertexType | undefined; + let sourceVertexInfo: VertexType | undefined; + let targetVertexInfo: VertexType | undefined; + + if (type === 'vertex') { + vertexInfo = dataImportRootStore.vertexTypes.find( + ({ name }) => + name === dataMapStore.selectedFileInfo?.vertex_mappings[mapIndex].label + ); + } else { + const edgeInfo = dataImportRootStore.edgeTypes.find( + ({ name }) => + name === dataMapStore.selectedFileInfo!.edge_mappings[mapIndex].label + ); + + sourceVertexInfo = dataImportRootStore.vertexTypes.find( + ({ name }) => name === edgeInfo?.source_label + ); + + targetVertexInfo = dataImportRootStore.vertexTypes.find( + ({ name }) => name === edgeInfo?.target_label + ); + } + + const handleImgClickExpand = () => { + switchExpand(!isExpand); + + if (Boolean(checkOrEdit)) { + if (checkOrEdit === 'edit') { + dataMapStore.switchEditTypeConfig(false); + } + + setCheckOrEdit(false); + } else { + if (type === 'vertex') { + dataMapStore.syncEditMap('vertex', mapIndex); + } else { + dataMapStore.syncEditMap('edge', mapIndex); + } + + setCheckOrEdit('check'); + } + }; + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isDeletePop && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchDeletePop(false); + } + }, + [isDeletePop] + ); + + const handleTypeInfoExpandClick = useCallback( + (e: MouseEvent) => { + if ( + manipulationAreaRef.current && + !manipulationAreaRef.current?.contains(e.target as Element) + ) { + handleImgClickExpand(); + } + }, + [handleImgClickExpand] + ); + + const expandClassName = classnames({ + expand: isExpand, + collpase: !isExpand + }); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + typeInfoWrapperRef.current!.addEventListener( + 'click', + handleTypeInfoExpandClick, + false + ); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + typeInfoWrapperRef.current!.removeEventListener( + 'click', + handleTypeInfoExpandClick, + false + ); + }; + }, [handleOutSideClick, handleTypeInfoExpandClick]); + + return ( +
    +
    +
    +
    + collpaseOrExpand +
    +
    + + {t('data-configs.type.info.type')} + + + {type === 'vertex' + ? t('data-configs.type.vertex.type') + : t('data-configs.type.edge.type')} + +
    +
    +
    + + {t('data-configs.type.info.name')} + + + {type === 'vertex' + ? dataMapStore.selectedFileInfo?.vertex_mappings[mapIndex].label + : dataMapStore.selectedFileInfo?.edge_mappings[mapIndex].label} + +
    +
    + + {t('data-configs.type.info.ID-strategy')} + + + {type === 'vertex' + ? t(`data-configs.type.ID-strategy.${vertexInfo?.id_strategy}`) + + (vertexInfo?.id_strategy === 'PRIMARY_KEY' + ? '-' + vertexInfo?.primary_keys.join(',') + : '') + : `${t('addition.common.source')}:${ + t( + `data-configs.type.ID-strategy.${sourceVertexInfo?.id_strategy}` + ) + + (sourceVertexInfo?.id_strategy === 'PRIMARY_KEY' + ? '-' + sourceVertexInfo?.primary_keys.join(',') + : '') + } ${t('addition.common.target')}:${ + t( + `data-configs.type.ID-strategy.${targetVertexInfo?.id_strategy}` + ) + + (targetVertexInfo?.id_strategy === 'PRIMARY_KEY' + ? '-' + targetVertexInfo?.primary_keys.join(',') + : '') + }`} + +
    +
    + {!dataMapStore.readOnly && !dataMapStore.lock && ( + <> + + +

    + {t('data-configs.manipulations.hints.delete-confirm')} +

    +

    {t('data-configs.manipulations.hints.warning')}

    +
    + + +
    +
    + } + childrenProps={{ + onClick() { + switchDeletePop(true); + } + }} + > + + + + )} +
    +
    + {isExpand && Boolean(checkOrEdit) && type === 'vertex' && ( + { + setCheckOrEdit(false); + switchExpand(false); + }} + vertexMapIndex={mapIndex} + /> + )} + {isExpand && Boolean(checkOrEdit) && type === 'edge' && ( + { + setCheckOrEdit(false); + switchExpand(false); + }} + edgeMapIndex={mapIndex} + /> + )} + + ); +}); + +export default TypeInfo; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx new file mode 100644 index 000000000..b9e2f283e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/VertexMap.tsx @@ -0,0 +1,1628 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useCallback, + useRef, + useEffect +} from 'react'; +import { observer } from 'mobx-react'; +import { isUndefined, isEmpty, size, cloneDeep } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Input, Select, Checkbox, Message } from 'hubble-ui'; + +import { Tooltip } from '../../../../common'; +import TypeConfigManipulations from './TypeConfigManipulations'; +import { DataImportRootStoreContext } from '../../../../../stores'; +import { VertexType } from '../../../../../stores/types/GraphManagementStore/metadataConfigsStore'; +import { getUnicodeLength } from '../../../../../utils'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; +import BlueArrowIcon from '../../../../../assets/imgs/ic_arrow_blue.svg'; +import CloseIcon from '../../../../../assets/imgs/ic_close_16.svg'; +import MapIcon from '../../../../../assets/imgs/ic_yingshe_16.svg'; + +export interface VertexMapProps { + checkOrEdit: 'check' | 'edit' | boolean; + onCancelCreateVertex: () => void; + vertexMapIndex?: number; +} + +const VertexMap: React.FC = observer( + ({ checkOrEdit, onCancelCreateVertex, vertexMapIndex }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore } = dataImportRootStore; + const [isAddMapping, switchAddMapping] = useState(false); + const [isExpandAdvance, switchExpandAdvance] = useState(false); + const addMappingWrapperRef = useRef(null); + const { t } = useTranslation(); + + const isCheck = checkOrEdit === 'check'; + const isEdit = checkOrEdit === 'edit'; + const vertexMap = + checkOrEdit !== false + ? dataMapStore.editedVertexMap! + : dataMapStore.newVertexType; + const filteredColumnNamesInSelection = + checkOrEdit !== false + ? dataMapStore.filteredColumnNamesInVertexEditSelection + : dataMapStore.filteredColumnNamesInVertexNewSelection; + + const findVertex = (collection: VertexType[], label: string) => + collection.find(({ name }) => name === label); + + const selectedVertex = findVertex( + dataImportRootStore.vertexTypes, + vertexMap.label + ); + + const isStrategyAutomatic = selectedVertex?.id_strategy === 'AUTOMATIC'; + + const handleAdvanceExpand = () => { + switchExpandAdvance(!isExpandAdvance); + }; + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + isAddMapping && + addMappingWrapperRef.current && + !addMappingWrapperRef.current.contains(e.target as Element) + ) { + switchAddMapping(false); + } + }, + [isAddMapping] + ); + + const wrapperName = classnames({ + 'import-tasks-data-map-config-card': !Boolean(checkOrEdit), + 'import-tasks-data-map-config-view': Boolean(checkOrEdit) + }); + + const expandAdvanceClassName = classnames({ + 'import-tasks-step-content-header-expand': isExpandAdvance, + 'import-tasks-step-content-header-collpase': !isExpandAdvance + }); + + const expandAddMapClassName = classnames({ + 'import-tasks-step-content-header-expand': isAddMapping, + 'import-tasks-step-content-header-collpase': !isAddMapping + }); + + const addMappingManipulationClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': + size(filteredColumnNamesInSelection) === 0 || isStrategyAutomatic + }); + + const addNullValueClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': isEdit + ? dataMapStore.editedVertexMap!.null_values.customized.includes('') + : dataMapStore.newVertexType.null_values.customized.includes('') + }); + + const addPropertyMapClassName = classnames({ + 'import-tasks-manipulation': true, + 'import-tasks-manipulation-disabled': + !dataMapStore.allowAddPropertyMapping('vertex') || isStrategyAutomatic + }); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
    + {Boolean(checkOrEdit) ? ( +
    + {t('data-configs.type.basic-settings')} +
    + ) : ( +
    + {t('data-configs.type.vertex.title')} + collpaseOrExpand +
    + )} +
    + + {t('data-configs.type.vertex.type')}: + + {isCheck ? ( + {dataMapStore.editedVertexMap!.label} + ) : ( + + )} +
    + {!isUndefined(selectedVertex) && ( +
    + + {t('data-configs.type.vertex.ID-strategy')}: + + + {t('data-configs.type.hint.lack-support-for-automatic')} + + } + > + {t(`data-configs.type.ID-strategy.${selectedVertex.id_strategy}`)} + {selectedVertex.id_strategy === 'PRIMARY_KEY' && + `-${selectedVertex.primary_keys.join(',')}`} + +
    + )} + {vertexMap.id_fields.map((idField, fieldIndex) => { + return ( +
    + + {t('data-configs.type.vertex.ID-column') + + (selectedVertex?.id_strategy === 'PRIMARY_KEY' + ? fieldIndex + 1 + : '')} + : + + {isCheck ? ( + {idField} + ) : ( + + )} +
    + ); + })} + +
    + + {t('data-configs.type.vertex.map-settings')}: + +
    + {isCheck && + isEmpty(dataMapStore.editedVertexMap?.field_mapping) && + '-'} + + {((Boolean(checkOrEdit) === false && + !isEmpty(dataMapStore.newVertexType.field_mapping)) || + (Boolean(checkOrEdit) !== false && + !isEmpty(dataMapStore.editedVertexMap!.field_mapping))) && ( +
    +
    + {t('data-configs.type.vertex.add-map.name')} +
    +
    + {t('data-configs.type.vertex.add-map.sample')} +
    +
    + {t('data-configs.type.vertex.add-map.property')} +
    +
    + {!isCheck && ( + { + isEdit + ? dataMapStore.toggleVertexSelectAllFieldMapping( + 'edit', + false, + selectedVertex + ) + : dataMapStore.toggleVertexSelectAllFieldMapping( + 'new', + false, + selectedVertex + ); + }} + > + {t('data-configs.type.vertex.add-map.clear')} + + )} +
    +
    + )} + + {vertexMap.field_mapping.map( + ({ column_name, mapped_name }, fieldIndex) => { + const param = checkOrEdit === false ? 'new' : 'edit'; + + return ( +
    +
    + {column_name} +
    +
    + { + dataMapStore.selectedFileInfo?.file_setting + .column_values[ + dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( + (name) => column_name === name + ) + ] + } +
    +
    + {isCheck ? ( + {mapped_name} + ) : ( + + )} +
    +
    + {!isCheck && ( + close { + dataMapStore.removeVertexFieldMapping( + param, + column_name + ); + }} + /> + )} +
    +
    + ); + } + )} + + {!isCheck && ( + <> +
    { + if ( + size(filteredColumnNamesInSelection) === 0 || + isStrategyAutomatic + ) { + switchAddMapping(false); + return; + } + + switchAddMapping(!isAddMapping); + }} + > +
    + {t('data-configs.type.vertex.add-map.title')} +
    + expand +
    + {isAddMapping && ( +
    +
    + + { + if (isEdit) { + const isIndeterminate = + !isEmpty( + dataMapStore.editedVertexMap?.field_mapping + ) && + size( + dataMapStore.editedVertexMap?.field_mapping + ) !== + size( + dataMapStore.filteredColumnNamesInVertexEditSelection + ); + + dataMapStore.toggleVertexSelectAllFieldMapping( + 'edit', + // if isIndeterminate is true, e.target.checked is false + isIndeterminate || e.target.checked, + selectedVertex + ); + } else { + const isIndeterminate = + !isEmpty( + dataMapStore.newVertexType.field_mapping + ) && + size( + dataMapStore.newVertexType.field_mapping + ) !== + size( + dataMapStore.filteredColumnNamesInVertexNewSelection + ); + + dataMapStore.toggleVertexSelectAllFieldMapping( + 'new', + isIndeterminate || e.target.checked, + selectedVertex + ); + } + }} + > + {t('data-configs.type.vertex.select-all')} + + +
    + {dataMapStore.selectedFileInfo?.file_setting.column_names + .filter((name) => !vertexMap.id_fields.includes(name)) + .map((name) => { + let combinedText = name; + let currentColumnValue = dataMapStore.selectedFileInfo + ?.file_setting.column_values[ + dataMapStore.selectedFileInfo?.file_setting.column_names.findIndex( + (columnName) => name === columnName + ) + ] as string; + combinedText += `(${currentColumnValue})`; + + if (getUnicodeLength(combinedText) > 35) { + combinedText = combinedText.slice(0, 35) + '...'; + } + + const mappingValue = selectedVertex?.properties.find( + ({ name: propertyName }) => propertyName === name + )?.name; + + return ( +
    + + column_name === name + ) + ) + } + onChange={(e: any) => { + if (e.target.checked) { + isEdit + ? dataMapStore.setVertexFieldMappingKey( + 'edit', + name, + mappingValue + ) + : dataMapStore.setVertexFieldMappingKey( + 'new', + name, + mappingValue + ); + } else { + isEdit + ? dataMapStore.removeVertexFieldMapping( + 'edit', + name + ) + : dataMapStore.removeVertexFieldMapping( + 'new', + name + ); + } + }} + > + {combinedText} + + +
    + ); + })} +
    + )} + + )} +
    +
    + +
    + {t('data-configs.type.vertex.advance.title')} + {!isCheck && ( + collpaseOrExpand + )} +
    + {(isExpandAdvance || isCheck) && ( + <> +
    + + {t('data-configs.type.vertex.advance.nullable-list.title')}: + + {isCheck ? ( + + {dataMapStore + .editedVertexMap!.null_values.checked.filter( + (value) => value !== 'null' + ) + .map((value) => + value === '' + ? t('addition.common.null-value') + : value === 'NULL' + ? 'NULL/null' + : value + ) + .concat( + dataMapStore.editedVertexMap!.null_values.customized + ) + .join(',')} + + ) : ( + <> +
    + { + isEdit + ? dataMapStore.editCheckedNullValues( + 'edit', + 'vertex', + checkedList + ) + : dataMapStore.editCheckedNullValues( + 'new', + 'vertex', + checkedList + ); + }} + value={ + isEdit + ? dataMapStore.editedVertexMap!.null_values.checked + : dataMapStore.newVertexType.null_values.checked + } + > + NULL/null + + {t( + 'data-configs.type.vertex.advance.nullable-list.empty' + )} + + +
    + { + dataMapStore.toggleCustomNullValue( + isEdit ? 'edit' : 'new', + 'vertex', + e.target.checked + ); + + if (e.target.checked) { + dataMapStore.addValidateValueMappingOption( + 'null_values' + ); + } else { + dataMapStore.resetValidateValueMapping( + 'null_values' + ); + } + }} + > + {t( + 'data-configs.type.vertex.advance.nullable-list.custom' + )} + +
    +
    +
    + {isEdit ? ( + <> + {dataMapStore.editedVertexMap?.null_values.customized.map( + (nullValue, nullValueIndex) => ( +
    + { + dataMapStore.editCustomNullValues( + 'edit', + 'vertex', + e.value, + nullValueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'null_values', + nullValueIndex + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore.validateAdvanceConfigErrorMessage + .null_values[nullValueIndex] + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'null_values', + nullValueIndex + ); + } + }} + /> +
    + ) + )} + {!isEmpty( + dataMapStore.editedVertexMap?.null_values.customized + ) && ( +
    + { + const extraNullValues = + dataMapStore.editedVertexMap?.null_values + .customized; + + if (!extraNullValues?.includes('')) { + dataMapStore.addCustomNullValues( + 'edit', + 'vertex' + ); + } + }} + > + {t('data-configs.manipulations.add')} + +
    + )} + + ) : ( + <> + {dataMapStore.newVertexType.null_values.customized.map( + (nullValue, nullValueIndex) => ( +
    + { + dataMapStore.editCustomNullValues( + 'new', + 'vertex', + e.value, + nullValueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'null_values', + nullValueIndex + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore.validateAdvanceConfigErrorMessage + .null_values[nullValueIndex] + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'null_values', + nullValueIndex + ); + } + }} + /> +
    + ) + )} + {!isEmpty( + dataMapStore.newVertexType.null_values.customized + ) && ( +
    + { + const extraNullValues = + dataMapStore.newVertexType?.null_values + .customized; + + if (!extraNullValues.includes('')) { + dataMapStore.addCustomNullValues( + 'new', + 'vertex' + ); + } + }} + > + {t('data-configs.manipulations.add')} + +
    + )} + + )} +
    + + )} +
    + +
    + + {t('data-configs.type.vertex.advance.map-property-value.title')} + : + + {!isCheck && + (isEdit + ? isEmpty(dataMapStore.editedVertexMap?.value_mapping) + : isEmpty(dataMapStore.newVertexType.value_mapping)) && ( +
    { + if (isStrategyAutomatic) { + return; + } + + isEdit + ? dataMapStore.addVertexValueMapping('edit') + : dataMapStore.addVertexValueMapping('new'); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings' + ); + }} + > + {t( + 'data-configs.type.vertex.advance.map-property-value.add-value' + )} +
    + )} + + {isCheck && ( +
    + {isEmpty(dataMapStore.editedVertexMap?.value_mapping) + ? '-' + : dataMapStore.editedVertexMap?.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + {column_name} +
    + {values.map(({ column_value, mapped_value }) => ( +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.value-map' + )} + + {column_value} + map + {mapped_value} +
    + ))} +
    + ) + )} +
    + )} +
    + + {/* property value mapping form */} + {!isCheck && + (!Boolean(checkOrEdit) + ? dataMapStore.newVertexType.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + + { + dataMapStore.removeVertexValueMapping( + 'new', + valueMapIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'vertex', + 'new', + 'value_mappings', + valueMapIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + +
    +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.value-map' + )} + : + +
    + {values.map( + ({ column_value, mapped_value }, valueIndex) => ( +
    + { + dataMapStore.editVertexValueMappingColumnValueName( + 'new', + 'column_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].column_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + } + }} + /> + map + { + dataMapStore.editVertexValueMappingColumnValueName( + 'new', + 'mapped_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].mapped_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'new', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + } + }} + /> + {values.length > 1 && ( + { + dataMapStore.removeVertexValueMappingValue( + 'new', + valueMapIndex, + valueIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'vertex', + 'new', + 'value_mappings_value', + valueMapIndex, + valueIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + + )} +
    + ) + )} +
    +
    + { + if ( + !dataMapStore.allowAddPropertyValueMapping( + 'vertex', + valueMapIndex + ) + ) { + return; + } + + dataMapStore.addVertexValueMappingValue( + 'new', + valueMapIndex + ); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings_value', + valueMapIndex + ); + }} + > + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.add-value-map' + )} + +
    +
    +
    +
    +
    + ) + ) + : dataMapStore.editedVertexMap?.value_mapping.map( + ({ column_name, values }, valueMapIndex) => ( +
    +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.property' + )} + {valueMapIndex + 1}: + + + { + dataMapStore.removeVertexValueMapping( + 'edit', + valueMapIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'vertex', + 'edit', + 'value_mappings', + valueMapIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + +
    +
    + + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.value-map' + )} + : + +
    + {values.map( + ({ column_value, mapped_value }, valueIndex) => ( +
    + { + dataMapStore.editVertexValueMappingColumnValueName( + 'edit', + 'column_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].column_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'column_value', + valueIndex: valueIndex + } + ); + } + }} + /> + map + { + dataMapStore.editVertexValueMappingColumnValueName( + 'edit', + 'mapped_value', + e.value, + valueMapIndex, + valueIndex + ); + + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + }} + errorLocation="layer" + errorMessage={ + dataMapStore + .validateAdvanceConfigErrorMessage + .value_mapping[valueMapIndex].values[ + valueIndex + ].mapped_value + } + originInputProps={{ + onBlur: () => { + dataMapStore.validateValueMapping( + 'vertex', + 'edit', + 'value_mappings', + valueMapIndex, + { + field: 'mapped_value', + valueIndex: valueIndex + } + ); + } + }} + /> + {values.length > 1 && ( + { + dataMapStore.removeVertexValueMappingValue( + 'edit', + valueMapIndex, + valueIndex + ); + + dataMapStore.removeValidateValueMappingOption( + 'vertex', + 'edit', + 'value_mappings_value', + valueMapIndex, + valueIndex + ); + }} + > + {t('data-configs.manipulations.delete')} + + )} +
    + ) + )} +
    +
    + { + if ( + !dataMapStore.allowAddPropertyValueMapping( + 'vertex', + valueMapIndex + ) + ) { + return; + } + + dataMapStore.addVertexValueMappingValue( + 'edit', + valueMapIndex + ); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings_value', + valueMapIndex + ); + }} + > + {t( + 'data-configs.type.vertex.advance.map-property-value.fields.add-value-map' + )} + +
    +
    +
    +
    +
    + ) + ))} + + {!isCheck && + (isEdit + ? !isEmpty(dataMapStore.editedVertexMap?.value_mapping) + : !isEmpty(dataMapStore.newVertexType.value_mapping)) && ( +
    { + if (!dataMapStore.allowAddPropertyMapping('vertex')) { + return; + } + + isEdit + ? dataMapStore.addVertexValueMapping('edit') + : dataMapStore.addVertexValueMapping('new'); + + dataMapStore.addValidateValueMappingOption( + 'value_mappings' + ); + }} + > + {t( + 'data-configs.type.vertex.advance.map-property-value.add-value' + )} +
    + )} + + )} + + {!isCheck && ( + + isEmpty(mapped_name) + ) || + !dataMapStore.allowAddPropertyMapping('vertex') || + !dataMapStore.isValidateSave + } + onCreate={async () => { + dataMapStore.switchAddNewTypeConfig(false); + dataMapStore.switchEditTypeConfig(false); + + // really weird! if import task comes from import-manager + // datamapStore.fileMapInfos cannot be updated in + // though it's already re-rendered + if (dataMapStore.isIrregularProcess) { + isEdit + ? await dataMapStore.updateVertexMap( + 'upgrade', + dataMapStore.selectedFileId + ) + : await dataMapStore.updateVertexMap( + 'add', + dataMapStore.selectedFileId + ); + + dataMapStore.fetchDataMaps(); + } else { + isEdit + ? await dataMapStore.updateVertexMap( + 'upgrade', + dataMapStore.selectedFileId + ) + : await dataMapStore.updateVertexMap( + 'add', + dataMapStore.selectedFileId + ); + } + + if (dataMapStore.requestStatus.updateVertexMap === 'failed') { + Message.error({ + content: dataMapStore.errorInfo.updateVertexMap.message, + size: 'medium', + showCloseIcon: false + }); + } + + onCancelCreateVertex(); + dataMapStore.resetNewMap('vertex'); + }} + onCancel={() => { + dataMapStore.switchAddNewTypeConfig(false); + dataMapStore.switchEditTypeConfig(false); + + if (!isEdit) { + dataMapStore.resetNewMap('vertex'); + } else { + dataMapStore.resetEditMapping('vertex'); + } + + onCancelCreateVertex(); + dataMapStore.resetNewMap('vertex'); + dataMapStore.resetValidateValueMapping('all'); + }} + /> + )} +
    + ); + } +); + +export default VertexMap; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts new file mode 100644 index 000000000..44d62e9c2 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/datamap-configs/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import DataMapConfigs from './DataMapConfigs'; + +export { DataMapConfigs }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less new file mode 100644 index 000000000..ca243f647 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.less @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.job-error-logs { + width: 75vw; + position: relative; + top: 76px; + margin: 0 auto; + font-size: 14px; + + &-title { + margin-bottom: 16px; + color: #333; + line-height: 22px; + font-weight: 900; + } + + &-content-wrapper { + display: flex; + height: calc(100vh - 139px); + padding-top: 25px; + padding-right: 16px; + background-color: #fff; + } + + &-content { + margin-left: 19px; + overflow: auto; + line-height: 2; + + &-item { + display: flex; + + &:nth-child(even) { + margin-bottom: 32px; + } + } + + &-item-title { + word-break: keep-all; + } + + &-item-text { + margin-left: 6px; + } + + &-with-error-only { + margin-left: 16px; + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx new file mode 100644 index 000000000..0cb48f63c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/JobErrorLogs.tsx @@ -0,0 +1,125 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect, useState } from 'react'; +import { useRoute } from 'wouter'; +import { observer } from 'mobx-react'; +import { motion } from 'framer-motion'; +import { Menu } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { ImportManagerStoreContext } from '../../../../../stores'; + +import './JobErrorLogs.less'; + +const failedReasonVariants = { + initial: { + opacity: 0, + y: -10 + }, + animate: { + opacity: 1, + y: 0, + transition: { + duration: 0.8, + ease: 'easeInOut' + } + } +}; + +const JobErrorLogs: React.FC = observer(() => { + const importManagerStore = useContext(ImportManagerStoreContext); + const { t } = useTranslation(); + const [, params] = useRoute( + '/graph-management/:id/data-import/job-error-log/:jobId' + ); + const [selectedFileName, setSelectedFileName] = useState(''); + + useEffect(() => { + const init = async () => { + await importManagerStore.fetchFailedReason( + Number(params!.id), + Number(params!.jobId) + ); + + if (importManagerStore.requestStatus.fetchFailedReason === 'success') { + setSelectedFileName(importManagerStore.failedReason[0].file_name); + } + }; + + init(); + }, [params!.id, params!.jobId]); + + return ( +
    +
    + {t('addition.message.fail-reason')} +
    + +
    + {importManagerStore.requestStatus.fetchFailedReason === 'failed' ? ( +
    + {importManagerStore.errorInfo.fetchFailedReason.message} +
    + ) : ( + <> + { + setSelectedFileName(e.key); + }} + > + {importManagerStore.failedReason.map(({ file_name }) => ( + + {file_name} + + ))} + +
    + {importManagerStore.failedReason + .find(({ file_name }) => file_name === selectedFileName) + ?.reason.split('\n') + .filter((reason) => reason !== '') + .map((text, index) => ( +
    +
    + {index % 2 === 0 + ? `${t('addition.message.fail-reason')}:` + : `${t('addition.message.fail-position')}:`} +
    +
    + {text.replace('#### INSERT ERROR:', '')} +
    +
    + ))} +
    + + )} +
    +
    +
    + ); +}); + +export default JobErrorLogs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less new file mode 100644 index 000000000..7e992bfc7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.less @@ -0,0 +1,25 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.task-error-logs { + width: 80vw; + position: relative; + top: 76px; + line-height: 2; + font-size: 14px; + margin: 0 auto 16px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx new file mode 100644 index 000000000..d71097365 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/TaskErrorLogs.tsx @@ -0,0 +1,58 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useEffect } from 'react'; +import { useRoute } from 'wouter'; +import { observer } from 'mobx-react'; +import { DataImportRootStoreContext } from '../../../../../stores'; + +import './TaskErrorLogs.less'; + +const TaskErrorLogs: React.FC = observer(() => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { serverDataImportStore } = dataImportRootStore; + const [, params] = useRoute( + '/graph-management/:id/data-import/:jobId/task-error-log/:taskId' + ); + + useEffect(() => { + serverDataImportStore.checkErrorLogs( + Number(params!.id), + Number(params!.jobId), + Number(params!.taskId) + ); + }, [params!.id, params!.jobId, params!.taskId]); + + return ( +
    + {/*
    + {serverDataImportStore.requestStatus.checkErrorLogs === 'failed' + ? serverDataImportStore.errorInfo.checkErrorLogs.message + : serverDataImportStore.errorLogs} +
    */} +
    + {serverDataImportStore.requestStatus.checkErrorLogs === 'failed' + ? serverDataImportStore.errorInfo.checkErrorLogs.message + : serverDataImportStore.errorLogs + .split('\n') + .map((text) =>

    {text}

    )} +
    +
    + ); +}); + +export default TaskErrorLogs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/index.ts new file mode 100644 index 000000000..a694b2fc5 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/error-logs/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import TaskErrorLogs from './TaskErrorLogs'; +import JobErrorLogs from './JobErrorLogs'; + +export { TaskErrorLogs, JobErrorLogs }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/index.ts new file mode 100644 index 000000000..e1324524f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/index.ts @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import ImportTasks from './ImportTasks'; +import ImportManager from './ImportManager'; +import { JobDetails } from './job-details'; + +export { ImportTasks, ImportManager, JobDetails }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx new file mode 100644 index 000000000..0332c4b83 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/BasicSettings.tsx @@ -0,0 +1,258 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useContext, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { isEmpty, isNull, isUndefined } from 'lodash-es'; +import { useRoute } from 'wouter'; +import { motion } from 'framer-motion'; +import { useTranslation } from 'react-i18next'; +import { Button, Modal, Input, Message } from 'hubble-ui'; + +import { ImportManagerStoreContext } from '../../../../../stores'; +import { + GraphManagementStoreContext, + DataImportRootStoreContext +} from '../../../../../stores'; + +const BasicSettings: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [isPopEditModal, switchPopEditModal] = useState(false); + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager/:jobId/details' + ); + const { t } = useTranslation(); + + useEffect(() => { + const init = async () => { + if (isEmpty(importManagerStore.importJobList)) { + graphManagementStore.fetchIdList(); + importManagerStore.setCurrentId(Number(params!.id)); + await importManagerStore.fetchImportJobList(); + } + + if (isNull(importManagerStore.selectedJob)) { + if ( + !isUndefined( + importManagerStore.importJobList.find( + ({ id }) => String(id) === (params && params.jobId) + ) + ) && + params !== null + ) { + importManagerStore.setSelectedJob(Number(params.jobId)); + + // duplicate logic in + // fill in essential data in import-task stores + dataImportRootStore.setCurrentId(Number(params!.id)); + dataImportRootStore.setCurrentJobId(Number(params.jobId)); + + dataImportRootStore.fetchVertexTypeList(); + dataImportRootStore.fetchEdgeTypeList(); + + // fetch related data + await Promise.all([ + dataMapStore.fetchDataMaps(), + serverDataImportStore.fetchAllImportTasks() + ]); + + dataMapStore.setSelectedFileId( + Number(dataMapStore.fileMapInfos[0].id) + ); + dataMapStore.setSelectedFileInfo(); + + // set flags about readonly and irregular process in + dataMapStore.switchReadOnly(true); + dataMapStore.switchIrregularProcess(true); + + // set flags about readonly and irregular process in + serverDataImportStore.switchExpandImportConfig(true); + serverDataImportStore.switchReadOnly(true); + serverDataImportStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + } + } + }; + + init(); + }, []); + + return ( +
    +
    +
    + {t('import-job-details.basic.job-name')} + {importManagerStore.selectedJob?.job_name} +
    +
    + {t('import-job-details.basic.job-description')} + {importManagerStore.selectedJob?.job_remarks} +
    +
    + + { + switchPopEditModal(false); + await importManagerStore.updateJobInfo(); + + if (importManagerStore.requestStatus.updateJobInfo === 'failed') { + Message.error({ + content: importManagerStore.errorInfo.updateJobInfo.message, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if ( + importManagerStore.requestStatus.updateJobInfo === 'success' + ) { + Message.success({ + content: t('import-manager.hint.update-succeed'), + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('import-job-details.basic.modal.manipulations.save')} + , + + ]} + destroyOnClose + needCloseIcon + onCancel={() => { + switchPopEditModal(false); + }} + > +
    +
    +
    + + * + + + {t('import-job-details.basic.modal.edit-job.job-name')} + +
    + { + importManagerStore.mutateEditJob('name', e.value); + importManagerStore.validateJob('edit', 'name'); + }} + originInputProps={{ + onBlur: () => { + importManagerStore.validateJob('edit', 'name'); + } + }} + /> +
    +
    +
    + {t('import-job-details.basic.modal.edit-job.job-description')} +
    +
    + { + importManagerStore.mutateEditJob('description', e.value); + importManagerStore.validateJob('edit', 'description'); + }} + originInputProps={{ + onBlur: () => { + importManagerStore.validateJob('edit', 'description'); + } + }} + /> +
    +
    +
    +
    +
    + ); +}); + +export default BasicSettings; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx new file mode 100644 index 000000000..21b81eba0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataImportDetails.tsx @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { observer } from 'mobx-react'; + +import { ServerDataImport } from '../server-data-import'; + +const DataImportDetails: React.FC = observer(() => { + return ( +
    + +
    + ); +}); + +export default DataImportDetails; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx new file mode 100644 index 000000000..1f205c6ae --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/DataMaps.tsx @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { observer } from 'mobx-react'; + +import DataMapConfigs from '../datamap-configs/DataMapConfigs'; + +import '../datamap-configs/DataMapConfigs.less'; + +const DataMaps: React.FC = observer(() => { + return ( +
    + +
    + ); +}); + +export default DataMaps; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less new file mode 100644 index 000000000..21bb217ba --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.less @@ -0,0 +1,86 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-job-details { + position: absolute; + width: calc(100% - 60px); + padding: 0 16px 16px; + left: 60px; + top: 60px; + + &-with-expand-sidebar { + width: calc(100% - 200px); + left: 200px; + } + + &-breadcrumb-wrapper { + display: flex; + justify-content: space-between; + align-items: center; + margin: 16px 0; + } + + &-content-wrapper { + height: calc(100vh - 201px); + background: #fff; + padding: 24px; + overflow: auto; + } + + &-content-header { + margin-bottom: 16px; + display: flex; + justify-content: flex-end; + } + + &-basic-text { + font-size: 14px; + color: #333; + + & > div { + margin-bottom: 14px; + } + + & span:last-child { + margin-left: 24px; + } + } + + &-uploaded-file-infos { + margin-bottom: 19px; + font-size: 14px; + + &-titles { + width: 300px; + display: flex; + justify-content: space-between; + } + + &-progress-status { + width: 374px; + display: flex; + align-items: center; + } + } +} + +/* override */ + +// reveal error layer in +.new-fc-one-modal-body { + overflow: visible; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx new file mode 100644 index 000000000..66d7394ff --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/JobDetails.tsx @@ -0,0 +1,90 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { AnimatePresence } from 'framer-motion'; +import { useTranslation } from 'react-i18next'; +import { isEmpty } from 'lodash-es'; +import { Menu } from 'hubble-ui'; + +import { + DataImportRootStoreContext, + ImportManagerStoreContext +} from '../../../../../stores'; + +import BasicSettings from './BasicSettings'; +import UploadedFiles from './UploadedFiles'; +import DataMaps from './DataMaps'; +import DataImportDetails from './DataImportDetails'; + +import './JobDetails.less'; + +const JobDetails: React.FC = observer(() => { + const importManagerStore = useContext(ImportManagerStoreContext); + const { dataMapStore, serverDataImportStore } = useContext( + DataImportRootStoreContext + ); + const { t } = useTranslation(); + + const handleMenuItemChange = ({ key }: { key: string }) => { + importManagerStore.setCurrentJobDetailStep(key); + }; + + const renderListView = () => { + switch (importManagerStore.jobDetailsStep) { + case 'basic': + return ; + case 'upload': + return ; + case 'data-map': + return ; + case 'import-details': + return ; + } + }; + + return ( + <> + + + {t('import-job-details.tabs.basic-settings')} + + + {t('import-job-details.tabs.uploaded-files')} + + + {t('import-job-details.tabs.data-maps')} + + + {t('import-job-details.tabs.import-details')} + + + {renderListView()} + + ); +}); + +export default JobDetails; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx new file mode 100644 index 000000000..7bcf4e6fc --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/UploadedFiles.tsx @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Progress } from 'hubble-ui'; + +import { DataImportRootStoreContext } from '../../../../../stores'; + +const UploadedFiles: React.FC = observer(() => { + const { dataMapStore } = useContext(DataImportRootStoreContext); + + return ( +
    + {dataMapStore.fileMapInfos.map(({ name, total_size }) => ( +
    +
    + {name} + {total_size} +
    +
    + +
    +
    + ))} +
    + ); +}); + +export default UploadedFiles; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/index.ts new file mode 100644 index 000000000..36247d378 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/job-details/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import JobDetails from './JobDetails'; + +export { JobDetails }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx new file mode 100644 index 000000000..289e9d394 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ImportConfigs.tsx @@ -0,0 +1,862 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useCallback, useEffect, useRef } from 'react'; +import { observer } from 'mobx-react'; +import { useLocation } from 'wouter'; +import { isEmpty } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; +import classnames from 'classnames'; +import { Switch, Input, Button, Table, Tooltip, Message } from 'hubble-ui'; + +import { DataImportRootStoreContext } from '../../../../../stores'; +import { useInitDataImport } from '../../../../../hooks'; + +import type { + ImportTasks, + LoadParameter +} from '../../../../../stores/types/GraphManagementStore/dataImportStore'; + +import ArrowIcon from '../../../../../assets/imgs/ic_arrow_16.svg'; +import HintIcon from '../../../../../assets/imgs/ic_question_mark.svg'; + +const importStatusColorMapping: Record = { + RUNNING: '#2b65ff', + SUCCEED: '#39bf45', + FAILED: '#e64552', + PAUSED: '#a9cbfb', + STOPPED: '#ccc' +}; + +const commonInputProps = { + size: 'medium', + width: 100, + errorLocation: 'layer' +}; + +export interface ImportConfigsProps { + height?: string; +} + +const ImportConfigs: React.FC = observer(({ height }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { serverDataImportStore, dataMapStore } = dataImportRootStore; + const timerId = useRef(NaN); + const isInitReady = useInitDataImport(); + const [, setLocation] = useLocation(); + const { t } = useTranslation(); + + const columnConfigs = [ + { + title: t('server-data-import.import-details.column-titles.file-name'), + dataIndex: 'file_name', + width: '10%', + render(text: string) { + return ( +
    + {text} +
    + ); + } + }, + { + title: t('server-data-import.import-details.column-titles.type'), + dataIndex: 'type', + width: '15%', + render(_: any, rowData: ImportTasks) { + const title = ( +
    + {!isEmpty(rowData.vertices) && ( +
    + {t('server-data-import.import-details.content.vertex')}: + {rowData.vertices.join(' ')} +
    + )} + {!isEmpty(rowData.edges) && ( +
    + {t('server-data-import.import-details.content.edge')}: + {rowData.edges.join(' ')} +
    + )} + {isEmpty(rowData.vertices) && isEmpty(rowData.edges) && '-'} +
    + ); + + return ( + +
    + {!isEmpty(rowData.vertices) && + `${t( + 'server-data-import.import-details.content.vertex' + )}:${rowData.vertices.join(' ')} `} + {!isEmpty(rowData.edges) && + `${t( + 'server-data-import.import-details.content.edge' + )}:${rowData.edges.join(' ')}`} + {isEmpty(rowData.vertices) && isEmpty(rowData.edges) && '-'} +
    +
    + ); + } + }, + { + title: t('server-data-import.import-details.column-titles.import-speed'), + dataIndex: 'load_rate', + width: '12%', + align: 'center', + render(text: string) { + return ( +
    + {text} +
    + ); + } + }, + { + title: t( + 'server-data-import.import-details.column-titles.import-progress' + ), + dataIndex: 'load_progress', + width: '35%', + render(progress: number, rowData: Record) { + return ( +
    +
    +
    +
    +
    {`${progress}%`}
    +
    + ); + } + }, + { + title: t('server-data-import.import-details.column-titles.status'), + dataIndex: 'status', + width: '10%', + render(text: string) { + return ( +
    + {t(`server-data-import.import-details.status.${text}`)} +
    + ); + } + }, + { + title: t('server-data-import.import-details.column-titles.time-consumed'), + dataIndex: 'duration', + align: 'right', + width: '8%', + render(text: string) { + return ( +
    + {text} +
    + ); + } + }, + { + title: !serverDataImportStore.readOnly + ? t('server-data-import.import-details.column-titles.manipulations') + : '', + width: '15%', + render(_: never, rowData: Record, taskIndex: number) { + return !serverDataImportStore.readOnly ? ( +
    + +
    + ) : null; + } + } + ]; + + const handleInputChange = (key: keyof LoadParameter) => (e: any) => { + serverDataImportStore.mutateImportConfigs(key, e.value); + serverDataImportStore.validateImportConfigs(key); + }; + + const handleBlur = (key: keyof LoadParameter) => () => { + serverDataImportStore.validateImportConfigs(key); + }; + + const loopQueryImportData = useCallback(() => { + const loopId = window.setInterval(async () => { + if (serverDataImportStore.isImportFinished) { + window.clearInterval(loopId); + return; + } + + if ( + serverDataImportStore.requestStatus.fetchImportTasks === 'failed' || + serverDataImportStore.requestStatus.fetchAllImportTasks === 'failed' + ) { + Message.error({ + content: + serverDataImportStore.errorInfo.fetchImportTasks.message || + serverDataImportStore.errorInfo.fetchAllImportTasks.message, + size: 'medium', + showCloseIcon: false + }); + + window.clearInterval(loopId); + return; + } + + if (serverDataImportStore.isIrregularProcess) { + serverDataImportStore.fetchAllImportTasks(); + } else { + // stop loops when users click sidebar icon + // (dispose called in , [ids] resets to empty array) + if (isEmpty(serverDataImportStore.fileImportTaskIds)) { + window.clearInterval(loopId); + return; + } + + serverDataImportStore.fetchImportTasks( + serverDataImportStore.fileImportTaskIds + ); + } + }, 1000); + + timerId.current = loopId; + }, []); + + const expandClassName = classnames({ + 'import-tasks-step-content-header-expand': + serverDataImportStore.isExpandImportConfig, + 'import-tasks-step-content-header-collpase': !serverDataImportStore.isExpandImportConfig + }); + + useEffect(() => { + // if comes from import manager or refresh + if ( + (!serverDataImportStore.readOnly || + serverDataImportStore.isIrregularProcess) && + dataImportRootStore.currentStatus === 'LOADING' + ) { + loopQueryImportData(); + } + + return () => { + if (!Object.is(NaN, timerId.current)) { + window.clearInterval(timerId.current); + } + }; + }, [ + isInitReady, + serverDataImportStore.readOnly, + serverDataImportStore.isIrregularProcess, + dataImportRootStore.currentStatus + ]); + + return isInitReady ? ( +
    +
    + {t('server-data-import.import-settings.title')} + collpaseOrExpand { + serverDataImportStore.switchExpandImportConfig( + !serverDataImportStore.isExpandImportConfig + ); + }} + /> +
    + + {serverDataImportStore.isExpandImportConfig && ( +
    +
    +
    +
    + + {t('server-data-import.import-settings.checkIfExist')}: + + + hint + +
    +
    + { + serverDataImportStore.mutateImportConfigs( + 'check_vertex', + checked + ); + }} + disabled={ + serverDataImportStore.readOnly || + serverDataImportStore.importConfigReadOnly + } + /> +
    +
    +
    + + {t( + 'server-data-import.import-settings.maximumAnalyzedErrorRow' + )} + : + + {!serverDataImportStore.readOnly && + !serverDataImportStore.importConfigReadOnly ? ( + + ) : ( +
    + {serverDataImportStore.importConfigs?.max_parse_errors} +
    + )} +
    +
    + + {t( + 'server-data-import.import-settings.maxiumInterpolateErrorRow' + )} + : + + {!serverDataImportStore.readOnly && + !serverDataImportStore.importConfigReadOnly ? ( + + ) : ( +
    + {serverDataImportStore.importConfigs?.max_insert_errors} +
    + )} +
    +
    +
    +
    + + {t( + 'server-data-import.import-settings.requestTimesWhenInterpolationFailed' + )} + : + + {!serverDataImportStore.readOnly && + !serverDataImportStore.importConfigReadOnly ? ( + + ) : ( +
    + {serverDataImportStore.importConfigs?.retry_times} +
    + )} +
    +
    + + {t( + 'server-data-import.import-settings.requestTicksWhenInterpolationFailed' + )} + : + + {!serverDataImportStore.readOnly && + !serverDataImportStore.importConfigReadOnly ? ( + + ) : ( +
    + {serverDataImportStore.importConfigs?.retry_interval} +
    + )} +
    +
    + + {t('server-data-import.import-settings.InterpolationTimeout')}: + + {!serverDataImportStore.readOnly && + !serverDataImportStore.importConfigReadOnly ? ( + + ) : ( +
    + {serverDataImportStore.importConfigs?.insert_timeout} +
    + )} +
    +
    +
    + )} + + {(dataImportRootStore.currentStatus === 'LOADING' || + dataImportRootStore.currentStatus === 'SUCCESS' || + dataImportRootStore.currentStatus === 'FAILED' || + (serverDataImportStore.isIrregularProcess && + serverDataImportStore.readOnly)) && ( + <> +
    + {t('server-data-import.import-details.title')} +
    +
    +
+ + + )} + + {!serverDataImportStore.readOnly && ( +
+ + +
+ )} + + ) : null; +}); + +export interface ImportManipulationsProps { + importStatus: string; + taskIndex: number; + loopQuery: () => void; +} + +const ImportManipulations: React.FC = observer( + ({ importStatus, taskIndex, loopQuery }) => { + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { serverDataImportStore } = dataImportRootStore; + const { t } = useTranslation(); + const manipulations: string[] = []; + + const handleClickManipulation = async (manipulation: string) => { + switch (manipulation) { + case t('server-data-import.import-details.manipulations.pause'): + await serverDataImportStore.pauseImport( + serverDataImportStore.importTasks[taskIndex].id + ); + + if (serverDataImportStore.requestStatus.pauseImport === 'failed') { + Message.error({ + content: serverDataImportStore.errorInfo.pauseImport.message, + size: 'medium', + showCloseIcon: false + }); + } + + break; + case t('server-data-import.import-details.manipulations.abort'): + await serverDataImportStore.abortImport( + serverDataImportStore.importTasks[taskIndex].id + ); + + if (serverDataImportStore.requestStatus.abortImport === 'failed') { + Message.error({ + content: serverDataImportStore.errorInfo.abortImport.message, + size: 'medium', + showCloseIcon: false + }); + } + + serverDataImportStore.fetchAllImportTasks(); + + break; + case t('server-data-import.import-details.manipulations.resume'): + await serverDataImportStore.resumeImport( + serverDataImportStore.importTasks[taskIndex].id + ); + + if (serverDataImportStore.requestStatus.resumeImport === 'failed') { + Message.error({ + content: serverDataImportStore.errorInfo.resumeImport.message, + size: 'medium', + showCloseIcon: false + }); + } + + serverDataImportStore.switchImporting(true); + serverDataImportStore.switchImportFinished(false); + loopQuery(); + break; + case t('server-data-import.import-details.manipulations.failed-cause'): + serverDataImportStore.checkErrorLogs( + dataImportRootStore.currentId!, + dataImportRootStore.currentJobId!, + serverDataImportStore.importTasks[taskIndex].id + ); + break; + case t('server-data-import.import-details.manipulations.retry'): + await serverDataImportStore.retryImport( + serverDataImportStore.importTasks[taskIndex].id + ); + + if (serverDataImportStore.requestStatus.retryImport === 'failed') { + Message.error({ + content: serverDataImportStore.errorInfo.retryImport.message, + size: 'medium', + showCloseIcon: false + }); + } + + serverDataImportStore.switchImporting(true); + serverDataImportStore.switchImportFinished(false); + loopQuery(); + break; + } + }; + + switch (importStatus) { + case 'RUNNING': + manipulations.push( + t('server-data-import.import-details.manipulations.pause'), + t('server-data-import.import-details.manipulations.abort') + ); + break; + case 'FAILED': + manipulations.push( + t('server-data-import.import-details.manipulations.resume'), + t('server-data-import.import-details.manipulations.failed-cause') + ); + break; + case 'PAUSED': + manipulations.push( + t('server-data-import.import-details.manipulations.resume'), + t('server-data-import.import-details.manipulations.abort') + ); + break; + case 'STOPPED': + manipulations.push( + t('server-data-import.import-details.manipulations.retry') + ); + break; + case 'SUCCEED': + break; + default: + throw new Error('Wrong status received from server'); + } + + return ( +
+ {manipulations.map((manipulation) => { + if ( + manipulation === + t('server-data-import.import-details.manipulations.failed-cause') + ) { + return ( + { + handleClickManipulation(manipulation); + }} + > + {manipulation} + + ); + } + + return ( + { + serverDataImportStore.switchImportFinished(false); + handleClickManipulation(manipulation); + }} + > + {manipulation} + + ); + })} +
+ ); + } +); + +export default ImportConfigs; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less new file mode 100644 index 000000000..7ba8506e1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.less @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.import-tasks { + &-server-data-import { + &-configs-wrapper { + width: 100%; + margin-bottom: 30px; + } + + &-configs { + display: flex; + width: 100%; + } + + &-config { + height: 128px; + display: flex; + justify-content: space-between; + flex-direction: column; + flex-basis: 50%; + + &:first-child { + align-items: flex-end; + // margin-right: 87px; + } + + &:last-child { + align-items: flex-start; + } + } + + &-config-option { + display: flex; + align-items: center; + + & > div:first-child, + & > span:first-child { + width: 200.7px; + margin-right: 44px; + text-align: right; + color: #333; + font-size: 14px; + } + + &-readonly-data { + width: 100px; + font-size: 14px; + color: #333; + line-height: 20px; + } + } + + &-manipulations { + width: 100%; + margin: 40px 0 6px; + display: flex; + justify-content: center; + } + + &-table-wrapper { + & table { + table-layout: fixed; + } + } + + &-table-tooltip-title { + width: 234px; + } + + &-table-progress { + position: relative; + width: 80%; + height: 8px; + background: #eee; + border-radius: 4px; + margin-right: 8px; + } + + &-table-manipulations { + display: flex; + // justify-content: space-between; + } + } +} + +/* override */ + +.import-tasks-server-data-import-config-option .new-fc-one-input-error.new-fc-one-input-error-layer { + // safari bug + // width: max-content; + word-break: keep-all; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx new file mode 100644 index 000000000..b84fb2870 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/ServerDataImport.tsx @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { observer } from 'mobx-react'; + +import ImportConfigs from './ImportConfigs'; + +import './ServerDataImport.less'; + +const ServerDataImport: React.FC = observer(() => { + return ( +
+ +
+ ); +}); + +export default ServerDataImport; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts new file mode 100644 index 000000000..850e2c888 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/import-tasks/server-data-import/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import ServerDataImport from './ServerDataImport'; + +export { ServerDataImport }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/index.ts new file mode 100644 index 000000000..6ff89dc6e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/data-import/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { ImportTasks, ImportManager, JobDetails } from './import-tasks'; + +export { ImportTasks, ImportManager, JobDetails }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/index.ts new file mode 100644 index 000000000..c92bd3ece --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/index.ts @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import GraphManagement from './GraphManagement'; +import { DataAnalyze } from './data-analyze'; +import { MetadataConfigs } from './metadata-configs'; +import { ImportTasks, ImportManager, JobDetails } from './data-import'; +import { AsyncTaskList } from './async-tasks'; + +export { + GraphManagement, + DataAnalyze, + MetadataConfigs, + ImportTasks, + ImportManager, + JobDetails, + AsyncTaskList +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.less new file mode 100644 index 000000000..f5a0cf5bb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.less @@ -0,0 +1,282 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.metadata-configs { + position: absolute; + width: calc(100% - 60px); + padding: 0 16px 16px 16px; + left: 60px; + top: 60px; + + &-with-expand-sidebar { + width: calc(100% - 200px); + left: 200px; + } + + &-content { + &-wrapper { + margin-top: 16px; + padding: 16px; + background: #fff; + border: 1px solid #eee; + border-radius: 3px; + } + + &-loading-wrapper { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + } + + &-loading-bg { + width: 144px; + height: 144px; + position: relative; + margin-bottom: 10px; + } + + &-loading-back { + position: absolute; + left: 22px; + top: 20px; + } + + &-loading-front { + position: absolute; + left: 57.1px; + top: 52.1px; + animation: loading-rotate 2s linear infinite; + } + + &-mode { + margin: 16px 0; + + &-button { + display: flex; + align-items: center; + + & > img { + margin-right: 6px; + } + } + } + + &-header { + margin-bottom: 16px; + display: flex; + justify-content: flex-end; + } + + &-dropdown { + width: 382px; + max-height: 332px; + overflow: auto; + background: #fff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + color: #333; + + & > div { + padding: 0 16px; + height: 32px; + display: flex; + align-items: center; + } + } + } + + &-drawer { + font-size: 14px; + margin-top: 4px; + } + + &-sorted-multiSelect-option { + display: flex; + + & > div:first-child { + margin: 8px 8px 0; + width: 16px; + height: 16px; + border: 1px solid #ccc; + background: #fff; + border-radius: 2px; + } + + & > div:last-child { + width: 80%; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + } + + &-selected { + & > div:first-child { + margin: 8px 8px 0; + width: 16px; + height: 16px; + background: #2b65ff; + border-radius: 2px; + text-align: center; + line-height: 14px; + color: #fff; + } + } + } +} + +.metadata-properties-tooltips { + background: #fff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + padding: 24px; + font-size: 14px; + color: #333; + + &-title { + font-size: 16px; + font-weight: 900; + margin-bottom: 16px; + } + + &-footer { + display: flex; + margin-top: 24px; + } + + // & p { + // margin: 0; + // line-height: 28px; + // } +} + +.metadata-title { + font-family: + 'PingFangSC-Medium', + 'Microsoft YaHei', + '微软雅黑', + Arial, + sans-serif; + font-weight: bold; + font-size: 16px; + color: #000; + letter-spacing: 0; + line-height: 24px; +} + +.metadata-drawer { + &-options { + margin-bottom: 12px; + display: flex; + + &-disabled { + color: #ccc; + } + + &-name { + width: 98px; + text-align: right; + margin-right: 9px; + } + + &-list { + width: calc(100% - 155px); + + &-row { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 16px; + + &-normal { + & > div, + & > span { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + + &:nth-child(1) { + flex: 0 1 30%; + } + + &:nth-child(2) { + flex: 0 1 32%; + } + + &:nth-child(3) { + flex: 0 1 38%; + display: flex; + align-items: center; + + & > img { + margin-left: 4px; + } + } + } + } + + &:last-child { + margin-bottom: 0; + } + } + } + } +} + +.metadata-selected-properties { + display: flex; + justify-content: space-between; + margin: 12px 0; +} + +.metdata-essential-form-options { + color: #fb4b53; +} + +// override +.metadata-configs { + table { + table-layout: fixed; + } + + .new-fc-one-table { + overflow: visible; + border: 0; + } + + .new-fc-one-table table { + overflow: visible; + } + + .new-fc-one-menu { + background: transparent; + } + + .new-fc-one-select-dropdown-menu-item.new-fc-one-select-dropdown-menu-item-selected { + color: #2b65ff; + font-weight: 900; + } +} + +// override +.metadata-drawer-options-list-row { + .new-fc-one-select-search-ul { + .new-fc-one-select-search.new-fc-one-select-search--inline { + display: none; + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.tsx new file mode 100644 index 000000000..e0c9ce130 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/MetadataConfigs.tsx @@ -0,0 +1,197 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useState, useEffect, useContext } from 'react'; +import { observer } from 'mobx-react'; +import { useRoute, useLocation, Params } from 'wouter'; +import classnames from 'classnames'; +import { AnimatePresence } from 'framer-motion'; +import { Radio, Menu, Modal, Button } from 'hubble-ui'; + +import { MetadataProperties } from './property'; +import { VertexTypeList } from './vertex-type'; +import { EdgeTypeList } from './edge-type'; +import { PropertyIndex } from './property-index'; +import { GraphView } from './graph-view'; +import DataAnalyzeStore from '../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import MetadataConfigsRootStore from '../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import './MetadataConfigs.less'; +import { AppStoreContext, GraphManagementStoreContext } from '../../../stores'; +import ActiveTableIcon from '../../../assets/imgs/ic_liebiaomoshi_white.svg'; +import TableIcon from '../../../assets/imgs/ic_liebiaomoshi_black.svg'; +import ActiveShowGraphIcon from '../../../assets/imgs/ic_tumoshi_white.svg'; +import ShowGraphIcon from '../../../assets/imgs/ic_tumoshi_black.svg'; +import { useTranslation } from 'react-i18next'; + +const MetadataConfig: React.FC = observer(() => { + const appStore = useContext(AppStoreContext); + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const graphManagementStore = useContext(GraphManagementStoreContext); + const metadataConfigRootStore = useContext(MetadataConfigsRootStore); + const [viewMode, setViewMode] = useState('list'); + const [selectedMenuItem, setSelectedMenuItem] = useState('property'); + const [match, params] = useRoute('/graph-management/:id/metadata-configs'); + const [_, setLocation] = useLocation(); + const { t } = useTranslation(); + + const handleRadioGroupChange = (e: React.ChangeEvent) => { + setViewMode(e.target.value); + }; + + const handleMenuItemChange = ({ key }: { key: string }) => { + // reset store current tab status to default + switch (selectedMenuItem) { + case 'property': + metadataConfigRootStore.metadataPropertyStore.changeCurrentTabStatus( + 'list' + ); + case 'vertex-type': + metadataConfigRootStore.vertexTypeStore.changeCurrentTabStatus('list'); + case 'edge-type': + metadataConfigRootStore.edgeTypeStore.changeCurrentTabStatus('list'); + } + + setSelectedMenuItem(key); + }; + + const wrapperClassName = classnames({ + 'metadata-configs': true, + 'metadata-configs-with-expand-sidebar': graphManagementStore.isExpanded + }); + + const renderListView = () => { + switch (selectedMenuItem) { + case 'property': + return ; + case 'vertex-type': + return ; + case 'edge-type': + return ; + case 'property-index': + return ; + } + }; + + // Caution: Preitter will automatically add 'params' behind 'match' in array, + // which is not equal each time + /* eslint-disable */ + useEffect(() => { + window.scrollTo(0, 0); + graphManagementStore.fetchIdList(); + + if (match && params !== null) { + appStore.setCurrentId(Number(params.id)); + // fetch node colors + dataAnalyzeStore.setCurrentId(Number(params.id)); + dataAnalyzeStore.fetchAllNodeStyle(); + dataAnalyzeStore.fetchAllEdgeStyle(); + metadataConfigRootStore.setCurrentId(Number(params.id)); + // metadataConfigRootStore.fetchIdList(); + } + + return () => { + metadataConfigRootStore.dispose(); + }; + }, [metadataConfigRootStore, match, params?.id]); + + return ( +
+
+
+ + +
+ table mode + {t('addition.menu.list-mode')} +
+
+ +
+ graph mode + {t('addition.menu.chart-mode')} +
+
+
+
+ {viewMode === 'list' ? ( + <> + + + {t('addition.common.property')} + + + {t('addition.common.vertex-type')} + + + {t('addition.common.edge-type')} + + + {t('addition.common.property-index')} + + + + {renderListView()} + + + ) : ( + + )} +
+ { + metadataConfigRootStore.setCurrentId(null); + setLocation('/'); + }} + > + {t('addition.dataAnalyze.return-home')} + + ]} + visible={graphManagementStore.graphData.some( + ({ id, enabled }) => + metadataConfigRootStore.currentId === id && !enabled + )} + destroyOnClose + needCloseIcon={false} + > +
+ {metadataConfigRootStore.metadataPropertyStore.errorMessage} +
+
+
+ ); +}); + +export default MetadataConfig; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx new file mode 100644 index 000000000..cc38c32eb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/common/EmptyDataView.tsx @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import { observer } from 'mobx-react'; + +import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; +import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; + +import i18next from '../../../../i18n'; +export interface LoadingDataViewProps { + isLoading: boolean; + emptyText?: string; +} + +const LoadingDataView: React.FC = observer( + ({ isLoading, emptyText }) => + isLoading ? ( +
+
+ load background + load spinner +
+ {i18next.t('addition.message.data-loading')}... +
+ ) : emptyText ? ( + {emptyText} + ) : null +); + +export default LoadingDataView; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less new file mode 100644 index 000000000..a6874e139 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.less @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.edge-type-list-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx new file mode 100644 index 000000000..a29c32ddd --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/EdgeTypeList.tsx @@ -0,0 +1,1957 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { + isEmpty, + isUndefined, + cloneDeep, + intersection, + size, + without +} from 'lodash-es'; +import { useLocation } from 'wouter'; +import classnames from 'classnames'; +import { motion } from 'framer-motion'; +import { + Button, + Table, + Switch, + Modal, + Drawer, + Input, + Select, + Checkbox, + Message, + Loading +} from 'hubble-ui'; + +import { Tooltip, LoadingDataView } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import NewEdgeType from './NewEdgeType'; +import ReuseEdgeTypes from './ReuseEdgeTypes'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { formatVertexIdText } from '../../../../stores/utils'; + +import type { + EdgeTypeValidatePropertyIndexes, + EdgeType +} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import AddIcon from '../../../../assets/imgs/ic_add.svg'; +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; +import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; +import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; +import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; +import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; +import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +import './EdgeTypeList.less'; + +const styles = { + button: { + marginLeft: 12, + width: 78 + }, + header: { + marginBottom: 16 + }, + manipulation: { + marginRight: 12 + }, + deleteWrapper: { + display: 'flex', + justifyContent: 'flex-end' + }, + loading: { + padding: 0, + marginRight: 4 + } +}; + +const variants = { + initial: { + opacity: 0 + }, + animate: { + opacity: 1, + transition: { + duration: 0.7 + } + }, + exit: { + opacity: 0, + transition: { + duration: 0.3 + } + } +}; + +const propertyIndexTypeMappings: Record = { + SECONDARY: i18next.t('addition.menu.secondary-index'), + RANGE: i18next.t('addition.menu.range-index'), + SEARCH: i18next.t('addition.menu.full-text-index') +}; + +const EdgeTypeList: React.FC = observer(() => { + const { t } = useTranslation(); + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { metadataPropertyStore, edgeTypeStore } = metadataConfigsRootStore; + const [preLoading, switchPreLoading] = useState(true); + const [sortOrder, setSortOrder] = useState(''); + const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); + const [isShowModal, switchShowModal] = useState(false); + const [isAddProperty, switchIsAddProperty] = useState(false); + const [isEditEdge, switchIsEditEdge] = useState(false); + const [ + deleteExistPopIndexInDrawer, + setDeleteExistPopIndexInDrawer + ] = useState(null); + const [ + deleteAddedPopIndexInDrawer, + setDeleteAddedPopIndexInDrawer + ] = useState(null); + const [, setLocation] = useLocation(); + + const dropdownWrapperRef = useRef(null); + const deleteWrapperInDrawerRef = useRef(null); + + const isLoading = + preLoading || edgeTypeStore.requestStatus.fetchEdgeTypeList === 'pending'; + + const currentSelectedRowKeys = intersection( + selectedRowKeys, + edgeTypeStore.edgeTypes.map(({ name }) => name) + ); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isAddProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddProperty(false); + } + + if ( + (deleteExistPopIndexInDrawer || deleteAddedPopIndexInDrawer) && + deleteWrapperInDrawerRef.current && + !deleteWrapperInDrawerRef.current.contains(e.target as Element) + ) { + setDeleteExistPopIndexInDrawer(null); + setDeleteAddedPopIndexInDrawer(null); + } + }, + [deleteExistPopIndexInDrawer, deleteWrapperInDrawerRef, isAddProperty] + ); + + const handleSelectedTableRow = (newSelectedRowKeys: string[]) => { + mutateSelectedRowKeys(newSelectedRowKeys); + }; + + const handleCloseDrawer = () => { + switchIsAddProperty(false); + switchIsEditEdge(false); + edgeTypeStore.selectEdgeType(null); + edgeTypeStore.resetEditedSelectedEdgeType(); + }; + + const handleSortClick = () => { + switchPreLoading(true); + + if (sortOrder === 'descend') { + edgeTypeStore.mutatePageSort('asc'); + setSortOrder('ascend'); + } else { + edgeTypeStore.mutatePageSort('desc'); + setSortOrder('descend'); + } + + edgeTypeStore.fetchEdgeTypeList(); + }; + + const batchDeleteProperties = async () => { + switchShowModal(false); + // need to set a copy in store since local row key state would be cleared + edgeTypeStore.mutateSelectedEdgeTypeNames(currentSelectedRowKeys); + // mutateSelectedRowKeys([]); + await edgeTypeStore.deleteEdgeType(currentSelectedRowKeys); + // edgeTypeStore.mutateSelectedEdgeTypeNames([]); + + if (edgeTypeStore.requestStatus.deleteEdgeType === 'success') { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + + mutateSelectedRowKeys( + without(selectedRowKeys, ...currentSelectedRowKeys) + ); + + await edgeTypeStore.fetchEdgeTypeList(); + + // fetch previous page data if it's empty + if ( + edgeTypeStore.requestStatus.fetchEdgeTypeList === 'success' && + size(edgeTypeStore.edgeTypes) === 0 && + edgeTypeStore.edgeTypeListPageConfig.pageNumber > 1 + ) { + edgeTypeStore.mutatePageNumber( + edgeTypeStore.edgeTypeListPageConfig.pageNumber - 1 + ); + + edgeTypeStore.fetchEdgeTypeList(); + } + + return; + } + + if (edgeTypeStore.requestStatus.deleteEdgeType === 'failed') { + Message.error({ + content: edgeTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + }; + + const columnConfigs = [ + { + title: t('addition.common.edge-type-name'), + dataIndex: 'name', + sorter: true, + sortOrder, + width: '14%', + render(text: string, records: any[], index: number) { + return ( +
{ + edgeTypeStore.selectEdgeType(index); + + // check also need style infos + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + style: { + color: edgeTypeStore.selectedEdgeType!.style.color, + icon: null, + with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, + thickness: edgeTypeStore.selectedEdgeType!.style.thickness, + display_fields: edgeTypeStore.selectedEdgeType!.style + .display_fields + } + }); + }} + > + {text} +
+ ); + } + }, + { + title: t('addition.common.source-type'), + dataIndex: 'source_label', + width: '14%', + render(text: string, records: any[], index: number) { + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.common.target-type'), + dataIndex: 'target_label', + width: '14%', + render(text: string, records: any[], index: number) { + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.common.association-property'), + dataIndex: 'properties', + width: '14%', + render(properties: { name: string; nullable: boolean }[]) { + const text = + properties.length !== 0 + ? properties.map(({ name }) => name).join('; ') + : '-'; + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.common.distinguishing-key'), + dataIndex: 'sort_keys', + width: '10%', + render(values: string[]) { + const text = values.length !== 0 ? values.join(';') : '-'; + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.menu.type-index'), + dataIndex: 'open_label_index', + width: '8%', + render(value: boolean) { + return ( + + ); + } + }, + { + title: t('addition.common.property-index'), + dataIndex: 'property_indexes', + width: '14%', + render(indexes: { name: string; type: string; fields: string[] }[]) { + const text = + indexes.length !== 0 + ? indexes.map(({ name }) => name).join('; ') + : '-'; + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '12%', + render(_: any, records: EdgeType, index: number) { + return ( + + ); + } + } + ]; + + const metadataDrawerOptionClass = classnames({ + 'metadata-drawer-options': true, + 'metadata-drawer-options-disabled': isEditEdge + }); + + useEffect(() => { + setTimeout(() => { + switchPreLoading(false); + }, 500); + }, [sortOrder]); + + useEffect(() => { + return () => { + const messageComponents = document.querySelectorAll( + '.new-fc-one-message' + ) as NodeListOf; + + messageComponents.forEach((messageComponent) => { + messageComponent.style.display = 'none'; + }); + }; + }); + + useEffect(() => { + if (metadataConfigsRootStore.currentId !== null) { + metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); + edgeTypeStore.fetchEdgeTypeList(); + } + + return () => { + edgeTypeStore.dispose(); + }; + }, [ + metadataPropertyStore, + metadataConfigsRootStore.currentId, + edgeTypeStore + ]); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + if (edgeTypeStore.currentTabStatus === 'new') { + return ; + } + + if (edgeTypeStore.currentTabStatus === 'reuse') { + return ; + } + + return ( + +
+
+ + +
+ {size(currentSelectedRowKeys) !== 0 && ( +
+
+ {t('addition.message.selected')} + {size(currentSelectedRowKeys)} + {t('addition.common.term')} +
+ + {t('addition.common.close')} { + mutateSelectedRowKeys([]); + }} + /> +
+ )} +
rowData.name} + locale={{ + emptyText: ( + } + /> + ) + }} + rowSelection={{ + selectedRowKeys, + onChange: handleSelectedTableRow + }} + onSortClick={handleSortClick} + dataSource={isLoading ? [] : edgeTypeStore.edgeTypes} + pagination={ + isLoading + ? null + : { + hideOnSinglePage: false, + pageNo: edgeTypeStore.edgeTypeListPageConfig.pageNumber, + pageSize: 10, + showSizeChange: false, + showPageJumper: false, + total: edgeTypeStore.edgeTypeListPageConfig.pageTotal, + onPageNoChange: (e: React.ChangeEvent) => { + // mutateSelectedRowKeys([]); + edgeTypeStore.mutatePageNumber(Number(e.target.value)); + edgeTypeStore.fetchEdgeTypeList(); + } + } + } + /> + { + switchShowModal(false); + }} + > +
+
+ {t('addition.common.del-comfirm')} + {t('addition.common.close')} { + switchShowModal(false); + }} + /> +
+
+ {t('addition.message.edge-del-confirm')} +
+
+ {t('addition.message.long-time-notice')} +
+
) { + return ( + + {text} + + ); + } + } + ]} + dataSource={currentSelectedRowKeys.map((name) => ({ + name + }))} + pagination={false} + /> + + + { + if (!isEditEdge) { + switchIsEditEdge(true); + edgeTypeStore.validateEditEdgeType(); + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + style: { + color: edgeTypeStore.selectedEdgeType!.style.color, + icon: null, + with_arrow: edgeTypeStore.selectedEdgeType!.style + .with_arrow, + thickness: edgeTypeStore.selectedEdgeType!.style + .thickness, + display_fields: edgeTypeStore.selectedEdgeType!.style + .display_fields + } + }); + } else { + await edgeTypeStore.updateEdgeType(); + + if (edgeTypeStore.requestStatus.updateEdgeType === 'failed') { + Message.error({ + content: edgeTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if ( + edgeTypeStore.requestStatus.updateEdgeType === 'success' + ) { + if ( + isEmpty( + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes + ) + ) { + Message.success({ + content: t('addition.operate.modify-success'), + size: 'medium', + showCloseIcon: false + }); + } else { + Message.success({ + content: ( +
+
+ {t('addition.common.save-scuccess')} +
+
+ {t('addition.message.index-long-time-notice')} +
+
{ + setLocation( + `/graph-management/${metadataConfigsRootStore.currentId}/async-tasks` + ); + }} + > + {t('addition.operate.view-task-management')} +
+
+ ), + duration: 60 * 60 * 24 + }); + } + } + + switchIsEditEdge(false); + edgeTypeStore.selectEdgeType(null); + edgeTypeStore.fetchEdgeTypeList(); + edgeTypeStore.resetEditedSelectedEdgeType(); + } + }} + > + {isEditEdge + ? t('addition.common.save') + : t('addition.common.edit')} + , + + ]} + > + {!isEmpty(edgeTypeStore.selectedEdgeType) && ( +
+
+
+ {t('addition.menu.base-info')} +
+
+
+ {t('addition.common.edge-type-name')}: +
+
+ {edgeTypeStore.selectedEdgeType!.name} +
+
+
+
+ + {t('addition.common.edge-style')}: + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ {t('addition.common.source-type')}: +
+
+ {edgeTypeStore.selectedEdgeType!.source_label} +
+
+
+
+ {t('addition.common.target-type')}: +
+
+ {edgeTypeStore.selectedEdgeType!.target_label} +
+
+
+
+ + {t('addition.common.allow-multiple-connections')}: + +
+ +
+
+
+ {t('addition.common.association-property')}: +
+
+
+ {t('addition.common.property')} + {t('addition.common.allow-null')} +
+ {edgeTypeStore.selectedEdgeType!.properties.map( + ({ name, nullable }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditEdge && + edgeTypeStore.editedSelectedEdgeType.append_properties.map( + ({ name }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditEdge && ( +
{ + switchIsAddProperty(!isAddProperty); + }} + > + + {t('addition.common.add-property')} + + toogleAddProperties +
+ )} + {isEditEdge && isAddProperty && ( +
+ {metadataPropertyStore.metadataProperties + .filter( + (property) => + edgeTypeStore.selectedEdgeType!.properties.find( + ({ name }) => name === property.name + ) === undefined + ) + .map((property) => ( +
+ + + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + edgeTypeStore.addedPropertiesInSelectedEdgeType; + + addedPropertiesInSelectedVertextType.has( + property.name + ) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = edgeTypeStore.newEdgeType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined( + currentProperty + ) + ? currentProperty.nullable + : true + }; + }) + }); + }} + > + {property.name} + + +
+ ))} +
+ )} +
+
+
+
+ + {t('addition.common.distinguishing-key-property')}: + +
+
+ {edgeTypeStore.selectedEdgeType!.sort_keys.join(';')} +
+
+
+
+ + {t('addition.edge.display-content')}: + +
+ {isEditEdge ? ( + + ) : ( +
+ {edgeTypeStore.selectedEdgeType?.style.display_fields + .map((field) => + formatVertexIdText( + field, + t('addition.function-parameter.edge-type') + ) + ) + .join('-')} +
+ )} +
+
+ {t('addition.edge.index-info')} +
+
+
+ {t('addition.menu.type-index')}: +
+ +
+
+
+ {t('addition.common.property-index')}: +
+
+ {(edgeTypeStore.selectedEdgeType!.property_indexes + .length !== 0 || + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes.length !== 0) && ( +
+ {t('addition.edge.index-name')} + {t('addition.edge.index-type')} + {t('addition.common.property')} +
+ )} + {edgeTypeStore + .selectedEdgeType!.property_indexes.filter( + (propertyIndex) => + isUndefined( + edgeTypeStore.editedSelectedEdgeType.remove_property_indexes.find( + (removedPropertyName) => + removedPropertyName === propertyIndex.name + ) + ) + ) + .map(({ name, type, fields }, index) => { + return ( +
+
{name}
+
{propertyIndexTypeMappings[type]}
+
+ + {fields + .map( + (field, index) => index + 1 + '.' + field + ) + .join(';')} + + + {isEditEdge && ( + +

+ {t( + 'addition.message.property-del-confirm' + )} +

+

+ {t( + 'addition.message.index-del-confirm' + )} +

+
+
{ + const removedPropertyIndex = cloneDeep( + edgeTypeStore + .editedSelectedEdgeType + .remove_property_indexes + ); + + removedPropertyIndex.push( + edgeTypeStore.selectedEdgeType! + .property_indexes[index].name + ); + + edgeTypeStore.mutateEditedSelectedEdgeType( + { + ...edgeTypeStore.editedSelectedEdgeType, + remove_property_indexes: removedPropertyIndex + } + ); + + setDeleteExistPopIndexInDrawer( + null + ); + edgeTypeStore.validateEditEdgeType( + true + ); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeleteExistPopIndexInDrawer( + null + ); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteExistPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> + )} +
+
+ ); + })} + {edgeTypeStore.editedSelectedEdgeType.append_property_indexes.map( + ({ name, type, fields }, index) => { + return ( +
+
+ { + const propertyIndexEntities = cloneDeep( + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + edgeTypeStore.validateEditEdgeType(); + } + }} + /> +
+
+ +
+
+ + + +

+ {t( + 'addition.message.property-del-confirm' + )} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const appendPropertyIndexes = cloneDeep( + edgeTypeStore.editedSelectedEdgeType! + .append_property_indexes + ); + + appendPropertyIndexes.splice( + index, + 1 + ); + + edgeTypeStore.mutateEditedSelectedEdgeType( + { + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: appendPropertyIndexes + } + ); + + setDeleteAddedPopIndexInDrawer(null); + edgeTypeStore.validateEditEdgeType( + true + ); + }} + > + {t('addition.common.confirm')} +
+
{ + edgeTypeStore.resetEditedSelectedEdgeType(); + setDeleteAddedPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteAddedPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> +
+
+ ); + } + )} + {isEditEdge && ( + { + if ( + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes.length === 0 || + edgeTypeStore.isEditReady + ) { + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: [ + ...edgeTypeStore.editedSelectedEdgeType + .append_property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + edgeTypeStore.validateEditEdgeType(true); + } + }} + style={{ + cursor: 'pointer', + color: edgeTypeStore.isEditReady ? '#2b65ff' : '#999' + }} + > + {t('addition.edge.add-group')} + + )} +
+
+ + + )} +
+ + + ); +}); + +export interface EdgeTypeListManipulation { + edgeName: string; + edgeIndex: number; + switchIsEditEdge: (flag: boolean) => void; +} + +const EdgeTypeListManipulation: React.FC = observer( + ({ edgeName, edgeIndex, switchIsEditEdge }) => { + const { edgeTypeStore } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + const [isPopDeleteModal, switchPopDeleteModal] = useState(false); + const [isDeleting, switchDeleting] = useState(false); + const deleteWrapperRef = useRef(null); + const isDeleteOrBatchDeleting = + isDeleting || + (edgeTypeStore.requestStatus.deleteEdgeType === 'pending' && + edgeTypeStore.selectedEdgeTypeNames.includes(edgeName)); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isPopDeleteModal && + deleteWrapperRef && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchPopDeleteModal(false); + } + }, + [deleteWrapperRef, isPopDeleteModal] + ); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
+ { + edgeTypeStore.selectEdgeType(edgeIndex); + edgeTypeStore.validateEditEdgeType(true); + switchIsEditEdge(true); + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + style: { + color: edgeTypeStore.selectedEdgeType!.style.color, + icon: null, + with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, + thickness: edgeTypeStore.selectedEdgeType!.style.thickness, + display_fields: edgeTypeStore.selectedEdgeType!.style + .display_fields + } + }); + }} + > + {t('addition.common.edit')} + +
+ {isDeleteOrBatchDeleting && ( + + )} + +

+ {t('addition.edge.confirm-del-edge-type')} +

+

{t('addition.edge.confirm-del-edge-type-again')}

+

{t('addition.message.long-time-notice')}

+
+ + +
+
+ } + childrenProps={{ + className: 'metadata-properties-manipulation', + title: isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del'), + onClick() { + if (isDeleteOrBatchDeleting) { + return; + } + + switchPopDeleteModal(true); + } + }} + > + {isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del')} + +
+ + ); + } +); + +const EmptyEdgeTypeHints: React.FC = observer(() => { + const { edgeTypeStore } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + return ( +
+ Add new property +
+ {t('addition.edge.no-edge-desc')} +
+
+ + +
+
+ ); +}); + +export default EdgeTypeList; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less new file mode 100644 index 000000000..db945395a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.less @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.new-edge-type-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx new file mode 100644 index 000000000..4864443af --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/NewEdgeType.tsx @@ -0,0 +1,1099 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { isUndefined, cloneDeep } from 'lodash-es'; +import { + Input, + Select, + Button, + Switch, + Tooltip, + Checkbox, + Message +} from 'hubble-ui'; + +import { Tooltip as CustomTooltip } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { formatVertexIdText } from '../../../../stores/utils'; + +import type { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; +import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; +import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; +import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; +import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; +import { useTranslation } from 'react-i18next'; + +const NewVertexType: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { t } = useTranslation(); + const { metadataPropertyStore, vertexTypeStore, edgeTypeStore } = useContext( + MetadataConfigsRootStore + ); + const [isAddNewProperty, switchIsAddNewProperty] = useState(false); + const [deletePopIndex, setDeletePopIndex] = useState(null); + const dropdownWrapperRef = useRef(null); + const deleteWrapperRef = useRef(null); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isAddNewProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddNewProperty(false); + } + + if ( + deletePopIndex && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + setDeletePopIndex(null); + } + }, + [deletePopIndex, isAddNewProperty] + ); + + useEffect(() => { + metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); + vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); + edgeTypeStore.validateAllNewEdgeType(true); + }, [edgeTypeStore, metadataPropertyStore, vertexTypeStore]); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
+
+
+ {t('addition.menu.base-info')} +
+
+
+ * + {t('addition.common.edge-type-name')}: +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + name: e.value + }); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType('name'); + } + }} + /> +
+
+
+ * + {t('addition.common.edge-style')}: +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ * + {t('addition.common.source-type')}: +
+ +
+
+
+ * + {t('addition.common.target-type')}: +
+ +
+
+
+ * + {t('addition.common.allow-multiple-connections')}: + + hint + +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + link_multi_times: checked + }); + }} + /> +
+
+
+ {edgeTypeStore.newEdgeType.link_multi_times && ( + * + )} + {t('addition.common.association-property')}: +
+
+ {edgeTypeStore.newEdgeType.properties.length !== 0 && ( +
+
+
{t('addition.common.property')}
+
{t('addition.common.allow-null')}
+
+ {edgeTypeStore.newEdgeType.properties.map((property, index) => { + const currentProperties = cloneDeep( + edgeTypeStore.newEdgeType.properties + ); + + return ( +
+
{property.name}
+
+ { + currentProperties[index].nullable = + !currentProperties[index].nullable; + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + properties: currentProperties + }); + + // remove primary keys since it could be empty value + if (checked) { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + sort_keys: + edgeTypeStore.newEdgeType.sort_keys.filter( + (key) => key !== property.name + ) + }); + } + }} + size="large" + /> +
+
+ ); + })} +
+ )} +
{ + switchIsAddNewProperty(!isAddNewProperty); + }} + > + {t('addition.common.add-property')} + toggleAddProperty +
+
+
+ {isAddNewProperty && ( +
+
+
+ {metadataPropertyStore.metadataProperties.map((property) => ( +
+ + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesIndexInSelectedEdgeType = + edgeTypeStore.addedPropertiesInSelectedEdgeType; + + addedPropertiesIndexInSelectedEdgeType.has( + property.name + ) + ? addedPropertiesIndexInSelectedEdgeType.delete( + property.name + ) + : addedPropertiesIndexInSelectedEdgeType.add( + property.name + ); + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + properties: [ + ...addedPropertiesIndexInSelectedEdgeType + ].map((propertyName) => { + const currentProperty = + edgeTypeStore.newEdgeType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType('properties'); + }} + > + {property.name} + + +
+ ))} +
+
+ )} + + {edgeTypeStore.newEdgeType.link_multi_times && ( +
+
+ * + {t('addition.common.distinguishing-key')}: +
+ +
+ )} + +
+
+ * + {t('addition.edge.display-content')}: +
+ +
+ +
+ + {t('addition.edge.index-info')} + + + hint + +
+
+
+ * + {t('addition.menu.type-index')}: +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + open_label_index: checked + }); + }} + /> +
+ +
+
+ {t('addition.common.property-index')}: +
+
+ {edgeTypeStore.newEdgeType.property_indexes.length !== 0 && ( +
+
+ {t('addition.edge.index-name')} +
+
+ {t('addition.edge.index-type')} +
+
{t('addition.common.property')}
+
+ )} + {edgeTypeStore.newEdgeType.property_indexes.map( + ({ name, type, fields }, index) => ( +
+
+ { + const propertyIndexEntities = cloneDeep( + edgeTypeStore.newEdgeType.property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType('propertyIndexes'); + } + }} + /> +
+
+ +
+
+ +
+ +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const propertyIndexEntities = cloneDeep( + edgeTypeStore.newEdgeType.property_indexes + ); + + propertyIndexEntities.splice(index, 1); + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: propertyIndexEntities + }); + + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType( + 'propertyIndexes' + ); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeletePopIndex(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: closeIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeletePopIndex(index); + } + }} + childrenWrapperElement="img" + /> +
+ ) + )} + { + if ( + edgeTypeStore.newEdgeType.property_indexes.length === 0 || + edgeTypeStore.isAddNewPropertyIndexReady + ) { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: [ + ...edgeTypeStore.newEdgeType.property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + edgeTypeStore.validateAllNewEdgeType(true); + // set isAddNewPropertyIndexReady to false + edgeTypeStore.validateNewEdgeType('propertyIndexes', true); + } + }} + style={{ + cursor: 'pointer', + color: edgeTypeStore.isAddNewPropertyIndexReady + ? '#2b65ff' + : '#999', + lineHeight: '32px' + }} + > + {t('addition.edge.add-group')} + +
+
+ +
+
+ + +
+
+ + ); +}); + +export default NewVertexType; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less new file mode 100644 index 000000000..71698137e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.less @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.reuse-properties-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; + + .reuse-steps { + width: 860px; + margin: 16px auto 18px; + } + + .reuse-properties { + &-row { + display: flex; + align-items: center; + margin: 18px 0 32px; + font-size: 14px; + color: #333; + + &:last-child { + margin-bottom: 24px; + } + + &-name { + width: 98px; + text-align: right; + margin-right: 13.9px; + } + } + + &-manipulations { + display: flex; + justify-content: center; + margin-bottom: 88px; + } + + &-validate { + &-duplicate, + &-exist, + &-pass { + width: 58px; + margin: 0 auto; + border-radius: 2px; + letter-spacing: 0; + line-height: 22px; + text-align: center; + } + + &-duplicate { + background: #fff2f2; + border: 1px solid #ff9499; + color: #e64552; + } + + &-exist, + &-pass { + background: #f2fff4; + border: 1px solid #7ed988; + color: #39bf45; + } + } + + &-complete-hint { + display: flex; + flex-direction: column; + justify-content: center; + margin: 88px auto 327px; + + &-description { + display: flex; + justify-content: center; + + & > div { + margin-left: 20px; + } + } + + &-manipulations { + margin: 42px auto 0; + } + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx new file mode 100644 index 000000000..6a462e4ad --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/ReuseEdgeTypes.tsx @@ -0,0 +1,1237 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { + Select, + Steps, + Transfer, + Button, + Table, + Input, + Message +} from 'hubble-ui'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import PassIcon from '../../../../assets/imgs/ic_pass.svg'; + +import './ReuseEdgeTypes.less'; +import { cloneDeep } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; + +const ReuseEdgeTypes: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + const { edgeTypeStore } = metadataConfigsRootStore; + const [currentStatus, setCurrentStatus] = useState(1); + // acutally the name, not id in database + const [selectedId, mutateSelectedId] = useState<[] | string>([]); + const [selectedList, mutateSelectedList] = useState([]); + + // step 2 + const [edgeTypeEditIndex, setEdgeTypeEditIndex] = useState( + null + ); + const [vertexTypeEditIndex, setVertexTypeEditIndex] = useState( + null + ); + const [propertyEditIndex, setPropertyEditIndex] = useState( + null + ); + const [propertyIndexEditIndex, setPropertyIndexEditIndex] = useState< + number | null + >(null); + + // hack: need to call @observable at here to dispatch re-render by mobx + // since @action in onBlur() in doesn't dispatch re-render + edgeTypeStore.validateReuseErrorMessage.edgeType.toUpperCase(); + edgeTypeStore.validateReuseErrorMessage.vertexType.toUpperCase(); + edgeTypeStore.validateReuseErrorMessage.property.toUpperCase(); + edgeTypeStore.validateReuseErrorMessage.property_index.toUpperCase(); + + const edgeTypeColumnConfigs = [ + { + title: t('addition.common.edge-type-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== edgeTypeEditIndex) { + return ( +
+ {text} +
+ ); + } + + return ( + { + edgeTypeStore.resetValidateReuseErrorMessage('edgeType'); + + const editedCheckedReusableData = cloneDeep( + edgeTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.edgelabel_conflicts[index].entity.name = + e.value; + + edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateReuseData( + 'edgeType', + edgeTypeStore.checkedReusableData!.edgelabel_conflicts[index] + .entity.name, + edgeTypeStore.editedCheckedReusableData!.edgelabel_conflicts[ + index + ].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + width: '30%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (edgeTypeStore.reusableEdgeTypeNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + const originalName = edgeTypeStore.checkedReusableData! + .edgelabel_conflicts[index].entity.name; + const changedName = edgeTypeStore.editedCheckedReusableData! + .edgelabel_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + if (edgeTypeEditIndex === index) { + return ( +
+ { + if ( + !isChanged || + !edgeTypeStore.validateReuseData( + 'edgeType', + originalName, + changedName + ) + ) { + return; + } + + edgeTypeStore.mutateReuseData( + 'edgeType', + originalName, + changedName + ); + setEdgeTypeEditIndex(null); + edgeTypeStore.mutateReusableEdgeTypeChangeIndexes(index); + }} + > + {t('addition.common.save')} + + { + edgeTypeStore.resetValidateReuseErrorMessage('edgeType'); + setEdgeTypeEditIndex(null); + edgeTypeStore.resetEditedReusableEdgeTypeName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (edgeTypeEditIndex !== null) { + return; + } + + setEdgeTypeEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (edgeTypeEditIndex !== null) { + return; + } + + setEdgeTypeEditIndex(null); + + // remove selected status of the property in + const newSelectedList = [...selectedList].filter( + (property) => + property !== + edgeTypeStore.editedCheckedReusableData! + .edgelabel_conflicts[index].entity.name + ); + + mutateSelectedList(newSelectedList); + + // notice: useState hooks cannot sync updated state value, so the length is still 1 + if (selectedList.length === 1) { + setCurrentStatus(1); + // remove edit status after return previous + edgeTypeStore.clearReusableNameChangeIndexes(); + return; + } + + edgeTypeStore.deleteReuseData('edgelabel_conflicts', index); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + const vertexTypeColumnConfigs = [ + { + title: t('addition.common.vertex-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== vertexTypeEditIndex) { + return text; + } + + return ( + { + edgeTypeStore.resetValidateReuseErrorMessage('vertexType'); + + const editedCheckedReusableData = cloneDeep( + edgeTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.vertexlabel_conflicts[ + index + ].entity.name = e.value; + + edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateReuseData( + 'vertexType', + edgeTypeStore.checkedReusableData!.vertexlabel_conflicts[ + index + ].entity.name, + edgeTypeStore.editedCheckedReusableData! + .vertexlabel_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + width: '30%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (edgeTypeStore.reusableVertexTypeNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + const originalName = edgeTypeStore.checkedReusableData! + .vertexlabel_conflicts[index].entity.name; + const changedName = edgeTypeStore.editedCheckedReusableData! + .vertexlabel_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + if (index === vertexTypeEditIndex) { + return ( +
+ { + if ( + !isChanged || + !edgeTypeStore.validateReuseData( + 'vertexType', + originalName, + changedName + ) + ) { + return; + } + + edgeTypeStore.mutateReuseData( + 'vertexType', + originalName, + changedName + ); + setVertexTypeEditIndex(null); + edgeTypeStore.mutateReusableVertexTypeChangeIndexes(index); + }} + > + {t('addition.common.save')} + + { + edgeTypeStore.resetValidateReuseErrorMessage('vertexType'); + setVertexTypeEditIndex(null); + edgeTypeStore.resetEditedReusableVertexTypeName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (vertexTypeEditIndex !== null) { + return; + } + + setVertexTypeEditIndex(index); + }} + > + {t('addition.operate.rename')} + +
+ ); + } + } + ]; + + const metadataPropertyColumnConfigs = [ + { + title: t('addition.common.property-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (propertyEditIndex !== index) { + return text; + } + + return ( + { + edgeTypeStore.resetValidateReuseErrorMessage('property'); + + const editedCheckedReusableData = cloneDeep( + edgeTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.propertykey_conflicts[ + index + ].entity.name = e.value; + + edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateReuseData( + 'property', + edgeTypeStore.checkedReusableData!.propertykey_conflicts[ + index + ].entity.name, + edgeTypeStore.editedCheckedReusableData! + .propertykey_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.common.data-type'), + dataIndex: 'data_type', + width: '15%', + render(text: string) { + if (text === 'TEXT') { + return 'string'; + } + + return text.toLowerCase(); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + align: 'center', + width: '15%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (edgeTypeStore.reusablePropertyNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return
{text}
; + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === propertyEditIndex) { + const originalName = edgeTypeStore.checkedReusableData! + .propertykey_conflicts[index].entity.name; + const changedName = edgeTypeStore.editedCheckedReusableData! + .propertykey_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + return ( +
+ { + if ( + !isChanged || + !edgeTypeStore.validateReuseData( + 'property', + originalName, + changedName + ) + ) { + return; + } + + edgeTypeStore.mutateReuseData( + 'property', + originalName, + changedName + ); + setPropertyEditIndex(null); + edgeTypeStore.mutateReusablePropertyNameChangeIndexes(index); + }} + > + {t('addition.common.save')} + + { + edgeTypeStore.resetValidateReuseErrorMessage('property'); + setPropertyEditIndex(null); + edgeTypeStore.resetEditedReusablePropertyName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (propertyEditIndex !== null) { + return; + } + + setPropertyEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (propertyEditIndex !== null) { + return; + } + + setPropertyEditIndex(null); + + edgeTypeStore.deleteReuseData('propertykey_conflicts', index); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + const metadataPropertyIndexColumnConfigs = [ + { + title: t('addition.common.property-index-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== propertyIndexEditIndex) { + return text; + } + + return ( + { + edgeTypeStore.resetValidateReuseErrorMessage('property_index'); + + const editedCheckedReusableData = cloneDeep( + edgeTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.propertyindex_conflicts[ + index + ].entity.name = e.value; + + edgeTypeStore.mutateEditedReusableData(editedCheckedReusableData); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateReuseData( + 'property_index', + edgeTypeStore.checkedReusableData!.propertyindex_conflicts[ + index + ].entity.name, + edgeTypeStore.editedCheckedReusableData! + .propertyindex_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.common.corresponding-type'), + dataIndex: 'owner', + width: '15%' + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + align: 'center', + width: '15%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (edgeTypeStore.reusablePropertyIndexNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return
{text}
; + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === propertyIndexEditIndex) { + const originalName = edgeTypeStore.checkedReusableData! + .propertyindex_conflicts[index].entity.name; + const changedName = edgeTypeStore.editedCheckedReusableData! + .propertyindex_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + return ( +
+ { + if ( + !isChanged || + !edgeTypeStore.validateReuseData( + 'property_index', + originalName, + changedName + ) + ) { + return; + } + + edgeTypeStore.mutateReuseData( + 'property_index', + originalName, + changedName + ); + setPropertyIndexEditIndex(null); + edgeTypeStore.mutateReusableVertexTypeChangeIndexes(index); + }} + > + {t('addition.common.save')} + + { + edgeTypeStore.resetValidateReuseErrorMessage( + 'property_index' + ); + setPropertyIndexEditIndex(null); + edgeTypeStore.resetEditedReusablePropertyIndexName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (propertyIndexEditIndex !== null) { + return; + } + + setPropertyIndexEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (propertyIndexEditIndex !== null) { + return; + } + + setPropertyIndexEditIndex(null); + + edgeTypeStore.deleteReuseData('propertyindex_conflicts', index); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + useEffect(() => { + // unlike metadata properties, all vertex types only needs here(in reuse) + edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); + }, [edgeTypeStore]); + + return ( +
+
+ {t('addition.edge.multiplexing-edge-type')} +
+
+ {t('addition.edge.multiplexing-edge-type-notice')} +
+
+ + {[ + t('addition.menu.select-reuse-item'), + t('addition.menu.confirm-reuse-item'), + t('addition.menu.complete-reuse') + ].map((title: string, index: number) => ( + index + 1 + ? 'finish' + : 'wait' + } + key={title} + /> + ))} + + + {currentStatus === 1 && ( + <> +
+
+ * + {t('addition.newGraphConfig.id')}: +
+ +
+
+
+ * + {t('addition.edge.multiplexing-edge-type')}: +
+ name + )} + selectedList={selectedList} + showSearchBox={false} + candidateTreeStyle={{ + width: 359, + fontSize: 14 + }} + selectedTreeStyle={{ + width: 359, + fontSize: 14 + }} + handleSelect={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleSelectAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDelete={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDeleteAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + /> +
+
+ + +
+ + )} + + {currentStatus === 2 && ( + <> +
+ {t('addition.common.selected-edge-type')} +
+
({ + name: entity.name, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ {t('addition.common.selected-vertex-type')} +
+
({ + name: entity.name, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ {t('addition.common.selected-property')} +
+
({ + name: entity.name, + data_type: entity.data_type, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ {t('addition.common.selected-property-index')} +
+
({ + name: entity.name, + owner: entity.owner, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ + +
+ + )} + + {currentStatus === 3 && ( +
+
+ {t('addition.message.reuse-complete')} +
+
{t('addition.message.reuse-complete')}
+
{t('addition.message.vertex-type-reuse-success')}
+
+
+
+ + +
+
+ )} + + + ); +}); + +export default ReuseEdgeTypes; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/index.ts new file mode 100644 index 000000000..2326af6d4 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/edge-type/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import NewEdgeType from './NewEdgeType'; +import EdgeTypeList from './EdgeTypeList'; + +export { NewEdgeType, EdgeTypeList }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx new file mode 100644 index 000000000..2ff3edae7 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditEdge.tsx @@ -0,0 +1,1415 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { cloneDeep, merge, isUndefined, isEmpty } from 'lodash-es'; +import { + Drawer, + Button, + Input, + Select, + Switch, + Checkbox, + Message +} from 'hubble-ui'; + +import { Tooltip } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import { + mapMetadataProperties, + generateGraphModeId, + formatVertexIdText, + edgeWidthMapping +} from '../../../../stores/utils'; + +import type { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; +import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; +import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; +import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +const propertyIndexTypeMappings: Record = { + SECONDARY: i18next.t('addition.menu.secondary-index'), + RANGE: i18next.t('addition.menu.range-index'), + SEARCH: i18next.t('addition.menu.full-text-index') +}; + +const CheckAndEditEdge: React.FC = observer(() => { + const { metadataPropertyStore, edgeTypeStore, graphViewStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const [isAddProperty, switchIsAddProperty] = useState(false); + const [isDeletePop, switchDeletePop] = useState(false); + const [ + deleteExistPopIndexInDrawer, + setDeleteExistPopIndexInDrawer + ] = useState(null); + const [ + deleteAddedPopIndexInDrawer, + setDeleteAddedPopIndexInDrawer + ] = useState(null); + + const deleteWrapperRef = useRef(null); + const dropdownWrapperRef = useRef(null); + const deleteWrapperInDrawerRef = useRef(null); + + const isEditEdge = graphViewStore.currentDrawer === 'edit-edge'; + + const metadataDrawerOptionClass = classnames({ + 'metadata-drawer-options': true, + 'metadata-drawer-options-disabled': isEditEdge + }); + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + const drawerWrapper = document.querySelector( + '.new-fc-one-drawer-content-wrapper' + ); + + if ( + graphViewStore.currentDrawer === 'check-edge' && + drawerWrapper && + !drawerWrapper.contains(e.target as Element) + ) { + /* + handleOutSideClick is being called after the value assignment of data and drawer-name, + we need to judge whether a node or edge is being clicked + */ + if (graphViewStore.isNodeOrEdgeClicked) { + // if node/edge is clicked, reset state and prepare for next outside clicks + graphViewStore.switchNodeOrEdgeClicked(false); + } else { + graphViewStore.setCurrentDrawer(''); + } + } + + if ( + isEditEdge && + isAddProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddProperty(false); + return; + } + + if ( + isDeletePop !== null && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchDeletePop(false); + } + }, + [graphViewStore, isEditEdge, isAddProperty, isDeletePop] + ); + + const handleCloseDrawer = () => { + switchIsAddProperty(false); + graphViewStore.setCurrentDrawer(''); + edgeTypeStore.selectEdgeType(null); + // clear mutations in + edgeTypeStore.resetEditedSelectedEdgeType(); + }; + + const handleDeleteEdge = async () => { + // cache vertex name here before it gets removed + const edgeName = edgeTypeStore.selectedEdgeType!.name; + const edgeId = generateGraphModeId( + edgeName, + edgeTypeStore.selectedEdgeType!.source_label, + edgeTypeStore.selectedEdgeType!.target_label + ); + const edgeInfo = graphViewStore.visDataSet!.edges.get(edgeName); + + switchDeletePop(false); + handleCloseDrawer(); + + graphViewStore.visDataSet!.edges.remove(edgeId); + + await edgeTypeStore.deleteEdgeType([edgeName]); + + if (edgeTypeStore.requestStatus.deleteEdgeType === 'success') { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + + edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); + } + + if (edgeTypeStore.requestStatus.deleteEdgeType === 'failed') { + Message.error({ + content: edgeTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + // if failed, re-add edge + graphViewStore.visDataSet?.edges.add(edgeInfo); + } + }; + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + if (edgeTypeStore.selectedEdgeType === null) { + return null; + } + + return ( + { + if (!isEditEdge) { + graphViewStore.setCurrentDrawer('edit-edge'); + edgeTypeStore.validateEditEdgeType(); + } else { + const id = generateGraphModeId( + edgeTypeStore.selectedEdgeType!.name, + edgeTypeStore.selectedEdgeType!.source_label, + edgeTypeStore.selectedEdgeType!.target_label + ); + const updateInfo: Record = {}; + + if ( + !isEmpty(edgeTypeStore.editedSelectedEdgeType.append_properties) + ) { + const mappedProperties = mapMetadataProperties( + edgeTypeStore.selectedEdgeType!.properties, + metadataPropertyStore.metadataProperties + ); + + const newMappedProperties = mapMetadataProperties( + edgeTypeStore.editedSelectedEdgeType.append_properties, + metadataPropertyStore.metadataProperties + ); + + const mergedProperties = merge( + mappedProperties, + newMappedProperties + ); + + updateInfo.title = ` + + + ${Object.entries(mergedProperties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + return ``; + }) + .join('')} + `; + } + + if (edgeTypeStore.editedSelectedEdgeType.style.color !== null) { + updateInfo.color = { + color: edgeTypeStore.editedSelectedEdgeType.style.color, + highlight: edgeTypeStore.editedSelectedEdgeType.style.color, + hover: edgeTypeStore.editedSelectedEdgeType.style.color + }; + } + + if ( + edgeTypeStore.editedSelectedEdgeType.style.with_arrow !== null + ) { + updateInfo.arrows = + edgeTypeStore.editedSelectedEdgeType.style.with_arrow === true + ? 'to' + : ''; + } + + if ( + edgeTypeStore.editedSelectedEdgeType.style.thickness !== null + ) { + updateInfo.value = + edgeWidthMapping[ + edgeTypeStore.editedSelectedEdgeType.style.thickness + ]; + } + + if (!isEmpty(updateInfo)) { + updateInfo.id = id; + + graphViewStore.visDataSet!.edges.update(updateInfo); + } + await edgeTypeStore.updateEdgeType(); + + if (edgeTypeStore.requestStatus.updateEdgeType === 'failed') { + Message.error({ + content: edgeTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if (edgeTypeStore.requestStatus.updateEdgeType === 'success') { + Message.success({ + content: t('addition.operate.modify-success'), + size: 'medium', + showCloseIcon: false + }); + } + + handleCloseDrawer(); + graphViewStore.visNetwork!.unselectAll(); + edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); + } + }} + key="drawer-manipulation" + > + {isEditEdge ? t('addition.common.save') : t('addition.common.edit')} + , + +

+ {t('addition.edge.confirm-del-edge-type')} +

+

{t('addition.edge.confirm-del-edge-careful-notice')}

+

{t('addition.message.long-time-notice')}

+
+
+ {t('addition.common.confirm')} +
+
{ + switchDeletePop(false); + }} + > + {t('addition.common.cancel')} +
+
+ + } + childrenProps={{ + onClick() { + if (isEditEdge) { + handleCloseDrawer(); + return; + } + + switchDeletePop(true); + } + }} + > + +
+ ]} + > +
+
+
+ {t('addition.menu.base-info')} +
+
+
+ {t('addition.common.edge-type-name')}: +
+
+ {edgeTypeStore.selectedEdgeType!.name} +
+
+ +
+
+ + {t('addition.common.edge-style')}: + +
+
+ +
+
+ +
+
+ +
+
+
+
+ {t('addition.common.source-type')}: +
+
+ {edgeTypeStore.selectedEdgeType!.source_label} +
+
+
+
+ {t('addition.common.target-type')}: +
+
+ {edgeTypeStore.selectedEdgeType!.target_label} +
+
+
+
+ {t('addition.common.allow-multiple-connections')}: +
+ +
+
+
+ {t('addition.common.association-property')}: +
+
+
+ {t('addition.common.property')} + {t('addition.common.allow-null')} +
+ {edgeTypeStore.selectedEdgeType!.properties.map( + ({ name, nullable }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditEdge && + edgeTypeStore.editedSelectedEdgeType.append_properties.map( + ({ name }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditEdge && ( +
{ + switchIsAddProperty(!isAddProperty); + }} + > + + {t('addition.common.add-property')} + + toogleAddProperties +
+ )} + {isEditEdge && isAddProperty && ( +
+ {metadataPropertyStore.metadataProperties + .filter( + (property) => + edgeTypeStore.selectedEdgeType!.properties.find( + ({ name }) => name === property.name + ) === undefined + ) + .map((property) => ( +
+ + + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + edgeTypeStore.addedPropertiesInSelectedEdgeType; + + addedPropertiesInSelectedVertextType.has( + property.name + ) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = edgeTypeStore.newEdgeType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + }} + > + {property.name} + + +
+ ))} +
+ )} +
+
+ +
+
+ {t('addition.common.distinguishing-key-property')}: +
+
+ {edgeTypeStore.selectedEdgeType!.sort_keys.join(';')} +
+
+ +
+
+ + {t('addition.edge.display-content')}: + +
+ {isEditEdge ? ( + + ) : ( +
+ {edgeTypeStore.selectedEdgeType?.style.display_fields + .map((field) => + formatVertexIdText( + field, + t('addition.function-parameter.edge-type') + ) + ) + .join('-')} +
+ )} +
+ +
+ {t('addition.edge.index-info')} +
+
+
+ {t('addition.menu.type-index')}: +
+ +
+
+
+ {t('addition.common.property-index')}: +
+
+ {(edgeTypeStore.selectedEdgeType!.property_indexes.length !== 0 || + edgeTypeStore.editedSelectedEdgeType.append_property_indexes + .length !== 0) && ( +
+ {t('addition.edge.index-name')} + {t('addition.edge.index-type')} + {t('addition.common.property')} +
+ )} + {edgeTypeStore + .selectedEdgeType!.property_indexes.filter((propertyIndex) => + isUndefined( + edgeTypeStore.editedSelectedEdgeType.remove_property_indexes.find( + (removedPropertyName) => + removedPropertyName === propertyIndex.name + ) + ) + ) + .map(({ name, type, fields }, index) => { + return ( +
+
{name}
+
{propertyIndexTypeMappings[type]}
+
+ + {fields + .map((field, index) => index + 1 + '.' + field) + .join(';')} + + + {isEditEdge && ( + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const removedPropertyIndex = cloneDeep( + edgeTypeStore.editedSelectedEdgeType + .remove_property_indexes + ); + + removedPropertyIndex.push( + edgeTypeStore.selectedEdgeType! + .property_indexes[index].name + ); + + edgeTypeStore.mutateEditedSelectedEdgeType( + { + ...edgeTypeStore.editedSelectedEdgeType, + remove_property_indexes: removedPropertyIndex + } + ); + + setDeleteExistPopIndexInDrawer(null); + edgeTypeStore.validateEditEdgeType(true); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeleteExistPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteExistPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> + )} +
+
+ ); + })} + {edgeTypeStore.editedSelectedEdgeType.append_property_indexes.map( + ({ name, type, fields }, index) => { + return ( +
+
+ { + const propertyIndexEntities = cloneDeep( + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + edgeTypeStore.validateEditEdgeType(); + } + }} + /> +
+
+ +
+
+ + + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const appendPropertyIndexes = cloneDeep( + edgeTypeStore.editedSelectedEdgeType! + .append_property_indexes + ); + + appendPropertyIndexes.splice(index, 1); + + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: appendPropertyIndexes + }); + + setDeleteAddedPopIndexInDrawer(null); + edgeTypeStore.validateEditEdgeType(true); + }} + > + {t('addition.common.confirm')} +
+
{ + edgeTypeStore.resetEditedSelectedEdgeType(); + setDeleteAddedPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteAddedPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> +
+
+ ); + } + )} + {isEditEdge && ( +
{ + if ( + edgeTypeStore.editedSelectedEdgeType + .append_property_indexes.length === 0 || + edgeTypeStore.isEditReady + ) { + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + append_property_indexes: [ + ...edgeTypeStore.editedSelectedEdgeType + .append_property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + edgeTypeStore.validateEditEdgeType(true); + } + }} + style={{ + cursor: 'pointer', + color: edgeTypeStore.isEditReady ? '#2b65ff' : '#999' + }} + > + {t('addition.edge.add-group')} +
+ )} +
+
+ + +
+ ); +}); + +export default CheckAndEditEdge; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx new file mode 100644 index 000000000..c8a064209 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckAndEditVertex.tsx @@ -0,0 +1,1310 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { cloneDeep, isUndefined, merge, isEmpty } from 'lodash-es'; +import { + Drawer, + Button, + Input, + Select, + Switch, + Checkbox, + Message +} from 'hubble-ui'; + +import { Tooltip } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import { + mapMetadataProperties, + formatVertexIdText, + vertexRadiusMapping +} from '../../../../stores/utils'; + +import type { + VertexTypeValidatePropertyIndexes, + VertexTypeProperty +} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +const IDStrategyMappings: Record = { + PRIMARY_KEY: i18next.t('addition.constant.primary-key-id'), + AUTOMATIC: i18next.t('addition.constant.automatic-generation'), + CUSTOMIZE_STRING: i18next.t('addition.constant.custom-string'), + CUSTOMIZE_NUMBER: i18next.t('addition.constant.custom-number'), + CUSTOMIZE_UUID: i18next.t('addition.constant.custom-uuid') +}; + +const propertyIndexTypeMappings: Record = { + SECONDARY: i18next.t('addition.menu.secondary-index'), + RANGE: i18next.t('addition.menu.range-index'), + SEARCH: i18next.t('addition.menu.full-text-index') +}; + +const CheckAndEditVertex: React.FC = observer(() => { + const { metadataPropertyStore, vertexTypeStore, graphViewStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const [isAddProperty, switchIsAddProperty] = useState(false); + const [isDeletePop, switchDeletePop] = useState(false); + const [ + deleteExistPopIndexInDrawer, + setDeleteExistPopIndexInDrawer + ] = useState(null); + const [ + deleteAddedPopIndexInDrawer, + setDeleteAddedPopIndexInDrawer + ] = useState(null); + + const deleteWrapperRef = useRef(null); + const dropdownWrapperRef = useRef(null); + const deleteWrapperInDrawerRef = useRef(null); + + const isEditVertex = graphViewStore.currentDrawer === 'edit-vertex'; + + const metadataDrawerOptionClass = classnames({ + 'metadata-drawer-options': true, + 'metadata-drawer-options-disabled': isEditVertex + }); + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + const drawerWrapper = document.querySelector( + '.new-fc-one-drawer-content-wrapper' + ); + + if ( + graphViewStore.currentDrawer === 'check-vertex' && + drawerWrapper && + !drawerWrapper.contains(e.target as Element) + ) { + /* + handleOutSideClick is being called after the value assignment of data and drawer-name, + we need to judge whether a node or edge is being clicked + */ + if (graphViewStore.isNodeOrEdgeClicked) { + // if node/edge is clicked, reset state and prepare for next outside clicks + graphViewStore.switchNodeOrEdgeClicked(false); + } else { + graphViewStore.setCurrentDrawer(''); + } + } + + if ( + isAddProperty && + isEditVertex && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddProperty(false); + return; + } + + if ( + isDeletePop && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchDeletePop(false); + } + }, + [graphViewStore, isAddProperty, isEditVertex, isDeletePop] + ); + + const handleCloseDrawer = () => { + switchIsAddProperty(false); + graphViewStore.setCurrentDrawer(''); + vertexTypeStore.selectVertexType(null); + // clear mutations in + vertexTypeStore.resetEditedSelectedVertexType(); + }; + + const handleDeleteVertex = async () => { + // cache vertex name here before it gets removed + const vertexName = vertexTypeStore.selectedVertexType!.name; + const vertexInfo = graphViewStore.visDataSet?.nodes.get(vertexName); + const connectedEdgeInfos = graphViewStore.visDataSet?.edges.get( + graphViewStore.visNetwork?.getConnectedEdges(vertexName) + ); + + // close + handleCloseDrawer(); + switchDeletePop(false); + + // if node > 1, delete node on local before send request + if (graphViewStore.visDataSet!.nodes.length > 1) { + graphViewStore.visDataSet!.nodes.remove(vertexName); + } + + await vertexTypeStore.deleteVertexType([vertexName]); + + if (vertexTypeStore.requestStatus.deleteVertexType === 'success') { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + + vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); + + // if delete the last node, fetch graph data to trigger re-render to reveal + if (graphViewStore.visDataSet?.nodes.length === 1) { + graphViewStore.switchGraphDataEmpty(true); + graphViewStore.fetchGraphViewData(); + } + } + + if (vertexTypeStore.requestStatus.deleteVertexType === 'failed') { + Message.error({ + content: vertexTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + // if failed, re-add vertex and edges + graphViewStore.visDataSet!.nodes.add(vertexInfo); + graphViewStore.visDataSet!.edges.add(connectedEdgeInfos); + } + }; + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + if (vertexTypeStore.selectedVertexType === null) { + return null; + } + + return ( + { + if (!isEditVertex) { + graphViewStore.setCurrentDrawer('edit-vertex'); + vertexTypeStore.validateEditVertexType(); + } else { + const id = vertexTypeStore.selectedVertexType!.name; + const updateInfo: Record = {}; + + if ( + !isEmpty( + vertexTypeStore.editedSelectedVertexType.append_properties + ) + ) { + const mappedProperties = mapMetadataProperties( + vertexTypeStore.selectedVertexType!.properties, + metadataPropertyStore.metadataProperties + ); + + const newMappedProperties = mapMetadataProperties( + vertexTypeStore.editedSelectedVertexType.append_properties, + metadataPropertyStore.metadataProperties + ); + + const mergedProperties = merge( + mappedProperties, + newMappedProperties + ); + + updateInfo.title = ` + + + ${Object.entries(mergedProperties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + return ``; + }) + .join('')} + `; + } + + if ( + vertexTypeStore.editedSelectedVertexType.style.color !== null + ) { + updateInfo.color = { + background: + vertexTypeStore.editedSelectedVertexType.style.color, + border: vertexTypeStore.editedSelectedVertexType.style.color + }; + } + + if ( + vertexTypeStore.editedSelectedVertexType.style.size !== null + ) { + updateInfo.value = + vertexRadiusMapping[ + vertexTypeStore.editedSelectedVertexType.style.size + ]; + } + + if (!isEmpty(updateInfo)) { + updateInfo.id = id; + + graphViewStore.visDataSet!.nodes.update(updateInfo); + } + await vertexTypeStore.updateVertexType(); + + if (vertexTypeStore.requestStatus.updateVertexType === 'failed') { + Message.error({ + content: vertexTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if ( + vertexTypeStore.requestStatus.updateVertexType === 'success' + ) { + Message.success({ + content: t('addition.operate.modify-success'), + size: 'medium', + showCloseIcon: false + }); + } + + handleCloseDrawer(); + graphViewStore.visNetwork!.unselectAll(); + vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); + } + }} + key="drawer-manipulation" + > + {isEditVertex ? t('addition.common.save') : t('addition.common.edit')} + , + + {vertexTypeStore.vertexTypeUsingStatus && + vertexTypeStore.vertexTypeUsingStatus[ + vertexTypeStore.selectedVertexType!.name + ] ? ( +

+ {t('addition.vertex.using-cannot-delete')} +

+ ) : ( + <> +

+ {t('addition.vertex.del-vertex-confirm')} +

+

{t('addition.edge.confirm-del-edge-careful-notice')}

+

{t('addition.message.long-time-notice')}

+
+
+ {t('addition.common.confirm')} +
+
{ + switchDeletePop(false); + }} + > + {t('addition.common.cancel')} +
+
+ + )} + + } + childrenProps={{ + onClick() { + if (isEditVertex) { + handleCloseDrawer(); + return; + } + + switchDeletePop(true); + } + }} + > + +
+ ]} + > +
+
+ {t('addition.menu.base-info')} +
+
+
+ {t('addition.vertex.vertex-type-name')}: +
+
+ {vertexTypeStore.selectedVertexType!.name} +
+
+ +
+
+ + {t('addition.vertex.vertex-style')}: + +
+
+ +
+
+ +
+
+
+
+ {t('addition.common.id-strategy')}: +
+ {IDStrategyMappings[vertexTypeStore.selectedVertexType!.id_strategy]} +
+
+
+ {t('addition.common.association-property')}: +
+
+
+ {t('addition.common.property')} + {t('addition.common.allow-null')} +
+ {vertexTypeStore.selectedVertexType!.properties.map( + ({ name, nullable }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditVertex && + vertexTypeStore.editedSelectedVertexType.append_properties.map( + ({ name }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditVertex && ( +
{ + switchIsAddProperty(!isAddProperty); + }} + > + + {t('addition.common.add-property')} + + toogleAddProperties +
+ )} + {isEditVertex && isAddProperty && ( +
+ {metadataPropertyStore.metadataProperties + .filter( + (property) => + vertexTypeStore.selectedVertexType!.properties.find( + ({ name }) => name === property.name + ) === undefined + ) + .map((property) => ( +
+ + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + vertexTypeStore.addedPropertiesInSelectedVertextType; + + addedPropertiesInSelectedVertextType.has( + property.name + ) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + append_properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = vertexTypeStore.newVertexType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + }} + > + {property.name} + + +
+ ))} +
+ )} +
+
+
+
+ {t('addition.common.primary-key-property')}: +
+
+ {vertexTypeStore.selectedVertexType!.primary_keys.join(';')} +
+
+
+
+ + {t('addition.vertex.vertex-display-content')}: + +
+ {isEditVertex ? ( + + ) : ( +
+ {vertexTypeStore.selectedVertexType?.style.display_fields + .map((field) => + formatVertexIdText( + field, + t('addition.function-parameter.vertex-id') + ) + ) + .join('-')} +
+ )} +
+
+ {t('addition.edge.index-info')} +
+
+
+ {t('addition.menu.type-index')}: +
+ +
+
+
+ {t('addition.common.property-index')}: +
+
+ {(vertexTypeStore.selectedVertexType!.property_indexes.length !== + 0 || + vertexTypeStore.editedSelectedVertexType.append_property_indexes + .length !== 0) && ( +
+ {t('addition.edge.index-name')} + {t('addition.edge.index-type')} + {t('addition.common.property')} +
+ )} + {vertexTypeStore + .selectedVertexType!.property_indexes.filter((propertyIndex) => + isUndefined( + vertexTypeStore.editedSelectedVertexType.remove_property_indexes.find( + (removedPropertyName) => + removedPropertyName === propertyIndex.name + ) + ) + ) + .map(({ name, type, fields }, index) => { + return ( +
+
{name}
+
{propertyIndexTypeMappings[type]}
+
+ + {fields + .map((field, index) => index + 1 + '.' + field) + .join(';')} + + {isEditVertex && ( + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const removedPropertyIndexes = cloneDeep( + vertexTypeStore.editedSelectedVertexType + .remove_property_indexes + ); + + removedPropertyIndexes.push( + vertexTypeStore.selectedVertexType! + .property_indexes[index].name + ); + + vertexTypeStore.mutateEditedSelectedVertexType( + { + ...vertexTypeStore.editedSelectedVertexType, + remove_property_indexes: removedPropertyIndexes + } + ); + + setDeleteExistPopIndexInDrawer(null); + vertexTypeStore.validateEditVertexType( + true + ); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeleteExistPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteExistPopIndexInDrawer(index); + } + }} + /> + )} +
+
+ ); + })} + {vertexTypeStore.editedSelectedVertexType.append_property_indexes.map( + ({ name, type, fields }, index) => { + return ( +
+
+ { + const propertyIndexEntities = cloneDeep( + vertexTypeStore.editedSelectedVertexType + .append_property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + vertexTypeStore.validateEditVertexType(); + } + }} + /> +
+
+ +
+
+ + + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const appendPropertyIndexes = cloneDeep( + vertexTypeStore.editedSelectedVertexType! + .append_property_indexes + ); + + appendPropertyIndexes.splice(index, 1); + + vertexTypeStore.mutateEditedSelectedVertexType( + { + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: appendPropertyIndexes + } + ); + + setDeleteAddedPopIndexInDrawer(null); + vertexTypeStore.validateEditVertexType(true); + }} + > + {t('addition.common.confirm')} +
+
{ + vertexTypeStore.resetEditedSelectedVertexType(); + setDeleteAddedPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteAddedPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> +
+
+ ); + } + )} + {isEditVertex && ( +
{ + if ( + vertexTypeStore.editedSelectedVertexType + .append_property_indexes.length === 0 || + vertexTypeStore.isEditReady + ) { + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: [ + ...vertexTypeStore.editedSelectedVertexType + .append_property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + vertexTypeStore.validateEditVertexType(true); + } + }} + style={{ + cursor: 'pointer', + color: vertexTypeStore.isEditReady ? '#2b65ff' : '#999' + }} + > + {t('addition.edge.add-group')} +
+ )} +
+ + +
+ ); +}); + +export default CheckAndEditVertex; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx new file mode 100644 index 000000000..0bcef5713 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CheckProperty.tsx @@ -0,0 +1,239 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { Drawer, Table, Message } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { Tooltip } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import type { MetadataProperty } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; +import { signal } from 'codemirror'; + +const CheckProperty: React.FC = observer(() => { + const { metadataPropertyStore, graphViewStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const [popIndex, setPopIndex] = useState(null); + const deleteWrapperRef = useRef(null); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // note: .new-fc-one-drawer-content-wrapper sometimes only contain one single element? + // however if you capture .new-fc-one-drawer-wrapper-body-container it still returns itself and contains all children + // thus here we capture body-container as drawer + const drawerWrapper = document.querySelector( + '.new-fc-one-drawer-wrapper-body-container' + ); + + const deleteWrapper = document.querySelector('.metadata-graph-tooltips'); + + if ( + graphViewStore.currentDrawer === 'check-property' && + drawerWrapper && + !drawerWrapper.contains(e.target as Element) + ) { + if ( + deleteWrapper === null && + (e.target as Element).className !== + 'metadata-graph-property-manipulation' + ) { + graphViewStore.setCurrentDrawer(''); + } + + if ( + deleteWrapper && + !deleteWrapper.contains(e.target as Element) && + (e.target as Element).className !== + 'metadata-graph-property-manipulation' + ) { + graphViewStore.setCurrentDrawer(''); + } + } + + if ( + popIndex !== null && + deleteWrapper && + !deleteWrapper.contains(e.target as Element) + ) { + setPopIndex(null); + } + }, + [graphViewStore, popIndex] + ); + + const handleCloseDrawer = () => { + graphViewStore.setCurrentDrawer(''); + }; + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, true); + + return () => { + document.removeEventListener('click', handleOutSideClick, true); + }; + }, [handleOutSideClick]); + + const columnConfigs = [ + { + title: t('addition.common.property-name'), + dataIndex: 'name' + }, + { + title: t('addition.common.data-type'), + dataIndex: 'data_type', + render(text: string) { + const realText = text === 'TEXT' ? 'string' : text.toLowerCase(); + + return realText; + } + }, + { + title: t('addition.common.cardinal-number'), + dataIndex: 'cardinality' + }, + { + title: t('addition.operate.operate'), + render(_: any, records: MetadataProperty, index: number) { + return ( + + {metadataPropertyStore.metadataPropertyUsingStatus && + metadataPropertyStore.metadataPropertyUsingStatus[ + records.name + ] ? ( +

+ {t('addition.message.property-using-cannot-delete')} +

+ ) : ( + <> +

{t('addition.message.property-del-confirm')}

+

{t('addition.edge.confirm-del-edge-careful-notice')}

+
+
{ + setPopIndex(null); + await metadataPropertyStore.deleteMetadataProperty([ + records.name + ]); + if ( + metadataPropertyStore.requestStatus + .deleteMetadataProperty === 'success' + ) { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + metadataPropertyStore.fetchMetadataPropertyList(); + } + if ( + metadataPropertyStore.requestStatus + .deleteMetadataProperty === 'failed' + ) { + Message.error({ + content: metadataPropertyStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('addition.common.confirm')} +
+
{ + setPopIndex(null); + }} + > + {t('addition.common.cancel')} +
+
+ + )} + + } + childrenProps={{ + className: 'metadata-graph-property-manipulation', + async onClick() { + await metadataPropertyStore.checkIfUsing([records.name]); + if ( + metadataPropertyStore.requestStatus.checkIfUsing === 'success' + ) { + setPopIndex(index); + } + } + }} + > + {t('addition.common.del')} +
+ ); + } + } + ]; + + return ( + +
+
+ + + ); +}); + +export default CheckProperty; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx new file mode 100644 index 000000000..87268d57b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateEdge.tsx @@ -0,0 +1,1177 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { cloneDeep, isUndefined } from 'lodash-es'; +import { + Drawer, + Button, + Input, + Select, + Switch, + Checkbox, + Tooltip, + Message +} from 'hubble-ui'; + +import { Tooltip as CustomTooltip } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import { EdgeTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; +import { + mapMetadataProperties, + generateGraphModeId, + edgeWidthMapping, + formatVertexIdText +} from '../../../../stores/utils'; +import { useTranslation } from 'react-i18next'; + +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; +import SelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow_selected.svg'; +import NoSelectedSoilidArrowIcon from '../../../../assets/imgs/ic_arrow.svg'; +import SelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight_selected.svg'; +import NoSelectedSoilidStraightIcon from '../../../../assets/imgs/ic_straight.svg'; + +const CreateEdge: React.FC = observer(() => { + const { + metadataPropertyStore, + vertexTypeStore, + edgeTypeStore, + graphViewStore + } = useContext(MetadataConfigsRootStore); + const [isAddNewProperty, switchIsAddNewProperty] = useState(false); + const [deletePopIndex, setDeletePopIndex] = useState(null); + const deleteWrapperRef = useRef(null); + const dropdownWrapperRef = useRef(null); + const { t } = useTranslation(); + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + isAddNewProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddNewProperty(false); + } + + if ( + deletePopIndex && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + setDeletePopIndex(null); + } + }, + [deletePopIndex, isAddNewProperty] + ); + + const handleCloseDrawer = () => { + graphViewStore.setCurrentDrawer(''); + edgeTypeStore.resetNewEdgeType(); + edgeTypeStore.resetAddedPropertiesInSelectedEdgeType(); + }; + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( + { + edgeTypeStore.validateAllNewEdgeType(); + + if (!edgeTypeStore.isCreatedReady) { + return; + } + + const { + name, + source_label, + target_label, + properties, + sort_keys, + style, + ...rest + } = edgeTypeStore.newEdgeType; + + const mappedProperties = mapMetadataProperties( + properties, + metadataPropertyStore.metadataProperties + ); + + graphViewStore.visDataSet!.edges.add({ + ...rest, + id: generateGraphModeId(name, source_label, target_label), + label: name.length <= 15 ? name : name.slice(0, 15) + '...', + from: source_label, + to: target_label, + value: edgeWidthMapping[style.thickness], + font: { size: 16, strokeWidth: 0, color: '#666' }, + arrows: style.with_arrow === true ? 'to' : '', + title: ` + + + ${Object.entries(mappedProperties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + const sortKeyIndex = sort_keys.findIndex( + (sortKey) => sortKey === key + ); + + return ``; + }) + .join('')} + `, + color: { + color: style.color, + highlight: style.color, + hover: style.color + } + }); + + await edgeTypeStore.addEdgeType(); + + if (edgeTypeStore.requestStatus.addEdgeType === 'success') { + edgeTypeStore.fetchEdgeTypeList(); + edgeTypeStore.resetNewEdgeType(); + edgeTypeStore.resetAddedPropertiesInSelectedEdgeType(); + graphViewStore.setCurrentDrawer(''); + + Message.success({ + content: t('addition.newGraphConfig.create-scuccess'), + size: 'medium', + showCloseIcon: false + }); + } + + if (edgeTypeStore.requestStatus.addEdgeType === 'failed') { + Message.error({ + content: edgeTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('addition.newGraphConfig.create')} + , + + ]} + > +
+
+
+
+ {t('addition.menu.base-info')} +
+
+
+ * + {t('addition.common.edge-type-name')}: +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + name: e.value + }); + }} + originInputProps={{ + onBlur() { + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType('name'); + } + }} + /> +
+
+
+ * + {t('addition.common.edge-style')}: +
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ * + {t('addition.common.source-type')}: +
+ +
+ +
+
+ * + {t('addition.common.target-type')}: +
+ +
+ +
+
+ * + {t('addition.common.allow-multiple-connections')}: + + hint + +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + link_multi_times: checked + }); + }} + /> +
+ +
+
+ {edgeTypeStore.newEdgeType.link_multi_times && ( + * + )} + {t('addition.common.association-property')}: +
+
+ {edgeTypeStore.newEdgeType.properties.length !== 0 && ( +
+
+
{t('addition.common.property')}
+
{t('addition.common.allow-null')}
+
+ {edgeTypeStore.newEdgeType.properties.map( + (property, index) => { + const currentProperties = cloneDeep( + edgeTypeStore.newEdgeType.properties + ); + + return ( +
+
{property.name}
+
+ { + currentProperties[index].nullable = + !currentProperties[index].nullable; + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + properties: currentProperties + }); + }} + size="large" + /> +
+
+ ); + } + )} +
+ )} +
{ + switchIsAddNewProperty(!isAddNewProperty); + }} + > + {t('addition.common.add-property')} + toggleAddProperty +
+
+
+ + {isAddNewProperty && ( +
+
+
+ {metadataPropertyStore.metadataProperties.map((property) => ( +
+ + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesIndexInSelectedEdgeType = + edgeTypeStore.addedPropertiesInSelectedEdgeType; + + addedPropertiesIndexInSelectedEdgeType.has( + property.name + ) + ? addedPropertiesIndexInSelectedEdgeType.delete( + property.name + ) + : addedPropertiesIndexInSelectedEdgeType.add( + property.name + ); + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + properties: [ + ...addedPropertiesIndexInSelectedEdgeType + ].map((propertyName) => { + const currentProperty = + edgeTypeStore.newEdgeType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType('properties'); + }} + > + {property.name} + + +
+ ))} +
+
+ )} + + {edgeTypeStore.newEdgeType.link_multi_times && ( +
+
+ * + {t('addition.common.distinguishing-key')}: +
+ +
+ )} +
+
+ * + {t('addition.edge.display-content')}: +
+ +
+
+ + {t('addition.edge.index-info')} + + + hint + +
+ +
+
+ * + {t('addition.menu.type-index')}: +
+ { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + open_label_index: checked + }); + }} + /> +
+ +
+
+ {t('addition.common.property-index')}: +
+
+ {edgeTypeStore.newEdgeType.property_indexes.length !== 0 && ( +
+
+ {t('addition.edge.index-name')} +
+
+ {t('addition.edge.index-type')} +
+
{t('addition.common.property')}
+
+ )} + {edgeTypeStore.newEdgeType.property_indexes.map( + ({ name, type, fields }, index) => ( +
+
+ { + const propertyIndexEntities = cloneDeep( + edgeTypeStore.newEdgeType.property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType( + 'propertyIndexes' + ); + } + }} + /> +
+
+ +
+
+ +
+ + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const propertyIndexEntities = cloneDeep( + edgeTypeStore.newEdgeType.property_indexes + ); + + propertyIndexEntities.splice(index, 1); + + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: propertyIndexEntities + }); + + edgeTypeStore.validateAllNewEdgeType(true); + edgeTypeStore.validateNewEdgeType( + 'propertyIndexes' + ); + + setDeletePopIndex(null); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeletePopIndex(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: closeIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeletePopIndex(index); + } + }} + childrenWrapperElement="img" + /> +
+ ) + )} + { + if ( + edgeTypeStore.newEdgeType.property_indexes.length === 0 || + edgeTypeStore.isAddNewPropertyIndexReady + ) { + edgeTypeStore.mutateNewEdgeType({ + ...edgeTypeStore.newEdgeType, + property_indexes: [ + ...edgeTypeStore.newEdgeType.property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + edgeTypeStore.validateAllNewEdgeType(true); + // set isAddNewPropertyIndexReady to false + edgeTypeStore.validateNewEdgeType( + 'propertyIndexes', + true + ); + } + }} + style={{ + cursor: 'pointer', + color: edgeTypeStore.isAddNewPropertyIndexReady + ? '#2b65ff' + : '#999', + lineHeight: '32px' + }} + > + {t('addition.edge.add-group')} + +
+
+
+
+ +
+ ); +}); + +export default CreateEdge; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx new file mode 100644 index 000000000..b4b2d23c8 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateProperty.tsx @@ -0,0 +1,215 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext } from 'react'; +import { observer } from 'mobx-react'; +import { Drawer, Button, Input, Select, Message } from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +const dataTypeOptions = [ + 'string', + 'boolean', + 'byte', + 'int', + 'long', + 'float', + 'double', + 'date', + 'uuid', + 'blob' +]; + +const cardinalityOptions = ['single', 'list', 'set']; + +const CreateProperty: React.FC = observer(() => { + const { metadataPropertyStore, graphViewStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const handleCloseDrawer = () => { + graphViewStore.setCurrentDrawer(''); + metadataPropertyStore.resetNewProperties(); + metadataPropertyStore.resetValidateNewProperty(); + }; + + return ( + { + metadataPropertyStore.validateNewProperty(); + + if (!metadataPropertyStore.isCreatedReady) { + return; + } + + await metadataPropertyStore.addMetadataProperty(); + + if ( + metadataPropertyStore.requestStatus.addMetadataProperty === + 'success' + ) { + graphViewStore.setCurrentDrawer(''); + + Message.success({ + content: t('addition.newGraphConfig.create-scuccess'), + size: 'medium', + showCloseIcon: false + }); + } + + if ( + metadataPropertyStore.requestStatus.addMetadataProperty === + 'failed' + ) { + Message.error({ + content: metadataPropertyStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + + metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); + metadataPropertyStore.resetNewProperties(); + }} + > + {t('addition.newGraphConfig.create')} + , + + ]} + > +
+
+
+
+
+ * + {t('addition.common.property-name')}: +
+ { + metadataPropertyStore.mutateNewProperty({ + ...metadataPropertyStore.newMetadataProperty, + _name: e.value + }); + + metadataPropertyStore.validateNewProperty(); + }} + originInputProps={{ + // no autofocus here, it will automatically dispatch blur action + onBlur() { + metadataPropertyStore.validateNewProperty(); + } + }} + /> +
+
+
+ * + {t('addition.common.data-type')}: +
+ +
+
+
+ * + {t('addition.common.cardinal-number')}: +
+ +
+
+
+
+
+ ); +}); + +export default CreateProperty; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx new file mode 100644 index 000000000..9a40be4ee --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/CreateVertex.tsx @@ -0,0 +1,1142 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { cloneDeep, isUndefined } from 'lodash-es'; +import { + Drawer, + Button, + Input, + Select, + Radio, + Switch, + Checkbox, + Tooltip, + Message +} from 'hubble-ui'; + +import { Tooltip as CustomTooltip } from '../../../common'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import { + vertexRadiusMapping, + mapMetadataProperties, + formatVertexIdText +} from '../../../../stores/utils'; +import { useTranslation } from 'react-i18next'; + +import type { VertexTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; +import { clearObserving } from 'mobx/lib/internal'; + +const CreateVertex: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { metadataPropertyStore, vertexTypeStore, graphViewStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const [isAddNewProperty, switchIsAddNewProperty] = useState(false); + const [deletePopIndex, setDeletePopIndex] = useState(null); + const deleteWrapperRef = useRef(null); + const dropdownWrapperRef = useRef(null); + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + isAddNewProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddNewProperty(false); + } + + if ( + deletePopIndex && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + setDeletePopIndex(null); + } + }, + [deletePopIndex, isAddNewProperty] + ); + + const handleCloseDrawer = () => { + graphViewStore.setCurrentDrawer(''); + vertexTypeStore.resetNewVertextType(); + vertexTypeStore.resetAddedPropertiesInSelectedVertextType(); + }; + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( + { + vertexTypeStore.validateAllNewVertexType(); + + if (!vertexTypeStore.isCreatedReady) { + return; + } + + const { + name, + properties, + primary_keys, + style, + ...rest + } = vertexTypeStore.newVertexType; + + const mappedProperties = mapMetadataProperties( + properties, + metadataPropertyStore.metadataProperties + ); + + graphViewStore.visDataSet!.nodes.add({ + ...rest, + id: name, + label: name.length <= 15 ? name : name.slice(0, 15) + '...', + vLabel: name, + properties, + value: vertexRadiusMapping[style.size], + font: { size: 16 }, + title: ` + + + ${Object.entries(mappedProperties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + const primaryKeyIndex = primary_keys.findIndex( + (primaryKey) => primaryKey === key + ); + + return ``; + }) + .join('')} + `, + color: { + background: style.color, + border: style.color, + highlight: { + background: '#fb6a02', + border: '#fb6a02' + }, + hover: { background: '#ec3112', border: '#ec3112' } + }, + // reveal label when zoom to max + scaling: { + label: { + max: Infinity, + maxVisible: Infinity + } + }, + chosen: { + node( + values: any, + id: string, + selected: boolean, + hovering: boolean + ) { + if (hovering || selected) { + values.shadow = true; + values.shadowColor = 'rgba(0, 0, 0, 0.6)'; + values.shadowX = 0; + values.shadowY = 0; + values.shadowSize = 25; + } + + if (selected) { + values.size += 5; + } + } + } + }); + + await vertexTypeStore.addVertexType(); + + if (vertexTypeStore.requestStatus.addVertexType === 'success') { + vertexTypeStore.fetchVertexTypeList(); + vertexTypeStore.resetNewVertextType(); + vertexTypeStore.resetAddedPropertiesInSelectedVertextType(); + graphViewStore.setCurrentDrawer(''); + + Message.success({ + content: t('addition.newGraphConfig.create-scuccess'), + size: 'medium', + showCloseIcon: false + }); + + // if vertex is empty before, trigger re-render here to reveal + if (graphViewStore.isGraphVertexEmpty) { + graphViewStore.switchGraphDataEmpty(false); + // need to get node colors again since fetchGraphViewData() will cause re-render in + // the graph use graphNode() rather than local added node + await dataAnalyzeStore.fetchAllNodeStyle(); + graphViewStore.fetchGraphViewData( + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.vertexWritingMappings, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings + ); + } + return; + } + + if (vertexTypeStore.requestStatus.addVertexType === 'failed') { + Message.error({ + content: vertexTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + }} + > + {t('addition.newGraphConfig.create')} + , + + ]} + > +
+
+
+
+ {t('addition.menu.base-info')} +
+
+
+ * + {t('addition.vertex.vertex-type-name')}: +
+ { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + name: e.value + }); + }} + originInputProps={{ + onBlur() { + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('name'); + } + }} + /> +
+
+
+ * + {t('addition.vertex.vertex-style')}: +
+
+ +
+
+ +
+
+
+
+ * + {t('addition.common.id-strategy')}: +
+ ) => { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + id_strategy: e.target.value + }); + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('primaryKeys'); + }} + > + + {t('addition.constant.primary-key-id')} + + + {t('addition.constant.automatic-generation')} + + + {t('addition.constant.custom-string')} + + + {t('addition.constant.custom-number')} + + + {t('addition.constant.custom-uuid')} + + +
+
+
+ {vertexTypeStore.newVertexType.id_strategy === + 'PRIMARY_KEY' && ( + * + )} + {t('addition.common.association-property')}: +
+
+ {vertexTypeStore.newVertexType.properties.length !== 0 && ( +
+
+
{t('addition.common.property')}
+
{t('addition.common.allow-null')}
+
+ {vertexTypeStore.newVertexType.properties.map( + (property, index) => { + const currentProperties = cloneDeep( + vertexTypeStore.newVertexType.properties + ); + + return ( +
+
{property.name}
+
+ { + currentProperties[ + index + ].nullable = !currentProperties[index] + .nullable; + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + properties: currentProperties + }); + }} + size="large" + /> +
+
+ ); + } + )} +
+ )} +
{ + switchIsAddNewProperty(!isAddNewProperty); + }} + > + {t('addition.common.add-property')} + toggleAddProperty +
+
+
+ + {isAddNewProperty && ( +
+
+
+ {metadataPropertyStore.metadataProperties.map((property) => ( +
+ + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + vertexTypeStore.addedPropertiesInSelectedVertextType; + + addedPropertiesInSelectedVertextType.has( + property.name + ) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = vertexTypeStore.newVertexType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('properties'); + }} + > + {property.name} + + +
+ ))} +
+
+ )} + + {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( +
+
+ * + {t('addition.common.primary-key-property')}: +
+ +
+ )} + +
+
+ * + {t('addition.vertex.vertex-display-content')}: +
+ +
+ +
+ + {t('addition.edge.index-info')} + + + hint + +
+ +
+
+ * + {t('addition.menu.type-index')}: +
+ { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + open_label_index: !vertexTypeStore.newVertexType + .open_label_index + }); + }} + size="large" + /> +
+ +
+
+ {t('addition.common.property-index')}: +
+
+ {vertexTypeStore.newVertexType.property_indexes.length !== + 0 && ( +
+
+ {t('addition.edge.index-name')} +
+
+ {t('addition.edge.index-type')} +
+
{t('addition.common.property')}
+
+ )} + {vertexTypeStore.newVertexType.property_indexes.map( + ({ name, type, fields }, index) => ( +
+
+ { + const propertyIndexEntities = cloneDeep( + vertexTypeStore.newVertexType.property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType( + 'propertyIndexes' + ); + } + }} + /> +
+
+ +
+
+ +
+ + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const propertyIndexEntities = cloneDeep( + vertexTypeStore.newVertexType + .property_indexes + ); + + propertyIndexEntities.splice(index, 1); + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: propertyIndexEntities + }); + + vertexTypeStore.validateAllNewVertexType( + true + ); + vertexTypeStore.validateNewVertexType( + 'propertyIndexes' + ); + + setDeletePopIndex(null); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeletePopIndex(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: closeIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeletePopIndex(index); + } + }} + childrenWrapperElement="img" + /> +
+ ) + )} + { + if ( + vertexTypeStore.newVertexType.property_indexes.length === + 0 || + vertexTypeStore.isAddNewPropertyIndexReady + ) { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: [ + ...vertexTypeStore.newVertexType.property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + vertexTypeStore.validateAllNewVertexType(true); + // set isAddNewPropertyIndexReady to false + vertexTypeStore.validateNewVertexType( + 'propertyIndexes', + true + ); + } + }} + style={{ + cursor: 'pointer', + color: vertexTypeStore.isAddNewPropertyIndexReady + ? '#2b65ff' + : '#999', + lineHeight: '32px' + }} + > + {t('addition.edge.add-group')} + +
+
+
+
+ +
+ ); +}); + +export default CreateVertex; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.less new file mode 100644 index 000000000..3b01eb15e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.less @@ -0,0 +1,178 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.metadata-graph { + &-drawer-wrapper { + .metadata-graph-drawer { + &-title { + font-family: + 'PingFangSC-Medium', + 'Microsoft YaHei Bold', + '微软雅黑', + Arial, + sans-serif; + width: 115px; + font-weight: bold; + margin-bottom: 16px; + text-align: right; + word-break: keep-all; + } + + &-manipulations, + &-options { + margin-bottom: 32px; + display: flex; + align-items: center; + + &-name { + width: 125px; + margin-right: 43.9px; + text-align: right; + color: #333; + font-size: 14px; + word-break: keep-all; + line-height: 32px; + } + + &-expands { + font-size: 14px; + color: #333; + } + } + } + } + + &-view-wrapper { + height: calc(100vh - 222px); + overflow: hidden; + } + + &-view { + margin: -1px; + } + + &-view-empty-wrapper { + height: calc(100vh - 222px); + display: flex; + justify-content: center; + align-items: center; + } + + &-view-empty { + display: flex; + flex-direction: column; + align-items: center; + font-size: 14px; + color: #333; + } + + &-loading { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: 100%; + } + + &-loading-bg { + width: 144px; + height: 144px; + position: relative; + margin-bottom: 10px; + } + + &-loading-back { + position: absolute; + left: 22px; + top: 20px; + } + + &-loading-front { + position: absolute; + left: 57.1px; + top: 52.1px; + animation: loading-rotate 2s linear infinite; + } + + @keyframes loading-rotate { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } + } + + &-property-manipulation { + font-size: 14px; + color: #2b65ff; + cursor: pointer; + + &:hover { + color: #527dff; + } + + &:active { + color: #184bcc; + } + } + + &-tooltips { + background: #fff; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + border-radius: 3px; + padding: 16px; + font-size: 14px; + color: #333; + + &-title { + font-size: 16px; + font-weight: 900; + margin-bottom: 16px; + } + } +} + +/* override */ + +// refer to index.less in root dir, this should be fixed in future +.metadata-graph-drawer-wrapper { + .new-fc-one-input-all-container { + position: relative; + } +} + +.metadata-graph-drawer-options-colors { + margin-left: 12px; +} + +.metadata-graph-drawer-options-color { + width: 20px; + height: 20px; +} + +.metadata-graph-drawer-options .metadata-graph-drawer-options-color { + margin-top: 6px; +} + +// refer to NewVertexType.less, color option style in dropdown +.new-fc-one-select-dropdown-menu-container .metadata-graph-drawer-options-color { + width: 20px; + height: 20px; + margin: 6px auto; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx new file mode 100644 index 000000000..bc2c17536 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/GraphView.tsx @@ -0,0 +1,477 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { isEmpty } from 'lodash-es'; +import vis from 'vis-network'; +import 'vis-network/styles/vis-network.min.css'; +import { Button } from 'hubble-ui'; + +import CreateProperty from './CreateProperty'; +import CreateVertex from './CreateVertex'; +import CreateEdge from './CreateEdge'; +import CheckAndEditVertex from './CheckAndEditVertex'; +import CheckAndEditEdge from './CheckAndEditEdge'; +import CheckProperty from './CheckProperty'; + +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import { generateGraphModeId } from '../../../../stores/utils'; + +import AddIcon from '../../../../assets/imgs/ic_add.svg'; +import LoadingBackIcon from '../../../../assets/imgs/ic_loading_back.svg'; +import LoadingFrontIcon from '../../../../assets/imgs/ic_loading_front.svg'; +import { useTranslation } from 'react-i18next'; + +import '../../data-analyze/DataAnalyze.less'; +import './GraphView.less'; + +const styles = { + marginLeft: '12px' +}; + +const GraphView: React.FC = observer(() => { + const { + metadataPropertyStore, + vertexTypeStore, + edgeTypeStore, + graphViewStore + } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + useEffect(() => { + metadataPropertyStore.fetchMetadataPropertyList({ + fetchAll: true + }); + + vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); + edgeTypeStore.fetchEdgeTypeList({ fetchAll: true }); + + return () => { + metadataPropertyStore.dispose(); + vertexTypeStore.dispose(); + edgeTypeStore.dispose(); + }; + }, [edgeTypeStore, graphViewStore, metadataPropertyStore, vertexTypeStore]); + + return ( +
+
+ + + + {/* .outsideClick need id to specify logic here */} + {!isEmpty(metadataPropertyStore.metadataProperties) && ( +
+ +
+ )} +
+ {/* note: components below all have graphView.currentDrawer in render + * if use && at here it will dispatch re-render in this component + * which cause all components below to re-render either + */} + + + + + + + +
+ ); +}); + +const GraphDataView: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { + metadataPropertyStore, + vertexTypeStore, + edgeTypeStore, + graphViewStore + } = useContext(MetadataConfigsRootStore); + const [graph, setGraph] = useState(null); + const [showLoadingGraphs, switchShowLoadingGraphs] = useState(true); + const [isGraphDataLoaded, switchIsGraphLoaded] = useState(false); + const { t } = useTranslation(); + const graphWrapper = useRef(null); + const resultWrapper = useRef(null); + + const redrawGraphs = useCallback(() => { + if (graph) { + // list mode may has scrollbar + // when switch to graph mode, scrollbar hides quickly but resize event cannot dispatch + // at this scenario we have to manually calculate the width + // however when set resultWrapper style with overflow: hidden + // window.innerWidth equals to document.body.scrollWidth + // no need to write code below: + + // let width: string; + // if (window.innerWidth - document.body.scrollWidth > 0) { + // width = String(window.innerWidth - 126) + 'px'; + // } else { + // width = getComputedStyle(resultWrapper.current!).width as string; + // } + + if ( + graphViewStore.originalGraphViewData !== null && + graphViewStore.originalGraphViewData.vertices.length === 0 && + graphViewStore.originalGraphViewData.edges.length === 0 + ) { + graph.setSize('0', '0'); + graph.redraw(); + return; + } + + const width = + String( + Number( + (getComputedStyle(resultWrapper.current!).width as string).split( + 'px' + )[0] + ) + 2 + ) + 'px'; + const height = + String( + Number( + (getComputedStyle(resultWrapper.current!).height as string).split( + 'px' + )[0] + ) + 2 + ) + 'px'; + + graph.setSize(width, height); + graph.redraw(); + } + }, [graph, graphViewStore.originalGraphViewData]); + + useEffect(() => { + graphViewStore.fetchGraphViewData( + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.vertexWritingMappings, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings + ); + + return () => { + graphViewStore.dispose(); + }; + }, [ + dataAnalyzeStore.colorMappings, + dataAnalyzeStore.vertexSizeMappings, + dataAnalyzeStore.vertexWritingMappings, + dataAnalyzeStore.edgeColorMappings, + dataAnalyzeStore.edgeThicknessMappings, + dataAnalyzeStore.edgeWithArrowMappings, + dataAnalyzeStore.edgeWritingMappings, + graphViewStore + ]); + + useEffect(() => { + const graphNodes = new vis.DataSet(graphViewStore.graphNodes); + const graphEdges = new vis.DataSet(graphViewStore.graphEdges); + + if (!graph) { + const data = { + nodes: graphNodes, + edges: graphEdges + }; + + const layout: vis.Options = { + nodes: { + shape: 'dot' + }, + edges: { + arrowStrikethrough: false, + color: { + color: 'rgba(92, 115, 230, 0.8)', + hover: 'rgba(92, 115, 230, 1)', + highlight: 'rgba(92, 115, 230, 1)' + }, + scaling: { + min: 1, + max: 3, + label: { + enabled: false + } + } + }, + interaction: { + hover: true + }, + physics: { + maxVelocity: 50, + solver: 'forceAtlas2Based', + forceAtlas2Based: { + avoidOverlap: 0 + }, + timestep: 0.3, + stabilization: { iterations: 150 } + } + }; + + if (graphWrapper.current !== null) { + const network = new vis.Network(graphWrapper!.current, data, layout); + + network.on('click', ({ nodes, edges }) => { + // click on node, note that edges(related) also has value + if (!isEmpty(nodes)) { + // note: cannot abstract switchClickOn...() and clearTimeout + // as common callings with node and edge, since click event + // would be dispatched even if click is not on node and edge + // dataAnalyzeStore.switchClickOnNodeOrEdge(true); + // clearTimeout(timer); + + // caution: nodeId is automatically converted to number + const nodeId = nodes[0]; + + if (graphViewStore.graphViewData !== null) { + const index = vertexTypeStore.vertexTypes.findIndex( + (vertex) => vertex.name === String(nodeId) + ); + + if (index === -1) { + return; + } + + vertexTypeStore.selectVertexType(index); + + // check also needs style infos + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + style: { + color: vertexTypeStore.selectedVertexType!.style.color, + icon: null, + size: vertexTypeStore.selectedVertexType!.style.size, + display_fields: vertexTypeStore.selectedVertexType!.style + .display_fields + } + }); + + graphViewStore.setCurrentDrawer('check-vertex'); + graphViewStore.switchNodeOrEdgeClicked(true); + + // check if vertex type being used + vertexTypeStore.checkIfUsing([ + vertexTypeStore.selectedVertexType!.name + ]); + } + + return; + } + + if (!isEmpty(edges)) { + const edgeId = edges[0]; + + if (graphViewStore.graphViewData !== null) { + const index = edgeTypeStore.edgeTypes.findIndex( + (edge) => + generateGraphModeId( + edge.name, + edge.source_label, + edge.target_label + ) === edgeId + ); + + if (index === -1) { + return; + } + + edgeTypeStore.selectEdgeType(index); + // check also needs style infos + edgeTypeStore.mutateEditedSelectedEdgeType({ + ...edgeTypeStore.editedSelectedEdgeType, + style: { + color: edgeTypeStore.selectedEdgeType!.style.color, + icon: null, + with_arrow: edgeTypeStore.selectedEdgeType!.style.with_arrow, + thickness: edgeTypeStore.selectedEdgeType!.style.thickness, + display_fields: edgeTypeStore.selectedEdgeType!.style + .display_fields + } + }); + + graphViewStore.setCurrentDrawer('check-edge'); + graphViewStore.switchNodeOrEdgeClicked(true); + } + } + }); + + network.on('dragEnd', (e) => { + if (!isEmpty(e.nodes)) { + network.unselectAll(); + } + }); + + network.once('stabilizationIterationsDone', () => { + switchShowLoadingGraphs(false); + }); + + setGraph(network); + graphViewStore.setVisNetwork(network); + } + } else { + // if graph view data arrives, init to graph + if (graphViewStore.originalGraphViewData !== null && !isGraphDataLoaded) { + // switchIsGraphLoaded(true); + + graph.setData({ + nodes: graphNodes, + edges: graphEdges + }); + + graphViewStore.setVisDataSet({ + nodes: graphNodes, + edges: graphEdges + }); + } + + redrawGraphs(); + } + }, [ + graph, + graphViewStore.graphEdges, + graphViewStore.graphNodes, + redrawGraphs, + vertexTypeStore, + edgeTypeStore, + graphViewStore, + isGraphDataLoaded + ]); + + useEffect(() => { + window.addEventListener('resize', redrawGraphs, false); + + return () => { + window.removeEventListener('resize', redrawGraphs); + }; + }, [redrawGraphs]); + + return ( + <> +
+
+ {graphViewStore.requestStatus.fetchGraphViewData === 'pending' && ( +
+
+ {t('addition.operate.load-background')} + {t('addition.operate.load-spinner')} +
+ {t('addition.message.data-loading')}... +
+ )} + {graphViewStore.requestStatus.fetchGraphViewData === 'success' && + showLoadingGraphs && + (!isEmpty(graphViewStore.originalGraphViewData!.vertices) || + !isEmpty(graphViewStore.originalGraphViewData!.edges)) && ( +
+
+ {t('addition.operate.load-background')} + {t('addition.operate.load-spinner')} +
+ {t('addition.operate.rendering')}... +
+ )} + {graphViewStore.requestStatus.fetchGraphViewData === 'success' && + graphViewStore.isGraphVertexEmpty && + isEmpty(graphViewStore.originalGraphViewData!.vertices) && + isEmpty(graphViewStore.originalGraphViewData!.edges) && ( + + )} +
+ + ); +}); + +const EmptyGraphDataView: React.FC<{ hasProeprties: boolean }> = observer( + ({ hasProeprties }) => { + const { t } = useTranslation(); + return ( +
+
+ {t('addition.message.no-metadata-notice')} +
+ {hasProeprties + ? t('addition.message.no-vertex-or-edge-notice') + : t('addition.message.no-metadata-notice')} +
+
+
+ ); + } +); + +export default GraphView; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/index.ts new file mode 100644 index 000000000..22850d2f3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/graph-view/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import GraphView from './GraphView'; + +export { GraphView }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/index.ts new file mode 100644 index 000000000..b242a5f99 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import MetadataConfigs from './MetadataConfigs'; + +export { MetadataConfigs }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less new file mode 100644 index 000000000..a3329baee --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.less @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.vertex-index-wrapper { + width: 100%; + background: #fff; + border-radius: 0 3px 3px 3px; + padding: 16px; +} + +.vertex-index-tab-wrapper { + display: flex; + width: 100%; + margin-top: 16px; + + & > .vertex-index-tab-index { + padding: 10px 25px; + height: 40px; + color: #333; + font-size: 14px; + text-align: center; + line-height: 20px; + cursor: pointer; + + &.active { + background-color: #fff; + color: #2b65ff; + border-radius: 3px 3px 0 0; + } + } +} + +.vertex-index-search-highlights { + background: transparent; + color: #2b65ff; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx new file mode 100644 index 000000000..02502337d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/PropertyIndex.tsx @@ -0,0 +1,307 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import Highlighter from 'react-highlight-words'; +import { motion } from 'framer-motion'; +import { Input, Table } from 'hubble-ui'; + +import { LoadingDataView } from '../../../common'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import './PropertyIndex.less'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +const variants = { + initial: { + opacity: 0 + }, + animate: { + opacity: 1, + transition: { + duration: 0.7 + } + }, + exit: { + opacity: 0, + transition: { + duration: 0.3 + } + } +}; + +const IndexTypeMappings: Record = { + SECONDARY: i18next.t('addition.menu.secondary-index'), + RANGE: i18next.t('addition.menu.range-index'), + SEARCH: i18next.t('addition.menu.full-text-index') +}; + +const PropertyIndex: React.FC = observer(() => { + const { metadataPropertyIndexStore } = useContext(MetadataConfigsRootStore); + const [preLoading, switchPreLoading] = useState(true); + const [currentTab, switchCurrentTab] = useState<'vertex' | 'edge'>('vertex'); + const { t } = useTranslation(); + const isLoading = + preLoading || + metadataPropertyIndexStore.requestStatus.fetchMetadataPropertIndexes === + 'pending'; + + const handleSearchChange = (e: React.ChangeEvent) => { + metadataPropertyIndexStore.mutateSearchWords(e.target.value); + }; + + const handleSearch = () => { + metadataPropertyIndexStore.mutatePageNumber(1); + metadataPropertyIndexStore.switchIsSearchedStatus(true); + metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); + }; + + const handleClearSearch = () => { + metadataPropertyIndexStore.mutateSearchWords(''); + metadataPropertyIndexStore.mutatePageNumber(1); + metadataPropertyIndexStore.switchIsSearchedStatus(false); + metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); + }; + + const handlePageNumberChange = (e: React.ChangeEvent) => { + metadataPropertyIndexStore.mutatePageNumber(Number(e.target.value)); + metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); + }; + + useEffect(() => { + setTimeout(() => { + switchPreLoading(false); + }, 500); + }, [currentTab]); + + useEffect(() => { + metadataPropertyIndexStore.fetchMetadataPropertIndexes(currentTab); + + return () => { + metadataPropertyIndexStore.dispose(); + }; + }, [currentTab, metadataPropertyIndexStore]); + + const columnConfigs = [ + { + title: + currentTab === 'vertex' + ? t('addition.vertex.vertex-type-name') + : t('addition.common.edge-type-name'), + dataIndex: 'owner', + render(text: string, records: any[], index: number) { + if (metadataPropertyIndexStore.collpaseInfo === null) { + // need highlighter here since searched result could be one row + return ( + + ); + } + + const [collpaseStartIndexes, collpaseNumbers] = + metadataPropertyIndexStore.collpaseInfo; + + const startIndex = collpaseStartIndexes.findIndex( + (indexNumber) => indexNumber === index + ); + + return startIndex !== -1 + ? { + children: ( +
+ +
+ ), + props: { + rowSpan: collpaseNumbers[startIndex] + } + } + : { + children: ( +
+ +
+ ), + props: { + rowSpan: 0 + } + }; + } + }, + { + title: t('addition.edge.index-name'), + dataIndex: 'name', + render(text: string) { + return ( +
+ +
+ ); + } + }, + { + title: t('addition.edge.index-type'), + dataIndex: 'type', + render(text: string) { + return IndexTypeMappings[text]; + } + }, + { + title: t('addition.common.property'), + dataIndex: 'fields', + render(properties: string[]) { + return ( +
+ +
+ ); + } + } + ]; + + return ( + +
+
{ + if (currentTab !== 'vertex') { + metadataPropertyIndexStore.fetchMetadataPropertIndexes('vertex'); + } + + metadataPropertyIndexStore.mutateSearchWords(''); + metadataPropertyIndexStore.mutatePageNumber(1); + metadataPropertyIndexStore.switchIsSearchedStatus(false); + switchCurrentTab('vertex'); + switchPreLoading(true); + }} + className={ + currentTab === 'vertex' + ? 'vertex-index-tab-index active' + : 'vertex-index-tab-index' + } + > + {t('addition.vertex.vertex-index')} +
+
{ + if (currentTab !== 'edge') { + metadataPropertyIndexStore.fetchMetadataPropertIndexes('edge'); + } + + metadataPropertyIndexStore.mutateSearchWords(''); + metadataPropertyIndexStore.mutatePageNumber(1); + metadataPropertyIndexStore.switchIsSearchedStatus(false); + switchCurrentTab('edge'); + switchPreLoading(true); + }} + className={ + currentTab === 'edge' + ? 'vertex-index-tab-index active' + : 'vertex-index-tab-index' + } + > + {t('addition.edge.edge-index')} +
+
+
+
+ +
+
{t('addition.common.no-result')} + ) : ( + {t('addition.message.no-index-notice')} + ) + } + /> + ) + }} + dataSource={ + isLoading ? [] : metadataPropertyIndexStore.metadataPropertyIndexes + } + pagination={ + isLoading + ? null + : { + hideOnSinglePage: false, + pageNo: + metadataPropertyIndexStore.metadataPropertyIndexPageConfig + .pageNumber, + pageSize: 10, + showSizeChange: false, + showPageJumper: false, + total: + metadataPropertyIndexStore.metadataPropertyIndexPageConfig + .pageTotal, + onPageNoChange: handlePageNumberChange + } + } + /> + + + ); +}); + +export default PropertyIndex; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/index.ts new file mode 100644 index 000000000..e851e9b3d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property-index/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import PropertyIndex from './PropertyIndex'; + +export { PropertyIndex }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.less new file mode 100644 index 000000000..cdcdbff7f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.less @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.metadata-configs { + .metadata-properties { + &-selected-reveals { + width: 100%; + height: 40px; + padding: 0 16px; + display: flex; + background: #2b65ff; + border-radius: 3px 3px 0 0; + font-size: 14px; + align-items: center; + color: #fff; + + & > div { + margin-right: 12px; + } + + & > img { + margin-left: auto; + cursor: pointer; + } + } + + &-manipulation { + font-size: 14px; + color: #2b65ff; + cursor: pointer; + + &:hover { + color: #527dff; + } + + &:active { + color: #184bcc; + } + } + + &-search-highlights { + background: transparent; + color: #2b65ff; + cursor: pointer; + } + } +} + +.metadata-properties-modal { + &-title { + display: flex; + justify-content: space-between; + margin-bottom: 20px; + + & > img { + cursor: pointer; + } + } + + &-description { + margin-bottom: 16px; + color: #333; + } +} + +.property-status-not-used { + width: 58px; + height: 28px; + background: #f2fff4; + border: 1px solid #7ed988; + border-radius: 2px; + font-size: 14px; + color: #39bf45; + letter-spacing: 0; + line-height: 28px; + text-align: center; +} + +.property-status-is-using { + width: 58px; + height: 28px; + background: #fff2f2; + border: 1px solid #ff9499; + border-radius: 2px; + font-size: 14px; + color: #e64552; + letter-spacing: 0; + line-height: 28px; + text-align: center; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx new file mode 100644 index 000000000..52537647b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/MetadataProperties.tsx @@ -0,0 +1,912 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { intersection, size, without, values } from 'lodash-es'; +import { motion } from 'framer-motion'; +import { + Input, + Button, + Table, + Modal, + Select, + Message, + Loading +} from 'hubble-ui'; +import Highlighter from 'react-highlight-words'; + +import { Tooltip, LoadingDataView } from '../../../common'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import type { MetadataProperty } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import AddIcon from '../../../../assets/imgs/ic_add.svg'; +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; +import './MetadataProperties.less'; +import ReuseProperties from './ReuseProperties'; +import { useTranslation } from 'react-i18next'; + +const styles = { + button: { + marginLeft: '12px', + width: 78 + }, + extraMargin: { + marginRight: 4 + }, + deleteWrapper: { + display: 'flex', + justifyContent: 'flex-end' + }, + loading: { + padding: 0, + marginRight: 4 + } +}; + +const dataTypeOptions = [ + 'string', + 'boolean', + 'byte', + 'int', + 'long', + 'float', + 'double', + 'date', + 'uuid', + 'blob' +]; + +const cardinalityOptions = ['single', 'list', 'set']; + +const variants = { + initial: { + opacity: 0 + }, + animate: { + opacity: 1, + transition: { + duration: 0.7 + } + }, + exit: { + opacity: 0, + transition: { + duration: 0.3 + } + } +}; + +const MetadataProperties: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { t } = useTranslation(); + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { metadataPropertyStore, graphViewStore } = metadataConfigsRootStore; + const [preLoading, switchPreLoading] = useState(true); + const [sortOrder, setSortOrder] = useState(''); + const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); + const [isShowModal, switchShowModal] = useState(false); + + const isLoading = + preLoading || + metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'pending'; + + const currentSelectedRowKeys = intersection( + selectedRowKeys, + metadataPropertyStore.metadataProperties.map(({ name }) => name) + ); + + const printError = () => { + Message.error({ + content: metadataPropertyStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + }; + + const handleSearchChange = (e: React.ChangeEvent) => { + metadataPropertyStore.mutateSearchWords(e.target.value); + }; + + const handleSearch = async () => { + metadataPropertyStore.mutatePageNumber(1); + metadataPropertyStore.switchIsSearchedStatus(true); + await metadataPropertyStore.fetchMetadataPropertyList(); + + if ( + metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'failed' + ) { + printError(); + } + }; + + const handleClearSearch = () => { + metadataPropertyStore.mutateSearchWords(''); + metadataPropertyStore.mutatePageNumber(1); + metadataPropertyStore.switchIsSearchedStatus(false); + metadataPropertyStore.fetchMetadataPropertyList(); + }; + + const handleSelectedTableRow = ( + newSelectedRowKeys: string[], + selectedRows: MetadataProperty[] + ) => { + mutateSelectedRowKeys(newSelectedRowKeys); + // mutateSelectedRowKeys(selectedRows.map(({ name }) => name)); + }; + + const handleSortClick = () => { + switchPreLoading(true); + + if (sortOrder === 'descend') { + metadataPropertyStore.mutatePageSort('asc'); + setSortOrder('ascend'); + } else { + metadataPropertyStore.mutatePageSort('desc'); + setSortOrder('descend'); + } + + metadataPropertyStore.fetchMetadataPropertyList(); + }; + + const handlePageChange = async (e: React.ChangeEvent) => { + // mutateSelectedRowKeys([]); + metadataPropertyStore.mutatePageNumber(Number(e.target.value)); + await metadataPropertyStore.fetchMetadataPropertyList(); + + if ( + metadataPropertyStore.requestStatus.fetchMetadataPropertyList === 'failed' + ) { + printError(); + } + }; + + const batchDeleteProperties = async () => { + if ( + values(currentSelectedRowKeys).every( + (key) => metadataPropertyStore.metadataPropertyUsingStatus?.[key] + ) + ) { + Message.error({ + content: t('addition.message.no-property-can-delete'), + size: 'medium', + showCloseIcon: false + }); + + return; + } + + switchShowModal(false); + // need to set a copy in store since local row key state would be cleared + metadataPropertyStore.mutateSelectedMetadataProperyNames( + currentSelectedRowKeys + ); + // mutateSelectedRowKeys([]); + await metadataPropertyStore.deleteMetadataProperty(currentSelectedRowKeys); + // metadataPropertyStore.mutateSelectedMetadataProperyNames([]); + + if ( + metadataPropertyStore.requestStatus.deleteMetadataProperty === 'success' + ) { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + + mutateSelectedRowKeys( + without(selectedRowKeys, ...currentSelectedRowKeys) + ); + + await metadataPropertyStore.fetchMetadataPropertyList(); + + // fetch previous page data if it's empty + if ( + metadataPropertyStore.requestStatus.fetchMetadataPropertyList === + 'success' && + size(metadataPropertyStore.metadataProperties) === 0 && + metadataPropertyStore.metadataPropertyPageConfig.pageNumber > 1 + ) { + metadataPropertyStore.mutatePageNumber( + metadataPropertyStore.metadataPropertyPageConfig.pageNumber - 1 + ); + + metadataPropertyStore.fetchMetadataPropertyList(); + } + + return; + } + + if ( + metadataPropertyStore.requestStatus.deleteMetadataProperty === 'failed' + ) { + printError(); + } + }; + + // hack: need to call @observable at here to dispatch re-render by mobx + // since @action in onBlur() in doesn't dispatch re-render + metadataPropertyStore.validateNewPropertyErrorMessage.name.toLowerCase(); + + const columnConfigs = [ + { + title: t('addition.common.property-name'), + dataIndex: 'name', + width: '45%', + sorter: true, + sortOrder, + render(text: string, records: any, index: number) { + if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { + return ( + { + metadataPropertyStore.mutateNewProperty({ + ...metadataPropertyStore.newMetadataProperty, + _name: e.value + }); + + metadataPropertyStore.validateNewProperty(); + }} + originInputProps={{ + autoFocus: 'autoFocus', + onBlur() { + metadataPropertyStore.validateNewProperty(); + } + }} + /> + ); + } + + return ( +
+ {metadataPropertyStore.isSearched.status ? ( + + ) : ( + {text} + )} +
+ ); + } + }, + { + title: t('addition.common.data-type'), + dataIndex: 'data_type', + width: '20%', + render(text: string, records: any, index: number) { + if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { + return ( + + ); + } + + const realText = text === 'TEXT' ? 'string' : text.toLowerCase(); + + return ( +
+ {realText} +
+ ); + } + }, + { + title: t('addition.common.cardinal-number'), + dataIndex: 'cardinality', + width: '20%', + render(text: string, records: any, index: number) { + if (metadataPropertyStore.isCreateNewProperty === true && index === 0) { + return ( + + ); + } + + return ( +
+ {text.toLowerCase()} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '15%', + align: 'right', + render(_: any, records: any, index: number) { + return ( + + ); + } + } + ]; + + useEffect(() => { + setTimeout(() => { + switchPreLoading(false); + }, 500); + }, [sortOrder]); + + useEffect(() => { + if (metadataConfigsRootStore.currentId !== null) { + metadataPropertyStore.fetchMetadataPropertyList(); + } + + return () => { + metadataPropertyStore.dispose(); + }; + }, [ + metadataPropertyStore, + metadataConfigsRootStore.currentId, + graphViewStore + ]); + + // these would be called before rendered, pre-load some data here + // useEffect(() => { + // dataAnalyzeStore.fetchAllNodeStyle(); + // dataAnalyzeStore.fetchAllEdgeStyle(); + // }, [dataAnalyzeStore]); + + if (metadataPropertyStore.currentTabStatus === 'reuse') { + return ; + } + + return ( + +
+
+ + + +
+ {size(currentSelectedRowKeys) !== 0 && ( +
+
+ {t('addition.message.selected')} + {size(currentSelectedRowKeys)} + {t('addition.common.term')} +
+ + {t('addition.common.close')} { + mutateSelectedRowKeys([]); + }} + /> +
+ )} +
rowData.name} + locale={{ + emptyText: ( + {t('addition.common.no-result')} + ) : ( + + ) + } + /> + ) + }} + rowSelection={{ + selectedRowKeys, + onChange: handleSelectedTableRow + }} + onSortClick={handleSortClick} + dataSource={ + isLoading + ? [] + : metadataPropertyStore.isCreateNewProperty + ? metadataPropertyStore.reunionMetadataProperty + : metadataPropertyStore.metadataProperties + } + pagination={ + isLoading + ? null + : { + hideOnSinglePage: false, + pageNo: + metadataPropertyStore.metadataPropertyPageConfig.pageNumber, + pageSize: 10, + showSizeChange: false, + showPageJumper: false, + total: + metadataPropertyStore.metadataPropertyPageConfig.pageTotal, + onPageNoChange: handlePageChange + } + } + /> + { + switchShowModal(false); + }} + > +
+
+ {t('addition.common.del-comfirm')} + {t('addition.common.close')} { + switchShowModal(false); + }} + /> +
+
+ {t('addition.message.del-unused-property-notice')} +
+
) { + return ( + + {text} + + ); + } + }, + { + title: t('addition.common.status'), + dataIndex: 'status', + render(isUsing: boolean) { + return ( +
+ {isUsing + ? t('addition.common.in-use') + : t('addition.common.not-used')} +
+ ); + } + } + ]} + dataSource={currentSelectedRowKeys.map((name) => { + return { + name, + status: + metadataPropertyStore.metadataPropertyUsingStatus !== + null && + // data may have some delay which leads to no matching propety value + !!metadataPropertyStore.metadataPropertyUsingStatus[name] + }; + })} + pagination={false} + /> + + + + + ); +}); + +export interface MetadataPropertiesManipulationProps { + propertyName: string; + propertyIndex: number; + // allSelectedKeys: number[]; +} + +const MetadataPropertiesManipulation: React.FC = + observer(({ propertyName, propertyIndex }) => { + const { metadataPropertyStore } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + const [isPopDeleteModal, switchPopDeleteModal] = useState(false); + const [isDeleting, switchDeleting] = useState(false); + const deleteWrapperRef = useRef(null); + const isDeleteOrBatchDeleting = + isDeleting || + (metadataPropertyStore.requestStatus.deleteMetadataProperty === + 'pending' && + metadataPropertyStore.selectedMetadataPropertyNames.includes( + propertyName + )); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isPopDeleteModal && + deleteWrapperRef && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchPopDeleteModal(false); + } + }, + [deleteWrapperRef, isPopDeleteModal] + ); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + if ( + metadataPropertyStore.isCreateNewProperty === true && + propertyIndex === 0 + ) { + return ( +
+ { + metadataPropertyStore.validateNewProperty(); + + if (!metadataPropertyStore.isCreatedReady) { + return; + } + + metadataPropertyStore.switchIsCreateNewProperty(false); + await metadataPropertyStore.addMetadataProperty(); + + if ( + metadataPropertyStore.requestStatus.addMetadataProperty === + 'success' + ) { + Message.success({ + content: t('addition.newGraphConfig.create-scuccess'), + size: 'medium', + showCloseIcon: false + }); + } + + if ( + metadataPropertyStore.requestStatus.addMetadataProperty === + 'failed' + ) { + Message.error({ + content: metadataPropertyStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + + metadataPropertyStore.fetchMetadataPropertyList(); + metadataPropertyStore.resetNewProperties(); + }} + > + {t('addition.newGraphConfig.create')} + + { + metadataPropertyStore.switchIsCreateNewProperty(false); + metadataPropertyStore.resetNewProperties(); + metadataPropertyStore.resetValidateNewProperty(); + + if (metadataPropertyStore.metadataProperties.length === 0) { + metadataPropertyStore.changeCurrentTabStatus('empty'); + } + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ {isDeleteOrBatchDeleting && ( + + )} + + {metadataPropertyStore.metadataPropertyUsingStatus && + metadataPropertyStore.metadataPropertyUsingStatus[ + propertyName + ] ? ( +

+ {t('addition.message.property-using-cannot-delete')} +

+ ) : ( + <> +

+ {t('addition.message.property-del-confirm')} +

+

{t('addition.message.property-del-confirm-again')}

+

{t('addition.message.long-time-notice')}

+
+ + +
+ + )} +
+ } + childrenProps={{ + className: 'metadata-properties-manipulation no-line-break', + style: styles.extraMargin, + title: isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del'), + async onClick() { + if (isDeleteOrBatchDeleting) { + return; + } + + await metadataPropertyStore.checkIfUsing([propertyName]); + + if ( + metadataPropertyStore.requestStatus.checkIfUsing === 'success' + ) { + switchPopDeleteModal(true); + } + } + }} + > + {isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del')} + + + ); + }); + +const EmptyPropertyHints: React.FC = observer(() => { + const { metadataPropertyStore } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + return ( +
+ Add new property +
+ {t('addition.message.property-create-desc')} +
+
+ + +
+
+ ); +}); + +export default MetadataProperties; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.less new file mode 100644 index 000000000..71698137e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.less @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.reuse-properties-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; + + .reuse-steps { + width: 860px; + margin: 16px auto 18px; + } + + .reuse-properties { + &-row { + display: flex; + align-items: center; + margin: 18px 0 32px; + font-size: 14px; + color: #333; + + &:last-child { + margin-bottom: 24px; + } + + &-name { + width: 98px; + text-align: right; + margin-right: 13.9px; + } + } + + &-manipulations { + display: flex; + justify-content: center; + margin-bottom: 88px; + } + + &-validate { + &-duplicate, + &-exist, + &-pass { + width: 58px; + margin: 0 auto; + border-radius: 2px; + letter-spacing: 0; + line-height: 22px; + text-align: center; + } + + &-duplicate { + background: #fff2f2; + border: 1px solid #ff9499; + color: #e64552; + } + + &-exist, + &-pass { + background: #f2fff4; + border: 1px solid #7ed988; + color: #39bf45; + } + } + + &-complete-hint { + display: flex; + flex-direction: column; + justify-content: center; + margin: 88px auto 327px; + + &-description { + display: flex; + justify-content: center; + + & > div { + margin-left: 20px; + } + } + + &-manipulations { + margin: 42px auto 0; + } + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx new file mode 100644 index 000000000..032257db3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/ReuseProperties.tsx @@ -0,0 +1,542 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { + Select, + Steps, + Transfer, + Button, + Table, + Input, + Message +} from 'hubble-ui'; +import { cloneDeep } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import PassIcon from '../../../../assets/imgs/ic_pass.svg'; + +import './ReuseProperties.less'; + +const ReuseProperties: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { metadataPropertyStore } = metadataConfigsRootStore; + const { t } = useTranslation(); + const [currentStatus, setCurrentStatus] = useState(1); + // acutally the name, not id in database + const [selectedId, mutateSelectedId] = useState<[] | string>([]); + const [selectedList, mutateSelectedList] = useState([]); + + // step 2 + const [editIndex, setEditIndex] = useState(null); + + // hack: need to call @observable at here to dispatch re-render by mobx + // since @action in onBlur() in doesn't dispatch re-render + metadataPropertyStore.validateRenameReusePropertyErrorMessage.name.toUpperCase(); + + const columnConfigs = [ + { + title: t('addition.common.property-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (editIndex !== index) { + return ( +
+ {text} +
+ ); + } + + return ( + { + const editedCheckedReusableProperties = cloneDeep( + metadataPropertyStore.editedCheckedReusableProperties! + ); + + editedCheckedReusableProperties.propertykey_conflicts[ + index + ].entity.name = e.value; + + metadataPropertyStore.mutateEditedReusableProperties( + editedCheckedReusableProperties + ); + }} + originInputProps={{ + onBlur() { + metadataPropertyStore.validateRenameReuseProperty(index); + } + }} + /> + ); + } + }, + { + title: t('addition.common.data-type'), + dataIndex: 'data_type', + width: '15%', + render(text: string) { + if (text === 'TEXT') { + return ( +
+ string +
+ ); + } + + return ( +
+ {text.toLowerCase()} +
+ ); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + align: 'center', + width: '15%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if ( + metadataPropertyStore.reusablePropertyNameChangeIndexes.has(index) + ) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return
{text}
; + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === editIndex) { + return ( +
+ { + const isReady = metadataPropertyStore.validateRenameReuseProperty( + index + ); + + if (isReady) { + setEditIndex(null); + + metadataPropertyStore.mutateReusablePropertyNameChangeIndexes( + index + ); + } + }} + > + {t('addition.common.save')} + + { + setEditIndex(null); + metadataPropertyStore.resetValidateRenameReuseProperty(); + metadataPropertyStore.resetEditedReusablePropertyName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (editIndex !== null) { + return; + } + + setEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (editIndex !== null) { + return; + } + + setEditIndex(null); + + const editedCheckedReusableProperties = cloneDeep( + metadataPropertyStore.editedCheckedReusableProperties! + ); + + editedCheckedReusableProperties.propertykey_conflicts.splice( + index, + 1 + ); + + // remove selected status of the property in + mutateSelectedList( + [...selectedList].filter( + (property) => + property !== + metadataPropertyStore.editedCheckedReusableProperties! + .propertykey_conflicts[index].entity.name + ) + ); + + // remove property in Table + metadataPropertyStore.mutateEditedReusableProperties( + editedCheckedReusableProperties + ); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + useEffect(() => { + return () => { + // reset validate error message before unmount to avoid conflict with other component validation + metadataPropertyStore.resetValidateRenameReuseProperty(); + }; + }, [metadataPropertyStore]); + + return ( +
+
+ {t('addition.operate.reuse-property')} +
+
+ + {[ + t('addition.menu.select-reuse-item'), + t('addition.menu.confirm-reuse-item'), + t('addition.menu.complete-reuse') + ].map((title: string, index: number) => ( + index + 1 + ? 'finish' + : 'wait' + } + key={title} + /> + ))} + + + {currentStatus === 1 && ( + <> +
+
+ * + {t('addition.newGraphConfig.id')}: +
+ +
+
+
+ * + {t('addition.operate.reuse-property')}: +
+ name + )} + selectedList={selectedList} + showSearchBox={false} + candidateTreeStyle={{ + width: 359, + fontSize: 14 + }} + selectedTreeStyle={{ + width: 359, + fontSize: 14 + }} + handleSelect={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleSelectAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDelete={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDeleteAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + /> +
+
+ + +
+ + )} + + {currentStatus === 2 && ( + <> +
+ {t('addition.common.selected-property')} +
+
({ + name: entity.name, + data_type: entity.data_type, + status + }) + ) + : [] + } + pagination={false} + /> +
+ + +
+ + )} + + {currentStatus === 3 && ( +
+
+ {t('addition.message.reuse-complete')} +
+
{t('addition.message.reuse-complete')}
+
{t('addition.message.reuse-property-success')}
+
+
+
+ + +
+
+ )} + + + ); +}); + +export default ReuseProperties; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/index.ts new file mode 100644 index 000000000..f83cd5d41 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/property/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import MetadataProperties from './MetadataProperties'; +import ReuseProperties from './ReuseProperties'; + +export { MetadataProperties, ReuseProperties }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less new file mode 100644 index 000000000..362db1ec2 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.less @@ -0,0 +1,1637 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.new-vertex-type-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 30px 0; + display: flex; + flex-direction: column; + align-items: center; + + .new-vertex-type { + &-title { + // prettier-ignore + font-family: + 'PingFangSC-Medium', + 'Microsoft YaHei Bold', + '微软雅黑', + Arial, + sans-serif; + width: 115px; + font-weight: bold; + margin-bottom: 16px; + text-align: right; + word-break: keep-all; + } + + &-manipulations, + &-options { + margin-bottom: 32px; + display: flex; + align-items: center; + + &-name { + width: 125px; + margin-right: 43.9px; + text-align: right; + color: #333; + font-size: 14px; + word-break: keep-all; + line-height: 32px; + } + + &-expands { + font-size: 14px; + color: #333; + } + } + } +} + +.metadata-drawer-options-name-edit { + line-height: 34px; +} + +// retrive from parent since drawer doesn't hangs on body element +.new-vertex-type-options-colors, +.new-vertex-type-options-sizes, +.new-vertex-type-options-arrows { + margin-right: 12px; +} + +.new-vertex-type-options-color { + width: 23px; + height: 23px; + line-height: 23px; +} + +.new-vertex-type-select { + width: 20px; + height: 20px; + line-height: 20px; +} + +.new-vertex-type-options-border { + border: #dae7fb solid 2px; +} + +.new-vertex-type-options-no-border { + border: white solid 2px; +} + +.new-vertex-type-options-no-border:hover { + border: #f5f5f5 solid 2px; +} + +.new-vertex-type-options { + margin-top: 5px; +} + +.new-fc-one-select-dropdown-menu-container .new-vertex-type-options-color { + width: 14px; + height: 14px; + margin: auto; +} + +/* override */ +.new-vertex-type-options-sizes .new-fc-one-select-dropdown-menu-container { + padding: 4px 0; +} + +/* stylelint-disable */ + +/** + * Colors + */ + +/* Brand colors */ + +/* Contextual colors */ + +/* Gray scale colors */ + +/** + * Typography + */ + +/** + * Spacing + */ + +/** + * Background colors + */ + +/** + * Borders + */ + +/* Border colors */ + +/* Separator colors */ + +/* Border radii */ + +/* Shadows */ + +/* Icons */ + +/* Font sizes */ + +/* Metrics */ + +/* Stylistic variants */ + +/* Focus rings */ + +/* Button group separator */ + +/* Font sizes */ + +/* Text decorations */ + +/* Stylistic variants */ + +/* Typography */ + +/* Metrics */ + +/* Colors */ + +/* Focus ring */ + +/* Checkbox group */ + +/* Typography */ + +/* Metrics */ + +/* Colors */ + +/* Focus ring */ + +/* Strong variant */ + +/* Checkbox group */ + +/* Metrics */ + +/* Colors */ + +/* Typography */ + +/* Font sizes */ + +/* Metrics */ + +/* Colors & states */ + +/* Focus rings */ + +/* Typography */ + +/* Metrics */ + +/* Character count */ + +/* Metrics */ + +/* Font sizes */ + +/* Metrics */ + +/* States */ + +/* Option group title */ + +/* Option dropdown */ + +/* Widths */ + +/* Metrics */ + +/* Colors */ + +/* Metrics */ + +/* Colors */ + +/* Typography */ + +/* Markers */ + +/* Spacing */ + +/* Statuses */ + +/* Metrics */ + +/* Colors */ + +/* Typography */ + +/* Metrics */ + +/* Colors */ + +/* Metrics */ + +/* Colors & States */ + +/* Metrics */ + +/* Headers */ + +/* Colors */ + +/* Metrics */ + +/* Typography */ + +/* Container */ + +/* Metrics */ + +/* Colors */ + +/* Indicators */ + +/* Stylistic variants */ + +/* Metrics */ + +/* Colors */ + +/* Metrics */ + +/* Colors */ + +/* Metrics */ + +/* Stylistic variants */ + +/* Metrics */ + +/* Colors */ + +/* Metrics */ + +/* Colors */ + +/* Pages */ + +/* Indicators */ + +/* Controls */ + +/* Pages */ +button::-moz-focus-inner, +input[type='reset']::-moz-focus-inner, +input[type='button']::-moz-focus-inner, +input[type='submit']::-moz-focus-inner, +input[type='file'] > input[type='button']::-moz-focus-inner { + border: none; +} + +@keyframes loadingCircle { + 0% { + transform-origin: 50% 50%; + transform: rotate(0deg); + } + + 100% { + transform-origin: 50% 50%; + transform: rotate(360deg); + } +} + +@font-face { + font-family: 'new-fc-one-icon'; + src: url('data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBk0AAAC8AAAAYGNtYXDSvtNiAAABHAAAAGxnYXNwAAAAEAAAAYgAAAAIZ2x5ZgPgaIMAAAGQAAAuDGhlYWQWOP+LAAAvnAAAADZoaGVhCAsEPgAAL9QAAAAkaG10eMUSBrgAAC/4AAAA0GxvY2EkaxgIAAAwyAAAAGptYXhwAD8BCQAAMTQAAAAgbmFtZV3n5/sAADFUAAABenBvc3QAAwAAAAAy0AAAACAAAwPxAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpMgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAUAAAABAAEAADAAAAAQAg6SHpI+kr6TL//f//AAAAAAAg6QDpI+kl6S3//f//AAH/4xcEFwMXAhcBAAMAAQAAAAAAAAAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACAEv/wAPLA6sAGwApAAABERQGIyImNREBBiYnJjY3ATYyFwEeAQcOAScBJSImNTQ2MyEyFhUUBiMCNRkREhn+pw4jCwwCDgGgDCAMAaANAgsMIw3+pv5LEhkZEgMVEhkZEgK4/TMSGRkSAs3+0wwCDg0jDAFqCwv+lgwjDQ4CDAEtnRkSEhkZEhIZAAMAAAA9BAADqwBEAHkAngAANxYUBwYiJyYnLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgcGIicmNDc2Nz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxYXNx4BBw4BJy4BNTQ3PgE3NjMyFx4BFxYVFAYHBiYnJjY3PgE1NCcuAScmIyIHDgEHBhUUFhc3FgYHBiYnLgE1NDYzMhYVFAYHDgEnLgE3PgE1NCYjIgYVFBYX0wwMDSMNJBscJwoKKCiLXl1qal1eiygoCgonHRwlDCQMDAwfFxghCAkiIXROTlhYTk50ISIJCCAXGB58DQENDCMNMjcbGl0+PkdHPj5dGhs4NA0jDAwCDCcqFBRGLi81NS8uRhQUKSZyCwIODSQLFRZkR0dkGRYMJA0MAgwMDDIjIzILC3wNIw0MDCQqKlwyMTRqXl2LKCkpKItdXmo0MjJdKiokDA0MJAweIyNNKiorWU1OdCIhISJ0Tk1ZKykqTSMiHn0MIw0NAQwwfkZGPT5bGxoaG1s+PUZHgC8MAQ0NJAwjXzU0Li5EFBQUFEQuLjQ0XiRxDSMMCwIOFzwgSWZmSSI+GA0BDAwjDQwhESY0NCYRHg0AAAMAKwFzA9UCFQALABgAJAAAASImNTQ2MzIWFRQGISImNTQ2MzIWFRQGIyEiJjU0NjMyFhUUBgOEITAwISIvL/5aIi8vIiIvLyL+fCIvLyIhMDABczAhIi8vIiEwMCEiLy8iITAwISIvLyIhMAAAAAADAAAAQAQAA0AADgAVACUAABMRFBYzITI2NREBBiInASUhARYyNwElITIWFREUBiMhIiY1ETQ2VRkSAwASGf6oJF4k/qgDFP0uAU4MHgwBTv0XAwA1S0s1/QA1S0sCsv4OEhkZEgHy/tgfHwEoOf7fCgoBIVVLNf4ANUtLNQIANUsAAAADAAD/wAQAA8AAIAA8AFkAAAE3NjIXFhQPARcWFAcGIi8BBwYiJyY0PwEnJjQ3NjIfAQMiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwILrA0jDQwMra0MDA0jDaytDCQMDQ2srA0NDCQMrQtqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgB8qwNDQwkDK2sDSMNDAytrQwMDSMNrK0MJAwNDaz9zigoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISIABAAA/8AEAAPAABsAOABHAFYAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwM0NjMyFhURFAYjIiY1ERE0NjMyFh0BFAYjIiY9AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEhIZGRISGRkSEhlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgKrEhkZEv6rEhkZEgFV/isRGRkRFhEZGREWAAAABQAr/8AD1QPAABIAGQAuAD0ASwAAASEiBhURFBYzITI2NREjIiY9AQUnFRQWOwEBITIWFwUeARURFAYjISImNRE0NjMTIiY1NDYzITIWFRQGIyETIiY1NDY7ATIWFRQGIwJV/lYSGRkSAqoSGcQrPAEAqgoHmf1WAdwIDgYBJAcHSzX9VjVLSzViERkZEQH7EhkZEv4FAxIZGRLjERkZEQNrGRL9ABIZGRICFTwrr8CTggcKARUFBf0GEQn9pzVLSzUDADVL/Y4ZEhIZGRISGQEAGRISGRkSEhkAAAIAQP/AA8ADwAApADgAADcVMzIWFRQGKwEiJjU0NjMRNDYzMhYVITIWHwEzMhYVERQGKwEiJi8BITUhMhYfATMRIyImLwEhEcAVEhkZEmoSGRkSGRESGQG+BQoEPZ0jMjIjpwUKBD3+TAG+BQoEPZ2nBQoEPf5MzbgZERIZGRIRGQOAEhkZEgICHjIk/eMjMgICHlYCAx4CHQIDHv3jAAADAAAAAAP+A2sAIwA6AEIAAAEzMhYVFAYHAw4BIyEiJjU8ATcuATURNDY7ATIWHwEhMhYdASM1NCYjISImLwEuASsBIgYVETc+ATMhAR4BMyETIQMDlSkbJQEBegYiFv0HGyUBBgZLNbcbOhFAATg1S1UZEv60CREGTAYYCLcSGSkFIxYChP0oBQwHArNv/StlAlUlGwQIBP4rFRslGwMFAg0bDgJrNUsbFElLNR4eERkIB1gGCxkR/pGoFhv+CAQEAav+XQAAAAIAAAAABAADawAYAC4AABMRFBYzITI2NRE0JiMhIiYvAS4BIyEiBhUlITIWFREUBiMhIiY1ETQ2MyEyFh8BVRkSAwASGRkS/rQJEQZMBhgJ/t8SGQHzATg1S0s1/QA1S0s1ASEbOhJAAuv9lRIZGRIB8hIZCAdYBgsZEQhMNf4ONUtLNQJrNUsbFEkAAgAO/+sD8gNwAB0APgAAJTI2NRE0NjsBCQEzMhYVERQWOwE1NDY7ATIWHQEzExEUBisBIiY9ASMVFAYrASImNREjIiY3ATYyFwEWBisBAwASGRkREv6Z/pkSERkZEmsyI4AjMmuASzWVEhmAGRKVNUtVHhUWAbkYQhgBuRYVHlVAGRIBVRIZAUb+uhkS/qsSGasjMjIjqwFV/tY1SxkR1tYRGUs1ASo3FAGQFhb+cBQ3AAAABAAA/8AEAAPAABsAOABHAFYAAAEiBw4BBwYVFBceARcWMzI3PgE3NjU0Jy4BJyYHMhceARcWFRQHDgEHBiMiJy4BJyY1NDc+ATc2MwMUFjMyNjURNCYjIgYVEREUFjMyNj0BNCYjIgYdAQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEhIZGRISGRkSEhkDwCgoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISL9VRIZGRIBVRIZGRL+qwHVERkZERYRGRkRFgAAAQHVAZUEAAPAABoAAAEUBiMiJjU0Jy4BJyYjIiY1NDYzMhceARcWFQQAGRIRGSIhdE5OWBIZGRJqXV6LKCgBwBIZGRJYTk50ISIZERIZKCiLXl1qAAAAAAEAKwGVA9UB6wAOAAATIiY1NDYzITIWFRQGIyFVERkZEQNWERkZEfyqAZUZEhIZGRISGQABABX/1QPrA6sAIAAAARE0NjMyFhURITIWFRQGIyERFAYjIiY1ESEiJjU0NjMhAdUZEhIZAZUSGRkS/msZEhIZ/msSGRkSAZUB6wGVEhkZEv5rGRISGf5rEhkZEgGVGRISGQAABAAA/8AEAAPAABsAOABcAGsAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMxMVFAYjIiY9ATQ2MzI2NTQmIyIGFRQGIyImNTQ2MzIWFRQGBwc0NjMyFh0BFAYjIiY9AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YKxkSEhkZEiw/PywsPxkREhlxT09xVUBWGRISGRkSEhlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoVSIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgF6VhIZGRJ8ERk8Kio8PCoSGRkSTm1tTkNlDs8SGRkSFRIZGRIVAAAAAgAA/8wD9APAACsASAAAJRcWFAcGIi8BBgcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgcFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMwNQpAwMDSMNox8kI04qKixjWFeDJSYmJYNXWGNjWFeDJSYIBx0VFRr+kFJISGsfHx8fa0hIUlJISGsfHx8fa0hIUqyjDSMNDAykGhUVHQcIJiWDV1hjY1hXgyUmJiWDV1hjLCoqTiMkH1cfH2tISFJSSEhrHx8fH2tISFJSSEhrHx8AAAMAAP/ABAADwAAbADgASwAABSInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBicyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxYzAwE2MhcWFAcBBiIvASY0NzYyFwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YVQE3DCQMDQ3+qw0jDaoNDQwkDEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKChVIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAT0BNwwMDSMN/qsMDKsMJAwNDQACAAv/1QP1A6sANgBtAAA3FRQGIyImNRE0NjM6ARc2MjMyFhUUFx4BFxYzMjc+ATc2Nz4BFx4BBwYHDgEHBiMiJy4BJyYnATU0NjMyFhURFAYjKgEnBiIjIiY1NCcuAScmIyIHDgEHBgcOAScuATc2Nz4BNzYzMhceARcWF2AZEhEZGRECAgIBAwESGSAfbkpKVDw5OGAmJxgHIRARDAceLi51RERJQj09aywsIQNAGRIRGRkRAgICAQMBEhkgH25KSlQ8OThgJicYByEQEQwHHi4udURESUI9PWssLCG8ZxEZGREBaxIZAQEZElRKSm4fIBERPywsNhANBwghEEE2NUwVFREQPSorNAIIZxEZGRH+lRIZAQEZElRKSm4fIBERPywsNhANBwghEEE2NUwVFREQPSorNAAIAAD/wAQAA8AAGwA3ADsAQABOAFwAagB5AAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgEhESETESERIRczMjY1NCYrASIGFRQWFzMyNjU0JisBIgYVFBYXMzI2NTQmKwEiBhUUFhczMjY1NCYrASIGFRQWMwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qY1dYgiUmJiWCWFdjY1dYgiUmJiWCWFf+1wGM/nQhAUr+tkLGBwoKB8YHCgoHxgcKCgfGBwoKB8YHCgoHxgcKCgd3BwkJB3cHCgoHQCgoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYC1/4QAc/+UgGubgkHBwoKBwcJVwoHBwkJBwcKVgoHBgoKBgcKVgkHBwoKBwcJAAAIAAD/wAQAA8AAGwA3AEsAWgBpAHgAlACwAAAlMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgMuAQcOAR8BFjI/ATYmJyYGDwEnBzMyNjU0JisBIgYVFBYzFTMyNjU0JisBIgYVFBYzNxUUFjMyNj0BNCYjIgYVEzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRQXHgEXFjciJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYCADMtLkMTFBQTQy4tMzMtLkMTFBQTQy4tMywoJzoREREROicoLCwoJzoREREROicodAQOBQUBBVQFDgVUBQEFBQ4ESEgXvgYKCga+BgoKBr4GCgoGvgYKCgZOCgcHCgoHBwoRal1eiygoKCiLXl1qal1eiygoKCiLXl1qY1dYgiUmJiWCWFdjY1dYgiUmJiWCWFfIFBNDLi0zMy0uQxMUFBNDLi0zMy0uQxMUIREROicoLCwoJzoREREROicoLCwoJzoREQFrBQEFBQ0FXwUFXwUNBQUBBVFRegkHBwoKBwcJVQoHBwkJBwcKZb0HCgoHvQcKCgf91igoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYAAAAHAAD/wAQAA8AAJgAqAC4AMgBKAGYAggAAJSImNRE0NjMhMhYdARQGIyImPQE0JiMhIgYVERQWOwEyFhUUBisBEzMVIxUzFSM1MxUjFyImLwEmNDc2Mh8BNz4BFx4BDwEOASsBAzI3PgE3NjU0Jy4BJyYjIgcOAQcGFRQXHgEXFjciJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYBRxMbGxMBMRMbCQYGCQkH/s8GCQkGTAcJCQdML9jYPj6amsgDBQNcBAQFDAVPjwQNBQUCBJkCBgQBPmpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhX2RsTAXITGxsTfQcJCQd9BgkJBv6OBgkJBwYJAXIfmh57H/YCA1wEDQUEBFDJBQIEBAwF2AIE/uYoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAAcAAP/ABAADwAAbADcAbgB4AIoAmgCrAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBhMhIgYVFBY7ARUUFjsBBwYWFxQyMxY2PwE+ATUzFBYfAR4BNz4BJzA0IyczMjY9ATMyNjU0JiMDFAYjISImPQEhBSMiJj0BNDY7ATIWHQEUBiMxMyMiJj0BNDY7ATIWHQEUBisBIiY9ATQ2OwEyFh0BFAYjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYV2z+WAYICAYOEAx6IwMCBQEBBQwEJwEBHQEBJwQMBgQEAgEjegwQDwYICAYrCAb+yQYIAVP++gYEBgYEBgUGBgW8BgQHBwQGBAcHYgYEBwcEBgUGBgVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoISYlglhXY2NXWIIlJiYlglhXY2NXWIIlJgKlCQYFCP8MEEEECgMBAwMFSAEDAgIDAUgFAwMCCQUCQRAM/wgGBgj+8wYICAbx+gUDVQQEBARVAwUGBKMEBQUEowQGBQO+AwUFA74DBQAFAAD/wAQAA8AAGwA3AFwAgQC8AAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgEVFAYjIiY9ATQ2MzIWFRQXHgEXFjMyNjc+ARceAQcOASMiJiclNTQ2MzIWHQEUBiMiJjU0Jy4BJyYjIgYHDgEnLgE3PgEzMhYXByMiJjU0NjsBJyY0NzYWHwE3PgEXHgEPATMyFhUUBisBFTMyFhUUBisBFRQGIyImPQEjIiY1NDY7ATUCAGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhX/sYJBwcKCgcHCREROicoLEBqGgMNBgYFAx56SkVyIAGuCQcHCgoHBwkRETonKCxAahoDDQYGBQMeekpFciDfUAcKCgc7PQQFBQ4FSUoEDgUFAQU9PAcJCQdQUAcJCQdQCgcHCVAHCgoHUEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAXQ6BwoKB7YGCgoGLScnOhERRToGBQMDDQZCUEQ49zoHCgoHtQcKCgcsJyc6ERFFOgYFAwMNBkJQRDhyCgYHCkQFDgQFAQVSUgUBBQQOBUQKBwYKNAoGBwpaBgoKBloKBwYKNAAFAAD/wAQAA8AAGwBLAIsAyAEGAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1NCcuAScmEw4BBw4BIyImJy4BJy4BJy4BNTQ2Nz4BNz4BNz4BMzIWFx4BFx4BFx4BFRQGBw4BAQczLgEnLgE1MxQGBzMuATczHgEXNQ4BKwE1NDY3PgE1LgEnHgEdASM1NDY3PgE1LgEnHgEdASMGJicVPgE7AQE1PgE3PgEzNQ4BJyMiJicuASMVMz4BOwEOAQcVIwYmJxU+ATM+ATsBFRYGJx4BFz4BNzUzMhYXNQ4BKwElPgE3BjY/ATMyFhc1DgEnIz4BNz4BNycuAScOAQcjBiYnIiY1FTM+ATsBDgEHHgEXMz4BNxUUBgczLgE3NQIAal1eiygoKCiLXl1qal1eiygoKCiLXl3SH0coKVgtLVgpKEcfHzARERISEREwHx9HKClYLS1YKShHHx8wERESEhERMP4gBUMBAwECAZEDA0MEAwJbGykPCykfWwMCAgEDIyADA5EEBAECBCMfAwJDHS0REi0cQwEaGCQMCx4VESkZtAsZDwkOBAgTJBKWEicVYB4pDAYPCAcbFGADJyoKDQQzNAJNGCkQCCkgTf75AwsICxAMH/waKxAQLR7bBAwIAgQCJgYPCAMNC3sYKhECAQUSKBdgL2Q2DRYKAR8tDwMCQwQDAQPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/MQfMBEREhIRETAfH0coKVgtLVgpKEcfHzARERISEREwHx9HKClYLS1YKShHAec1AQcFCxQJFRsFDBoPAQMBNQIDDQsTCAMEAQEDAQUYExAQCREGAgICAQQDCxgODQECBDUCA/7SEg8UBQYFOAQCAQECAQE1AwIKFQklAgMENgIBAQJOEQsHDyISBhYPewMDNgMCWwQMCA8VDygCAzYEAwEIDgUBBAMLAgYCCRwTAQEDAQI2AwI/WxwLFgwYLRamHCcLByUf3AAAAAAKAAD/wAQAA8AAFwAlADwASgBeAG0AfACKAKYAwgAAJTI3PgE3NjU0Ji8BIwcOARUUFx4BFxYzAzMeARUUBiMiJjU0Njc/ATYWDwEOASsBIiYvASY2HwE3NjIfAQczNwcGIi8BBwYiLwEXFyYiBwYUHwEWMj8BNiYnJiIPAScHMzI2NTQmKwEiBhUUFjMVMzI2NTQmKwEiBhUUFjM3FRQWMzI2PQE0JiMiBhMyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxY3IicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGAgA1Li1CExNVVASVBFRWExNCLS41QYFMS3leXnlLS3xECw4FMgIIBJUFCAIxBQ4KRSwDBwMsc4AcJgIGAysrAgYDJhwTBQ0FBgQ6BQ8FOQUBBQUOBC4tHZUGCgoGlQcKCgeVBgoKBpUHCgoHOgkHBwoKBwcJCGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhXuA4ONCUkLTFyQQMCNnI9LSQlNA4OAYw7ZCdKW1tKMmQwbxUDEQpjBAUFBGMKEQMVFAEBFE44CwECExMCAQs4aQYEBQ0FQgYGQgUNBQQGMzNlCQcHCgoHBwlTCgcGCgoGBwpbhAcKCgeEBwkJ/hooKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAAAFAAD/wAQAA8AAGwA3AFIAfQCbAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBhMHBiInJjQ/ASMiJjU0NjsBMhYdARQGIyImNScyFhUUBiMiBhUUFjMyNjU0NjMyFhUUBw4BBwYjIicuAScmNTQ3PgE3NjMHNhYXFAYHDgEVFBYzMjY3PgEXHgEHDgEjIiY1NDYCAGpdXosoKCgoi15dampdXosoKCgoi15damNXWIIlJiYlglhXY2NXWIIlJiYlglhXPowFDwUFBYo+CAoKCGsHCwsHCAqhBwsLB0ppaUpKaQoIBwsRETonKCwsKCc6ERERETonKCwNBwwBCQcbJCoeGykDAQwHBwoBBT0pLD81QCgoi15dampdXosoKCgoi15dampdXosoKCEmJYJYV2NjV1iCJSYmJYJYV2NjV1iCJSYCaIwFBQUPBYsLBwcLCwdsBwsLB5ALBwgKaUpKaWlKBwsLBywoJzoREREROicoLCwoJzoREWwBCQcICwEEKBseKiQbBwkBAQsIKDY/LSg9AAAABQAA/8AEAAPAABwAPwBKAFkAaAAAARUUBiMiJj0BIRUUBiMiJj0BIyIGHQEhNTQmKwE1MzIWFREUBiMhIiY1ETQ2OwE1NDYzMhYdASE1NDYzMhYdAQERFBYzITI2NREhBSImNTQ2MyEyFhUUBiMhFSImNTQ2MyEyFhUUBiMhAuAZEhEZ/uoZERIZoBIZA1YZEqCgNUtLNf0ANUtLNaAZEhEZARYZERIZ/XUZEgMAEhn8qgEAERkZEQFWERkZEf6qERkZEQFWERkZEf6qAxUqEhkZEioqEhkZEioZEaCgERlWSzX9VTVLSzUCqzVLKhIZGRIqKhIZGRIq/or+SxIZGRIBtdUZEhEZGRESGZUZERIZGRIRGQAAAAEAOv/AA8YDqwAiAAAbAR4BFREUBiMiJjURAyY2MyEyFgcDERQGIyImNRE0NjcTIaXDAwMZEREZ4AwYGANEGBgM4BkRERkDA8P9SgNY/qIFCgX+8REZGREBBAGSFSkpFf5u/g8SGBgSAfwFCgUBXgAIAAD/wAQAA8AAGwA3AEcAWABoAHkAiQCZAAAFMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWNyInLgEnJjU0Nz4BNzYzMhceARcWFRQHDgEHBgMiBhURFBY7ATI2NRE0JiMnMzIWFREUBisBIiY1ETQ2MyEzMhYdARQGKwEiJj0BNDYXIgYdARQWOwEyNj0BNCYrARMzMhYdARQGKwEiJj0BNDYXIgYdARQWOwEyNj0BNCYjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYVw0IDAwIXAgMDAhYVRchIRdVGCEhGP73ZhggIBhmFyEhFAkLCwltCAsLCG0DZhggIBhmFyEhFAkLCwltCAsLCEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCghJiWCWFdjY1dYgiUmJiWCWFdjY1dYgiUmAqULCf6cCQsLCQFkCQshIhj+phgiIhgBWhgiIhikGSIiGaQYIiEMCK4JDAwJrggM/uciGR4YIyMYHhkiIQ0KJAkODgkkCg0AAAEAAP/AA9QDvwBQAAABNDYzMhYVMRUUBicmJy4BJyYjIgcOAQcGFRQXHgEXFjMyNz4BNzY/AT4BMzIWFRQGBzEGBw4BBwYjIicuAScmNTQ3PgE3NjMyFx4BFxYfATUDixUPEBU5DRopKWc9PEJbUFB3IiMjIndQUFtAOztmKCkbAQURCw8VAgIgLzB2RUVLal1diygpKSiLXV1qPDc4ZSssIwEDUg8VFQ/LHQ0bOS8uRBISIiJ4T1BbW1BQdyIjEhFALC01AwkLFRAECARANDRLFRQoKIteXWpqXV2LKCgNDTAiIisBTQADAAD/wAQAA8AAGwA4AEwAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUUBw4BBwYnMjc+ATc2NTQnLgEnJiMiBw4BBwYVFBceARcWMxMzMhYVFAYrASImNRE0NjMyFh0BAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgVlhEZGRHAEhkZEhEZQCgoi15dampdXosoKCgoi15dampdXosoKFUiIXROTlhYTk50ISIiIXROTlhYTk50ISIBqxkSERkZEQEWERkZEesAAAIADP/AA/QDwAAYADEAAAUxIiYnASY0NzYyHwERNDYzMhYVERQGIzEBMTIWFwEWFAcGIi8BERQGIyImNRE0NjMxAUwJEAb+3wwNDSMM2BkSERkZEQFoCRAGASEMDQ0jDNgZEhEZGRFABgcBKwwkDAwN3wNBEhkZEvxWEhkEAAYH/tUMJAwMDd/8vxIZGRIDqhIZAAABAAH/xgRHA8AALgAAASIGBy4BIyIHDgEHBhUUFhcWFx4BFxYXHgEzMjY3Njc+ATc2Nz4BNTQnLgEnJiMDE0Z+Kyt+Rz84OFMZGDseLEVFhDIyBQgVCgoUCQUxMoVFRSsePBkYUzg4QAPAQzs7QxsaXD09RlN5L0RISHkoKAMHBwcHAygoeUhIRC95U0Y9PVwaGwAABAAA/8AD1wOoAAcADQARABUAACUhESMRIREjARc3JwcXNzMRIxMRIxEDhfzNUgPXUv5nrzrp6jqHUVFRURIBcf49AcMBsbA66uo6wf1xAo/9cQKPAAAAAAEACwCjA/UC3wATAAATLgEHDgEXARYyNwE2JicmBgcJAUoMIw0NAgwB1gwmDAHWDAINDSMM/kr+SgLdDQEMCyQN/gAODgIADSQLDAEN/iIB3gAAAAEA4//LAx8DtQATAAAlHgEHDgEnASY0NwE2FhcWBgcJAQMdDQEMCyQN/gAODgIADSQLDAEN/iIB3goMIw0NAgwB1gwmDAHWDAINDSMM/kr+SgAAAAEA4f/LAx0DtQATAAA3DgEXHgE3ATY0JwEmBgcGFhcJAeMNAQwLJA0CAA4O/gANJAsMAQ0B3v4iCgwjDQ0CDAHWDCYMAdYMAg0NIwz+Sv5KAAAAAAEACwChA/UC3QATAAA3DgEnLgE3ATYyFwEWBgcGJicJAUoMIw0NAgwB1gwmDAHWDAINDSMM/kr+SqMNAQwLJA0CAA4O/gANJAsMAQ0B3v4iAAAAAAEAUwA7A6QDKwBRAAABMQEGBwYUFxYXFhcWMjc2NwE2NCcmIgcBBhQXFjY3ATYyFxYUBzEBBiInJjQ3ATY3NjIXFhcWFxYUBwYHAQYHBiInJicmJyY0NzY3ATYyFx4BAdP+6B4QDw8QHh4mJ08mJh8BbCgoKXIp/qAUFBU6FAEMCRoJCQj+9CduJycnAWAdJSVNJiUdHg4PDw4e/pQnMjJnMjIoJxQUFBQnARgKGQkJAQLg/ugeJyZPJiceHg8QEA8eAWwocygpKf6hFToUFQEUAQwICQkZCv70JiYnbicBYB0PDw8PHR4lJU0lJR7+lSgUExMUKCcyMmcyMigBFwkJCRoAAQAM/80CiQPAABsAACURNDYzMhYVETc2MhceAQcBBiInASY0NzYyHwEBIBkSERnXDCQMDQEN/t8MJA3+4QwNDSMM11MDQhIZGRL8wN4NDAwkDP7VDQ0BKQwkDAwN3gAAAQC3/8ADNAOzABsAAAERFAYjIiY1EQcGIicuATcBNjIXARYUBwYiLwECIBkSERnXDCQMDQENASEMJA0BHwwNDSMM1wMt/L4SGRkSA0DeDQwMJAwBKw0N/tcMJAwMDd4AAQAMAHgD9AMJABMAAAE+ARcWFAcBBiInASY0NzYWFwkBA7cMIw0NDP27DSQM/poMDQ0jDAFHAicDCA0BDQwjDf2rDQ0Bbw0jDA0BDP6vAjYAAAAAAQA3//cDyQOJACAAAAkBJjQ3NjIXCQE2MhcWFAcJARYUBwYiJwkBBiInJjQ3AQHE/nMMDA0jDAGNAY0MIw0MDP5zAY0MDA0jDP5z/nMMIw0MDAGNAcABjQwjDQwM/nMBjQwMDSMM/nP+cwwjDQwMAY3+cwwMDSMMAY0AAAMAL//fA9EDggAUACkAWgAAEyIGFTERFBYzMSEyNjUxETQmIzEhNSEyFhUxERQGIzEhIiY1MRE0NjMxBRQGIyImNTE1NDYzITIWFREUBisBIiY1NDY7ATgBMTI2NRE0JiM4ATEhMCIxIgYdAYwNEhINAbINEhIN/k4Bsic2Nif+Tic2NicBFxINDRIwIgHJITAwIU0MExMMTQgLCwj+NwEICwJrEwz98A0SEg0CEAwTPjcm/fAmNzcmAhAmNw8MExMMlyEwMCH92CEwEg0NEgsIAigICwsIlwAAAAAJAAD/wAQAA8AAGwA3AEcAVwBoAHkAhQCRAJ0AAAUyNz4BNzY1NCcuAScmIyIHDgEHBhUUFx4BFxY3IicuAScmNTQ3PgE3NjMyFx4BFxYVFAcOAQcGEzI2PQE0JiMhIgYdARQWMyU1NCYjISIGHQE+ATMhMhYlITIWFREUBiMhIiY1ETQ2MxEiBh0BFBYzITI2PQE0JiMhNyImNTQ2MzIWFRQGByImNTQ2MzIWFRQGByImNTQ2MzIWFRQGAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpjV1iCJSYmJYJYV2NjV1iCJSYmJYJYV3QHCQkH/mMHCgoHAa0JB/5jBwoECAUBnQQI/lcBnRQdHRT+YxUdHRUHCgoHAZ0HCQkH/mNCDhMTDg4TEw4OExMODhMTDg4TEw4OExNAKCiLXl1qal1eiygoKCiLXl1qal1eiygoISYlglhXY2NXWIIlJiYlglhXY2NXWIIlJgGdCgZkBgoKBmQGCqJ3BwkJB3cCAQGmHRT+UhQdHRQBrhQd/pUKB2MHCQkHYwcK5xMODhMTDg4TpRMODhMTDg4TpRMODhMTDg4TAAAAAAQAAP/ABAADwAAgAFIAYQBwAAABERQGIyEiJjURNCYjIgYVMREUFjMhMjY1ETQmIyIGFTEDLgEjOAEjISIGDwEjIgYVFBYzMSEyNjcxNz4BMyEyFh8BHgEzOAExITI2NTQmIzEhJwERFBYzMjY1ETQmIyIGFSERFBYzMjY1ETQmIyIGFQOgLCD9eCAsEw0NE1I6Aog6UhMNDRPUBi8fAf73Hy8GCPINExMNAQ4MEgEMAQwIAQoHDAILAhIMASgNExMN/vQI/okTDQ4SEg4NEwEgEw0OEhIODRMCYP3rHywsHwIVDRMTDf3rOlFROgIVDRMTDQEaHigmHjwTDQ0TEAxWBQkJB1QMEBMNDRM6/s7+ZA4SEg4BnA4SEg7+ZA4SEg4BnA4SEg4AAgAA/8AESQPAADwAggAAASIHDgEHBhUUFhcWFx4BFxYXHgEfAR4BFx4BMzI2Nz4BNz4BNwc2Nz4BNzY3PgE1NCcuAScmIyIGBy4BIwUyFx4BFxYVFAYHBgcOAQcGBw4BDwEOAQ8BDgEjMTAiMSImJzEuAScXLgEnFyYnLgEnJicuATU0Nz4BNzYzMhYfATc+ATMBQ0M7O1caGSovExkZPCMkJxk1GwYRHQYMHhAPHg0FHREgNxoCJyQjPBkZEy8qGRpXOztDQHQtLXVAAcM0Li9FFBQjKxEYFzoiIiUYNBsFChcNBAMJBAEECAMQGgwDHjYaAiYhIjoXGBEqJBQURS8uNDpoJBscJWg5A8AcG2A/QEhHbUoeHx9DIiMjFy4WBQ4XBAoKCgoEFw8ZMBgCJCIjQh8fHkptR0hAP2AbHDQvLzRFFhZMMzQ6Ol1CGx4dPyEhIhYtFgQIEwoDAwMDAgwVCgIZLhgDIyEhPx0eG0JdOjo0M0wWFjYxJiUyNgAAAQAAAAEAAKb8EWdfDzz1AAsEAAAAAADZaF2HAAAAANloXYcAAP/ABEkDwAAAAAgAAgAAAAAAAAABAAADwP/AAAAESQAAAAAESQABAAAAAAAAAAAAAAAAAAAANAQAAAAAAAAAAAAAAAIAAAAEAABLBAAAAAQAACsEAAAABAAAAAQAAAAEAAArBAAAQAQAAAAEAAAABAAADgQAAAAEAAHVBAAAKwQAABUEAAAABAAAAAQAAAAEAAALBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAOgQAAAAEAAAABAAAAAQAAAwESQABA+AAAAQAAAsEAADjBAAA4QQAAAsEAABTAqAADAQAALcEAAAMBAAANwQAAC8EAAAABAAAAARJAAAAAAAAAAoAFAAeAGQBSAGAAcICSALGAzQDhAPoBC4EiAUGBTIFTAV+BhQGggb2B5IIQAk8CfQK2gvcDVAOZA8+D8oQAhDSEUYRthIAEkoSdhKgEsoS9BMeE6AT0BQAFCoUaBTWFbIWRhcGAAAAAQAAADQBBwAKAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAYAAAABAAAAAAACAAcAVwABAAAAAAADAAYAMwABAAAAAAAEAAYAbAABAAAAAAAFAAsAEgABAAAAAAAGAAYARQABAAAAAAAKABoAfgADAAEECQABAAwABgADAAEECQACAA4AXgADAAEECQADAAwAOQADAAEECQAEAAwAcgADAAEECQAFABYAHQADAAEECQAGAAwASwADAAEECQAKADQAmG9uZXVpSQBvAG4AZQB1AGkASVZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMG9uZXVpSQBvAG4AZQB1AGkASW9uZXVpSQBvAG4AZQB1AGkASVJlZ3VsYXIAUgBlAGcAdQBsAGEAcm9uZXVpSQBvAG4AZQB1AGkASUZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=') + format('truetype'); + font-weight: normal; + font-style: normal; +} + +.new-fc-one-icon { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'new-fc-one-icon' !important; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.new-fc-one-icon-arrow-to-top::before { + content: '\e900'; +} + +.new-fc-one-icon-bullseye::before { + content: '\e901'; +} + +.new-fc-one-icon-calendar::before { + content: '\e91b'; +} + +.new-fc-one-icon-time::before { + content: '\e91f'; +} + +.new-fc-one-icon-ellipsis::before { + content: '\e902'; +} + +.new-fc-one-icon-envelope::before { + content: '\e903'; +} + +.new-fc-one-icon-fail::before { + content: '\e904'; +} + +.new-fc-one-icon-warning::before { + content: '\e905'; +} + +.new-fc-one-icon-file::before { + content: '\e906'; +} + +.new-fc-one-icon-flag::before { + content: '\e907'; +} + +.new-fc-one-icon-folder-open::before { + content: '\e908'; +} + +.new-fc-one-icon-folder::before { + content: '\e909'; +} + +.new-fc-one-icon-home::before { + content: '\e90a'; +} + +.new-fc-one-icon-info::before { + content: '\e90b'; +} + +.new-fc-one-icon-loading::before { + content: '\e90c'; +} + +.new-fc-one-icon-minus::before { + content: '\e90d'; +} + +.new-fc-one-icon-plus::before { + content: '\e90e'; +} + +.new-fc-one-icon-question::before { + content: '\e90f'; +} + +.new-fc-one-icon-search::before { + content: '\e910'; +} + +.new-fc-one-icon-success::before { + content: '\e911'; +} + +.new-fc-one-icon-sync-alt::before { + content: '\e912'; +} + +.new-fc-one-icon-heart-active::before { + content: '\e921'; + color: #f85d5d; +} + +.new-fc-one-icon-recommend::before { + content: '\e918'; +} + +.new-fc-one-icon-material::before { + content: '\e91d'; +} + +.new-fc-one-icon-delete::before { + content: '\e931'; + color: #666; +} + +.new-fc-one-icon-heart-o::before { + content: '\e932'; + color: #999; +} + +.new-fc-one-icon-fund::before { + content: '\e917'; +} + +.new-fc-one-icon-volume::before { + content: '\e930'; +} + +.new-fc-one-icon-suggest::before { + content: '\e913'; +} + +.new-fc-one-icon-budget::before { + content: '\e914'; +} + +.new-fc-one-icon-verify::before { + content: '\e915'; +} + +.new-fc-one-icon-accumulate::before { + content: '\e916'; +} + +.new-fc-one-icon-cost::before { + content: '\e919'; +} + +.new-fc-one-icon-transform::before { + content: '\e91a'; +} + +.new-fc-one-icon-filter::before { + content: '\e91c'; +} + +.new-fc-one-icon-refresh::before { + content: '\e91e'; +} + +.new-fc-one-icon-sorting::before { + content: '\e920'; +} + +.new-fc-one-icon-upload::before { + content: '\e923'; +} + +.new-fc-one-icon-angle-down::before { + content: '\e925'; +} + +.new-fc-one-icon-angle-left::before { + content: '\e926'; +} + +.new-fc-one-icon-angle-right::before { + content: '\e927'; +} + +.new-fc-one-icon-angle-up::before { + content: '\e928'; +} + +.new-fc-one-icon-append::before { + content: '\e929'; +} + +.new-fc-one-icon-arrow-down::before { + content: '\e92a'; +} + +.new-fc-one-icon-arrow-up::before { + content: '\e92b'; +} + +.new-fc-one-icon-check::before { + content: '\e92d'; +} + +.new-fc-one-icon-close::before { + content: '\e92e'; +} + +.new-fc-one-icon-copy::before { + content: '\e92f'; +} + +.new-fc-one-select-another-xsmall { + font-size: 12px; + border-radius: 2px; +} + +.new-fc-one-select-another-xsmall .new-fc-one-select-another-selection { + border-radius: 2px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection-text-error { + font-size: 12px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection__rendered { + line-height: 22px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection--multiple { + min-height: 22px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__choice { + height: 16px; + line-height: 16px; + margin-top: 4px; + margin-bottom: 4px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__clear, +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-arrow { + top: 12px; +} + +.new-fc-one-select-another-xsmall + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-search__field__wrap + input { + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-xsmall + .new-fc-one-select-another-dropdown-menu-item { + height: 24px; + line-height: 24px; + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-xsmall + .new-fc-one-select-another-dropdown-menu-item + .new-fc-one-checkbox-wrapper + + span { + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-xsmall + .new-fc-one-select-another-dropdown-menu-item-group-title { + height: 24px; + line-height: 24px; + font-size: 12px; +} + +.new-fc-one-select-another-small { + font-size: 12px; + border-radius: 2px; +} + +.new-fc-one-select-another-small .new-fc-one-select-another-selection { + border-radius: 2px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection-text-error { + font-size: 12px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection__rendered { + line-height: 26px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection--multiple { + min-height: 26px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__choice { + height: 20px; + line-height: 20px; + margin-top: 4px; + margin-bottom: 4px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__clear, +.new-fc-one-select-another-small + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-arrow { + top: 14px; +} + +.new-fc-one-select-another-small + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-search__field__wrap + input { + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-small + .new-fc-one-select-another-dropdown-menu-item { + height: 28px; + line-height: 28px; + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-small + .new-fc-one-select-another-dropdown-menu-item + .new-fc-one-checkbox-wrapper + + span { + font-size: 12px; +} + +.new-fc-one-select-another-dropdown-small + .new-fc-one-select-another-dropdown-menu-item-group-title { + height: 28px; + line-height: 28px; + font-size: 12px; +} + +.new-fc-one-select-another-medium { + font-size: 14px; + border-radius: 3px; +} + +.new-fc-one-select-another-medium .new-fc-one-select-another-selection { + border-radius: 3px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection-text-error { + font-size: 14px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection__rendered { + line-height: 30px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection--multiple { + min-height: 30px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__choice { + height: 24px; + line-height: 24px; + margin-top: 4px; + margin-bottom: 4px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__clear, +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-arrow { + top: 16px; +} + +.new-fc-one-select-another-medium + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-search__field__wrap + input { + font-size: 14px; +} + +.new-fc-one-select-another-dropdown-medium + .new-fc-one-select-another-dropdown-menu-item { + height: 32px; + line-height: 32px; + font-size: 14px; +} + +.new-fc-one-select-another-dropdown-medium + .new-fc-one-select-another-dropdown-menu-item + .new-fc-one-checkbox-wrapper + + span { + font-size: 14px; +} + +.new-fc-one-select-another-dropdown-medium + .new-fc-one-select-another-dropdown-menu-item-group-title { + height: 32px; + line-height: 32px; + font-size: 14px; +} + +.new-fc-one-select-another-large { + font-size: 16px; + border-radius: 4px; +} + +.new-fc-one-select-another-large .new-fc-one-select-another-selection { + border-radius: 4px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection-text-error { + font-size: 16px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection__rendered { + line-height: 34px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection--multiple { + min-height: 34px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__choice { + height: 28px; + line-height: 28px; + margin-top: 4px; + margin-bottom: 4px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__clear, +.new-fc-one-select-another-large + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-arrow { + top: 18px; +} + +.new-fc-one-select-another-large + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-search__field__wrap + input { + font-size: 16px; +} + +.new-fc-one-select-another-dropdown-large + .new-fc-one-select-another-dropdown-menu-item { + height: 36px; + line-height: 36px; + font-size: 16px; +} + +.new-fc-one-select-another-dropdown-large + .new-fc-one-select-another-dropdown-menu-item + .new-fc-one-checkbox-wrapper + + span { + font-size: 16px; +} + +.new-fc-one-select-another-dropdown-large + .new-fc-one-select-another-dropdown-menu-item-group-title { + height: 36px; + line-height: 36px; + font-size: 16px; +} + +.new-fc-one-select-another-disabled { + border: 1px solid #eee; + background-color: #fafafa; + color: #ccc; + cursor: not-allowed; +} + +.new-fc-one-select-another-disabled:hover, +.new-fc-one-select-another-disabled:active, +.new-fc-one-select-another-disabled:focus { + border-color: #eee; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] { + cursor: not-allowed; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice { + cursor: not-allowed; + background-color: #fafafa; + border: 1px solid #eee; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:hover, +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:active, +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:focus { + background-color: #fafafa; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice__remove { + cursor: not-allowed; +} + +.new-fc-one-select-another:not(.new-fc-one-select-another-disabled) { + border: 1px solid #e0e0e0; + background-color: #fff; + color: #333; + cursor: pointer; +} + +.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):hover, +.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):active { + border-color: #999; +} + +.new-fc-one-select-another:not(.new-fc-one-select-another-disabled):focus { + border-color: #3d88f2; +} + +.new-fc-one-select-another { + line-height: 1; + box-sizing: border-box; + margin: 0; + padding: 0; + list-style: none; + display: inline-block; + position: relative; + outline: 0; + width: 120px; + padding: 0 12px; +} + +.new-fc-one-select-another-focused { + border-color: #3d88f2; +} + +.new-fc-one-select-another-open { + border-color: #999; +} + +.new-fc-one-select-another-open .new-fc-one-select-another-arrow { + transform: scale(0.7, 0.7) rotate(180deg); +} + +.new-fc-one-select-another ul, +.new-fc-one-select-another ol { + margin: 0; + padding: 0; + list-style: none; +} + +.new-fc-one-select-another > ul > li > a { + padding: 0; + background-color: #fff; +} + +.new-fc-one-select-another-error-line { + border: 1px solid #e64552 !important; +} + +.new-fc-one-select-another-error-line:hover, +.new-fc-one-select-another-error-line:focus, +.new-fc-one-select-another-error-line:active { + border-color: #e64552 !important; +} + +.new-fc-one-select-another-error-line:focus { + box-shadow: 0 0 0 2px rgba(230, 69, 82, 0.2); +} + +.new-fc-one-select-another-selection__clear, +.new-fc-one-select-another-custom-key, +.new-fc-one-select-another-arrow { + position: absolute; + top: 50%; + right: 0; + line-height: 1; + margin-top: -6px; + color: #666; + font-size: calc(1em - 4px); + transition: transform 0.3s; + width: 1em; + height: 1em; + background: #fff; +} + +.new-fc-one-select-another-arrow { + transform: scale(0.7, 0.7); +} + +.new-fc-one-select-another-selection__clear { + transform: scale(1); + color: #999; + z-index: 1; + opacity: 0; +} + +.new-fc-one-select-another-selection { + position: relative; + outline: none; + user-select: none; + box-sizing: border-box; + display: block; + border-radius: 0; + transition: all 0.3s ease-in-out; +} + +.new-fc-one-select-another-selection:hover + .new-fc-one-select-another-selection__clear { + opacity: 1; +} + +.new-fc-one-select-another-selection-selected-value { + float: left; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; +} + +.new-fc-one-select-another-selection-text-error { + color: #e64552; + margin-top: 4px; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection__clear { + display: none; + visibility: hidden; + pointer-events: none; +} + +.new-fc-one-select-another-disabled + .new-fc-one-select-another-selection--multiple + .new-fc-one-select-another-selection__choice__remove { + display: none; +} + +.new-fc-one-select-another-selection--single { + position: relative; +} + +.new-fc-one-select-another-selection__rendered { + display: block; + position: relative; + padding-right: 14px; +} + +.new-fc-one-select-another-selection__rendered::after { + content: '.'; + visibility: hidden; + pointer-events: none; + display: inline-block; + width: 0; + height: 0; +} + +.new-fc-one-select-another-selection__placeholder, +.new-fc-one-select-another-search__field__placeholder { + position: absolute; + left: 0; + right: 14px; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + text-align: left; + color: #999; +} + +.new-fc-one-select-another-search__field__placeholder { + left: 8px; +} + +.new-fc-one-select-another-search__field__mirror { + position: absolute; + top: -2px; + left: 0; + white-space: pre; + pointer-events: none; + opacity: 0; + color: #333; +} + +.new-fc-one-select-another-search--inline { + position: absolute; + height: 100%; + width: 100%; +} + +.new-fc-one-select-another-search--inline + .new-fc-one-select-another-search__field__wrap { + width: 100%; + height: 100%; +} + +.new-fc-one-select-another-search--inline + .new-fc-one-select-another-search__field { + border-width: 0; + height: 100%; + width: calc(100% - 12px); + background: transparent; + outline: 0; + border-radius: 0; + line-height: 1; + color: #333; +} + +.new-fc-one-select-another-search--inline > i { + float: right; +} + +.new-fc-one-select-another-selection--multiple[type='list'] { + cursor: text; + zoom: 1; + position: relative; +} + +.new-fc-one-select-another-selection--multiple[type='list']::before, +.new-fc-one-select-another-selection--multiple[type='list']::after { + content: ' '; + display: table; +} + +.new-fc-one-select-another-selection--multiple[type='list']::after { + clear: both; + visibility: hidden; + font-size: 0; + height: 0; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-search--inline { + float: left; + position: relative; + top: 1px; + left: 0; + width: auto; + padding: 0; + max-width: calc(100% - 12px); +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-search--inline + .new-fc-one-select-another-search__field { + max-width: 100%; + width: 0.75em; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-search-hidden { + height: 0; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-search-ul { + padding: 0; + margin: 0; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-search-ul::after { + content: ' '; + display: table; + clear: both; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__rendered { + height: auto; + padding-right: 40px; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__rendered::after { + display: none; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice { + color: #333; + background-color: #f5f5f5; + border-radius: 2px; + float: left; + margin-right: 4px; + max-width: 99%; + position: relative; + overflow: hidden; + transition: padding 0.3s ease-in-out; + padding: 0 26px 0 8px; + cursor: pointer; + border: 1px solid #e0e0e0; + box-sizing: border-box; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:hover { + background-color: #eee; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:focus { + background-color: #eee; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice:active { + background-color: #e0e0e0; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice__disabled { + cursor: not-allowed; + background-color: #fafafa; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice__content { + display: inline-block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; + transition: margin 0.3s ease-in-out; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__choice__remove { + color: #666; + line-height: inherit; + cursor: pointer; + display: inline-block; + font-weight: bold; + transition: all 0.3s; + position: absolute; + right: 8px; + transform: scale(0.7, 0.7); + top: 1px; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__clear { + top: 16px; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__total_count { + right: 0; + position: absolute; + color: #999; + bottom: 4px; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__total_count-error { + color: #e64552; +} + +.new-fc-one-select-another-selection--multiple[type='list'] + .new-fc-one-select-another-selection__total_count-min { + right: 20px; + top: 50%; + transform: translateY(-50%); + height: 20px; + line-height: 20px; +} + +.new-fc-one-select-another-hidden { + display: none; +} + +.new-fc-one-select-another-multiple .new-fc-one-select-another { + width: 300px; +} + +.new-fc-one-select-another-dropdown { + line-height: 1; + margin: 0; + padding: 0; + list-style: none; + font-variant: initial; + background-color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); + border-radius: 3px; + box-sizing: border-box; + z-index: 1051; + left: -9999px; + top: -9999px; + position: absolute; + outline: none; +} + +.new-fc-one-select-another-dropdown.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-dropdown-placement-topLeft, +.new-fc-one-select-another-dropdown.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-dropdown-placement-topLeft { + animation-name: oneUISlideDownInEffect; +} + +.new-fc-one-select-another-dropdown.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-dropdown-placement-bottomLeft { + animation-name: oneUISlideUpOutEffect; +} + +.new-fc-one-select-another-dropdown.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-dropdown-placement-topLeft { + animation-name: oneUISlideDownOutEffect; +} + +.new-fc-one-select-another-dropdown-hidden { + display: none; +} + +.new-fc-one-select-another-dropdown-menu { + outline: none; + margin: 0; + padding-left: 0; + list-style: none; + overflow: auto; +} + +.new-fc-one-select-another-dropdown-menu-item-group-list { + margin: 0; + padding: 0; +} + +.new-fc-one-select-another-dropdown-menu-item-group-list + > .new-fc-one-select-another-dropdown-menu-item { + padding-left: 8px; +} + +.new-fc-one-select-another-dropdown-menu-item-group-title { + color: #999; + padding: 0 8px; +} + +.new-fc-one-select-another-dropdown-menu-item-group-list + .new-fc-one-select-another-dropdown-menu-item:first-child:not(:last-child), +.new-fc-one-select-another-dropdown-menu-item-group:not(:last-child) + .new-fc-one-select-another-dropdown-menu-item-group-list + .new-fc-one-select-another-dropdown-menu-item:last-child { + border-radius: 0; +} + +.new-fc-one-select-another-dropdown-menu-item-group:not(:last-child) { + padding-bottom: 2px; + border-bottom: 1px solid #999; +} + +.new-fc-one-select-another-dropdown-menu-item[type='custom'] { + position: relative; + display: block; + padding: 0 8px; +} + +.new-fc-one-select-another-dropdown-menu-item { + position: relative; + display: block; + padding: 0 8px; + white-space: nowrap; + cursor: pointer; + overflow: hidden; + text-overflow: ellipsis; + transition: background 0.3s ease; + background-color: #fff; + color: #333; +} + +.new-fc-one-select-another-dropdown-menu-item:hover { + background-color: #f5f5f5; + color: #000; +} + +.new-fc-one-select-another-dropdown-menu-item:active { + background-color: #eee; + color: #000; +} + +.new-fc-one-select-another-dropdown-menu-item:focus { + background-color: #f2f7ff; + color: #000; +} + +.new-fc-one-select-another-dropdown-menu-item-selected { + background-color: #fff; + color: #3d88f2; +} + +.new-fc-one-select-another-dropdown-menu-item-selected:hover { + background-color: #f5f5f5; + color: #3d88f2; +} + +.new-fc-one-select-another-dropdown-menu-item-selected:active { + background-color: #eee; + color: #3d88f2; +} + +.new-fc-one-select-another-dropdown-menu-item-selected:focus { + background-color: #f2f7ff; + color: #3d88f2; +} + +.new-fc-one-select-another-dropdown-menu-item-divider { + height: 1px; + margin: 1px 0; + overflow: hidden; + background-color: #eee; + line-height: 0; +} + +.new-fc-one-select-another-dropdown-menu-item-disabled { + background-color: #fafafa; + color: #ccc; + cursor: not-allowed; +} + +.new-fc-one-select-another-dropdown-menu-item-disabled:hover { + background-color: #fafafa; + color: #ccc; +} + +.new-fc-one-select-another-dropdown-menu-item-disabled:active { + background-color: #fafafa; + color: #ccc; +} + +.new-fc-one-select-another-dropdown-menu-item-disabled:focus { + background-color: #fafafa; + color: #ccc; +} + +.new-fc-one-select-another-dropdown-menu-container { + width: 172px; + height: 152px; + overflow: auto; +} + +.new-fc-one-select-another-dropdown-menu .new-fc-one-checkbox-wrapper { + font-size: inherit; +} + +.new-fc-one-select-another-dropdown--multiple + .new-fc-one-select-another-dropdown-menu-item-selected + .new-fc-one-checkbox-wrapper + + span { + background-color: transparent; + color: #333; +} + +.new-fc-one-select-another-dropdown--multiple + .new-fc-one-select-another-dropdown-menu-item-selected + .new-fc-one-checkbox-wrapper + + span:hover { + background-color: transparent; + color: #000; +} + +.new-fc-one-select-another-dropdown--multiple + .new-fc-one-select-another-dropdown-menu-item-selected + .new-fc-one-checkbox-wrapper + + span:active { + background-color: transparent; + color: #000; +} + +.new-fc-one-select-another-dropdown--multiple + .new-fc-one-select-another-dropdown-menu-item-selected + .new-fc-one-checkbox-wrapper + + span:focus { + background-color: transparent; + color: #000; +} + +.new-fc-one-select-another-dropdown-xsmall + .new-fc-one-select-another-dropdown-menu { + max-height: 248px; +} + +.new-fc-one-select-another-dropdown-small + .new-fc-one-select-another-dropdown-menu { + max-height: 288px; +} + +.new-fc-one-select-another-dropdown-medium + .new-fc-one-select-another-dropdown-menu { + max-height: 328px; +} + +.new-fc-one-select-another-dropdown-large + .new-fc-one-select-another-dropdown-menu { + max-height: 368px; +} + +.new-fc-one-select-another-search-text-highlight { + color: #f27c49; +} + +.new-fc-one-single-select { + background: #fff; + cursor: pointer; + position: relative; + color: #333; + border: 1px solid #dbdbdb; + padding-right: 20px; + box-sizing: border-box; + height: 32px; + line-height: 1; + display: inline-block; + vertical-align: middle; +} + +.new-fc-one-single-select-text { + font-size: 12px; + padding: 0 10px; + display: inline-block; + line-height: 30px; + height: 30px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; +} + +.new-fc-one-single-select:hover { + border: 1px solid #999; +} + +.new-fc-one-select-another-focused .new-fc-one-single-select, +.new-fc-one-single-select:focus, +.new-fc-one-single-select:active { + border: 1px solid #999; +} + +.new-fc-one-single-select-open .new-fc-one-icon { + transform: rotate(180deg) scale(0.7); +} + +.new-fc-one-single-select-disabled { + background: #eee; + cursor: not-allowed; + color: #b8b8b8; +} + +.new-fc-one-single-select-disabled:hover { + border: 1px solid #dbdbdb; +} + +.new-fc-one-select-another-focused .new-fc-one-single-select-disabled, +.new-fc-one-single-select-disabled:focus, +.new-fc-one-single-select-disabled:active { + border: 1px solid #dbdbdb; +} + +.new-fc-one-multiple-select { + position: relative; +} + +.new-fc-one-multiple-select-open .new-fc-one-icon { + transform: rotate(180deg) scale(0.7); +} + +.new-fc-one-multiple-select-text-label { + display: inline-block; +} + +.new-fc-one-select-another-popover { + line-height: 1; + margin: 0; + padding: 0; + list-style: none; + padding: 8px; + font-variant: initial; + background-color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); + border-radius: 0; + box-sizing: border-box; + z-index: 1051; + left: -9999px; + top: -9999px; + position: absolute; + outline: none; +} + +.new-fc-one-select-another-popover.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-popover-placement-topLeft, +.new-fc-one-select-another-popover.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-popover-placement-topLeft { + animation-name: oneUISlideDownInEffect; +} + +.new-fc-one-select-another-popover.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-popover-placement-bottomLeft { + animation-name: oneUISlideUpOutEffect; +} + +.new-fc-one-select-another-popover.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-popover-placement-topLeft { + animation-name: oneUISlideDownOutEffect; +} + +.new-fc-one-select-another-popover-hidden { + display: none; +} + +.new-fc-one-select-another-popover-container { + width: 288px; +} + +.new-fc-one-select-another-popover-container-open + .new-fc-one-select-another-arrow { + transform: scale(0.7, 0.7) rotate(180deg); +} + +.new-fc-one-select-another-popover-container + .new-fc-one-select-another-selection__total { + top: 0 !important; + left: 8px !important; +} + +.new-fc-one-select-another-popover-container + .new-fc-one-select-another-selection { + cursor: auto; +} + +.new-fc-one-select-another-popover-inner { + width: 100%; +} + +.new-fc-one-select-another-popover-inner-container { + display: inline-block; + width: 100%; +} + +.new-fc-one-select-another-popover-inner-container-custom { + margin-bottom: 8px; +} + +.new-fc-one-select-another-popover-inner-container-button-item { + margin-right: 8px; +} + +.new-fc-one-select-another-pop { + line-height: 1; + margin: 0; + padding: 0; + list-style: none; + font-variant: initial; + background-color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15); + border-radius: 0; + box-sizing: border-box; + z-index: 1051; + left: -9999px; + top: -9999px; + position: absolute; + outline: none; +} + +.new-fc-one-select-another-pop.slide-up-enter.slide-up-enter-active.new-fc-one-select-another-pop-placement-topLeft, +.new-fc-one-select-another-pop.slide-up-appear.slide-up-appear-active.new-fc-one-select-another-pop-placement-topLeft { + animation-name: oneUISlideDownInEffect; +} + +.new-fc-one-select-another-pop.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-pop-placement-bottomLeft { + animation-name: oneUISlideUpOutEffect; +} + +.new-fc-one-select-another-pop.slide-up-leave.slide-up-leave-active.new-fc-one-select-another-pop-placement-topLeft { + animation-name: oneUISlideDownOutEffect; +} + +.new-fc-one-select-another-pop-hidden { + display: none; +} + +.new-fc-one-select-another-container { + display: inline-block; +} + +.new-fc-one-select-another-selection-item { + position: relative; + top: -10px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx new file mode 100644 index 000000000..7bf17bd6d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/NewVertexType.tsx @@ -0,0 +1,1023 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import classnames from 'classnames'; +import { cloneDeep, isUndefined } from 'lodash-es'; +import { + Input, + Radio, + Select, + Button, + Switch, + Tooltip, + Checkbox, + Message +} from 'hubble-ui'; +import { useTranslation } from 'react-i18next'; + +import { Tooltip as CustomTooltip } from '../../../common/'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { formatVertexIdText } from '../../../../stores/utils'; + +import type { VertexTypeValidatePropertyIndexes } from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import HintIcon from '../../../../assets/imgs/ic_question_mark.svg'; +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import closeIcon from '../../../../assets/imgs/ic_close_16.svg'; + +import './NewVertexType.less'; + +const NewVertexType: React.FC = observer(() => { + const dataAnalyzeStore = useContext(DataAnalyzeStore); + const { metadataPropertyStore, vertexTypeStore } = useContext( + MetadataConfigsRootStore + ); + const { t } = useTranslation(); + const [isAddNewProperty, switchIsAddNewProperty] = useState(false); + const [deletePopIndex, setDeletePopIndex] = useState(null); + const deleteWrapperRef = useRef(null); + const dropdownWrapperRef = useRef(null); + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + isAddNewProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddNewProperty(false); + } + + if ( + deletePopIndex && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + setDeletePopIndex(null); + } + }, + [deletePopIndex, isAddNewProperty] + ); + + useEffect(() => { + metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); + vertexTypeStore.validateAllNewVertexType(true); + }, [metadataPropertyStore, vertexTypeStore]); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
+
+
+ {t('addition.menu.base-info')} +
+
+
+ * + {t('addition.vertex.vertex-type-name')}: +
+ { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + name: e.value + }); + }} + originInputProps={{ + onBlur() { + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('name'); + } + }} + /> +
+ +
+
+ * + {t('addition.vertex.vertex-style')}: +
+
+ +
+
+ +
+
+ +
+
+ * + {t('addition.common.id-strategy')}: +
+ ) => { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + id_strategy: e.target.value + }); + + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('primaryKeys'); + }} + > + + {t('addition.constant.primary-key-id')} + + + {t('addition.constant.automatic-generation')} + + + {t('addition.constant.custom-string')} + + + {t('addition.constant.custom-number')} + + + {t('addition.constant.custom-uuid')} + + +
+
+
+ {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( + * + )} + {t('addition.common.association-property')}: +
+
+ {vertexTypeStore.newVertexType.properties.length !== 0 && ( +
+
+
{t('addition.common.property')}
+
{t('addition.common.allow-null')}
+
+ {vertexTypeStore.newVertexType.properties.map( + (property, index) => { + const currentProperties = cloneDeep( + vertexTypeStore.newVertexType.properties + ); + + return ( +
+
{property.name}
+
+ { + currentProperties[index].nullable = checked; + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + properties: currentProperties + }); + + // remove primary keys since it could be empty value + if (checked) { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + primary_keys: + vertexTypeStore.newVertexType.primary_keys.filter( + (key) => key !== property.name + ) + }); + } + }} + size="large" + /> +
+
+ ); + } + )} +
+ )} +
{ + switchIsAddNewProperty(!isAddNewProperty); + }} + > + {t('addition.common.add-property')} + toggleAddProperty +
+
+
+ {isAddNewProperty && ( +
+
+
+ {metadataPropertyStore.metadataProperties.map((property) => ( +
+ + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + vertexTypeStore.addedPropertiesInSelectedVertextType; + + addedPropertiesInSelectedVertextType.has(property.name) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = + vertexTypeStore.newVertexType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined(currentProperty) + ? currentProperty.nullable + : true + }; + }) + }); + + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType('properties'); + }} + > + {property.name} + + +
+ ))} +
+
+ )} + {vertexTypeStore.newVertexType.id_strategy === 'PRIMARY_KEY' && ( +
+
+ * + {t('addition.common.primary-key-property')}: +
+ +
+ )} + +
+
+ * + {t('addition.vertex.vertex-display-content')}: +
+ +
+ +
+ + {t('addition.edge.index-info')} + + + hint + +
+
+
+ * + {t('addition.menu.type-index')}: +
+ { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + open_label_index: + !vertexTypeStore.newVertexType.open_label_index + }); + }} + size="large" + /> +
+
+
+ {t('addition.common.property-index')}: +
+
+ {vertexTypeStore.newVertexType.property_indexes.length !== 0 && ( +
+
+ {t('addition.edge.index-name')} +
+
+ {t('addition.edge.index-type')} +
+
{t('addition.common.property')}
+
+ )} + {vertexTypeStore.newVertexType.property_indexes.map( + ({ name, type, fields }, index) => ( +
+
+ { + const propertyIndexEntities = cloneDeep( + vertexTypeStore.newVertexType.property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType( + 'propertyIndexes' + ); + } + }} + /> +
+
+ +
+
+ +
+ + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const propertyIndexEntities = cloneDeep( + vertexTypeStore.newVertexType.property_indexes + ); + + propertyIndexEntities.splice(index, 1); + + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: propertyIndexEntities + }); + + vertexTypeStore.validateAllNewVertexType(true); + vertexTypeStore.validateNewVertexType( + 'propertyIndexes' + ); + + setDeletePopIndex(null); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeletePopIndex(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: closeIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeletePopIndex(index); + } + }} + childrenWrapperElement="img" + /> +
+ ) + )} + { + if ( + vertexTypeStore.newVertexType.property_indexes.length === 0 || + vertexTypeStore.isAddNewPropertyIndexReady + ) { + vertexTypeStore.mutateNewProperty({ + ...vertexTypeStore.newVertexType, + property_indexes: [ + ...vertexTypeStore.newVertexType.property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + vertexTypeStore.validateAllNewVertexType(true); + // set isAddNewPropertyIndexReady to false + vertexTypeStore.validateNewVertexType( + 'propertyIndexes', + true + ); + } + }} + style={{ + cursor: 'pointer', + color: vertexTypeStore.isAddNewPropertyIndexReady + ? '#2b65ff' + : '#999', + lineHeight: '32px' + }} + > + {t('addition.edge.add-group')} + +
+
+ +
+
+ + +
+
+ + ); +}); + +export default NewVertexType; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less new file mode 100644 index 000000000..71698137e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.less @@ -0,0 +1,100 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.reuse-properties-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; + + .reuse-steps { + width: 860px; + margin: 16px auto 18px; + } + + .reuse-properties { + &-row { + display: flex; + align-items: center; + margin: 18px 0 32px; + font-size: 14px; + color: #333; + + &:last-child { + margin-bottom: 24px; + } + + &-name { + width: 98px; + text-align: right; + margin-right: 13.9px; + } + } + + &-manipulations { + display: flex; + justify-content: center; + margin-bottom: 88px; + } + + &-validate { + &-duplicate, + &-exist, + &-pass { + width: 58px; + margin: 0 auto; + border-radius: 2px; + letter-spacing: 0; + line-height: 22px; + text-align: center; + } + + &-duplicate { + background: #fff2f2; + border: 1px solid #ff9499; + color: #e64552; + } + + &-exist, + &-pass { + background: #f2fff4; + border: 1px solid #7ed988; + color: #39bf45; + } + } + + &-complete-hint { + display: flex; + flex-direction: column; + justify-content: center; + margin: 88px auto 327px; + + &-description { + display: flex; + justify-content: center; + + & > div { + margin-left: 20px; + } + } + + &-manipulations { + margin: 42px auto 0; + } + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx new file mode 100644 index 000000000..ba1540f2f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/ReuseVertexTypes.tsx @@ -0,0 +1,1052 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { useContext, useState, useEffect } from 'react'; +import { observer } from 'mobx-react'; +import { + Select, + Steps, + Transfer, + Button, + Table, + Input, + Message +} from 'hubble-ui'; + +import { GraphManagementStoreContext } from '../../../../stores'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; + +import PassIcon from '../../../../assets/imgs/ic_pass.svg'; + +import './ReuseVertexTypes.less'; +import { cloneDeep } from 'lodash-es'; +import { useTranslation } from 'react-i18next'; + +const ReuseVertexTypes: React.FC = observer(() => { + const graphManagementStore = useContext(GraphManagementStoreContext); + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { vertexTypeStore } = metadataConfigsRootStore; + const { t } = useTranslation(); + const [currentStatus, setCurrentStatus] = useState(1); + // acutally the name, not id in database + const [selectedId, mutateSelectedId] = useState<[] | string>([]); + const [selectedList, mutateSelectedList] = useState([]); + + // step 2 + const [vertexTypeEditIndex, setVertexTypeEditIndex] = useState( + null + ); + const [propertyEditIndex, setPropertyEditIndex] = useState( + null + ); + const [propertyIndexEditIndex, setPropertyIndexEditIndex] = useState< + number | null + >(null); + + // hack: need to call @observable at here to dispatch re-render by mobx + // since @action in onBlur() in doesn't dispatch re-render + vertexTypeStore.validateReuseErrorMessage.vertexType.toUpperCase(); + vertexTypeStore.validateReuseErrorMessage.property.toUpperCase(); + vertexTypeStore.validateReuseErrorMessage.property_index.toUpperCase(); + + const vertexTypeColumnConfigs = [ + { + title: t('addition.common.vertex-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== vertexTypeEditIndex) { + return ( +
+ {text} +
+ ); + } + + return ( + { + // remove validate message after user input changes + vertexTypeStore.resetValidateReuseErrorMessage('vertexType'); + + const editedCheckedReusableData = cloneDeep( + vertexTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.vertexlabel_conflicts[ + index + ].entity.name = e.value; + + vertexTypeStore.mutateEditedReusableData( + editedCheckedReusableData + ); + }} + originInputProps={{ + onBlur() { + vertexTypeStore.validateReuseData( + 'vertexType', + vertexTypeStore.checkedReusableData!.vertexlabel_conflicts[ + index + ].entity.name, + vertexTypeStore.editedCheckedReusableData! + .vertexlabel_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + width: '30%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (vertexTypeStore.reusableVertexTypeNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return ( +
+ {text} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === vertexTypeEditIndex) { + const originalName = vertexTypeStore.checkedReusableData! + .vertexlabel_conflicts[index].entity.name; + const changedName = vertexTypeStore.editedCheckedReusableData! + .vertexlabel_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + return ( +
+ { + if ( + !isChanged || + !vertexTypeStore.validateReuseData( + 'vertexType', + originalName, + changedName + ) + ) { + return; + } + + vertexTypeStore.mutateReuseData( + 'vertexType', + originalName, + changedName + ); + setVertexTypeEditIndex(null); + vertexTypeStore.mutateReusableVertexTypeChangeIndexes(index); + }} + > + {t('addition.common.save')} + + { + vertexTypeStore.resetValidateReuseErrorMessage('vertexType'); + setVertexTypeEditIndex(null); + vertexTypeStore.resetEditedReusableVertexTypeName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (vertexTypeEditIndex !== null) { + return; + } + + setVertexTypeEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (vertexTypeEditIndex !== null) { + return; + } + + setPropertyEditIndex(null); + + // remove selected status of the property in + const newSelectedList = [...selectedList].filter( + (property) => + property !== + vertexTypeStore.editedCheckedReusableData! + .vertexlabel_conflicts[index].entity.name + ); + + mutateSelectedList(newSelectedList); + + // notice: useState hooks cannot sync updated state value, so the length is still 1 + if (selectedList.length === 1) { + setCurrentStatus(1); + // remove edit status after return previous + vertexTypeStore.clearReusableNameChangeIndexes(); + return; + } + + vertexTypeStore.deleteReuseData('vertexlabel_conflicts', index); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + const metadataPropertyColumnConfigs = [ + { + title: t('addition.common.property-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== propertyEditIndex) { + return text; + } + + return ( + { + // remove validate message after user input changes + vertexTypeStore.resetValidateReuseErrorMessage('property'); + + const editedCheckedReusableData = cloneDeep( + vertexTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.propertykey_conflicts[ + index + ].entity.name = e.value; + + vertexTypeStore.mutateEditedReusableData( + editedCheckedReusableData + ); + }} + originInputProps={{ + onBlur() { + vertexTypeStore.validateReuseData( + 'property', + vertexTypeStore.checkedReusableData!.propertykey_conflicts[ + index + ].entity.name, + vertexTypeStore.editedCheckedReusableData! + .propertykey_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.common.data-type'), + dataIndex: 'data_type', + width: '15%', + render(text: string) { + if (text === 'TEXT') { + return 'string'; + } + + return text.toLowerCase(); + } + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + align: 'center', + width: '15%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (vertexTypeStore.reusablePropertyNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return
{text}
; + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === propertyEditIndex) { + const originalName = vertexTypeStore.checkedReusableData! + .propertykey_conflicts[index].entity.name; + const changedName = vertexTypeStore.editedCheckedReusableData! + .propertykey_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + return ( +
+ { + if ( + !isChanged || + !vertexTypeStore.validateReuseData( + 'property', + originalName, + changedName + ) + ) { + return; + } + + vertexTypeStore.mutateReuseData( + 'property', + originalName, + changedName + ); + + setPropertyEditIndex(null); + vertexTypeStore.mutateReusablePropertyNameChangeIndexes( + index + ); + }} + > + {t('addition.common.save')} + + { + vertexTypeStore.resetValidateReuseErrorMessage('property'); + setPropertyEditIndex(null); + vertexTypeStore.resetEditedReusablePropertyName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (propertyEditIndex !== null) { + return; + } + + setPropertyEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (propertyEditIndex !== null) { + return; + } + + setPropertyEditIndex(null); + + vertexTypeStore.deleteReuseData('propertykey_conflicts', index); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + const metadataPropertyIndexColumnConfigs = [ + { + title: t('addition.common.property-index-name'), + dataIndex: 'name', + width: '50%', + render(text: string, records: any, index: number) { + if (index !== propertyIndexEditIndex) { + return text; + } + + return ( + { + vertexTypeStore.resetValidateReuseErrorMessage('property_index'); + + const editedCheckedReusableData = cloneDeep( + vertexTypeStore.editedCheckedReusableData! + ); + + editedCheckedReusableData.propertyindex_conflicts[ + index + ].entity.name = e.value; + + vertexTypeStore.mutateEditedReusableData( + editedCheckedReusableData + ); + }} + originInputProps={{ + onBlur() { + vertexTypeStore.validateReuseData( + 'property_index', + vertexTypeStore.checkedReusableData!.propertyindex_conflicts[ + index + ].entity.name, + vertexTypeStore.editedCheckedReusableData! + .propertyindex_conflicts[index].entity.name + ); + } + }} + /> + ); + } + }, + { + title: t('addition.vertex.corresponding-vertex-type'), + dataIndex: 'owner', + width: '15%' + }, + { + title: t('addition.edge.verification-result'), + dataIndex: 'status', + align: 'center', + width: '15%', + render(value: string, records: any, index: number) { + let classname = ''; + let text = ''; + + if (vertexTypeStore.reusablePropertyIndexNameChangeIndexes.has(index)) { + return ( +
+ {t('addition.edge.be-verified')} +
+ ); + } + + switch (value) { + case 'DUPNAME': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.duplicate-name'); + break; + + case 'DEP_CONFLICT': + classname = 'reuse-properties-validate-duplicate'; + text = t('addition.message.dependency-conflict'); + break; + + case 'EXISTED': + classname = 'reuse-properties-validate-exist'; + text = t('addition.message.already-exist'); + break; + + case 'PASSED': + classname = 'reuse-properties-validate-pass'; + text = t('addition.message.pass'); + break; + } + + return
{text}
; + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '20%', + render(_: never, records: any, index: number) { + if (index === propertyIndexEditIndex) { + const originalName = vertexTypeStore.checkedReusableData! + .propertyindex_conflicts[index].entity.name; + const changedName = vertexTypeStore.editedCheckedReusableData! + .propertyindex_conflicts[index].entity.name; + const isChanged = changedName !== originalName; + + return ( +
+ { + if ( + !isChanged || + !vertexTypeStore.validateReuseData( + 'property_index', + originalName, + changedName + ) + ) { + return; + } + + vertexTypeStore.mutateReuseData( + 'property_index', + originalName, + changedName + ); + + setPropertyIndexEditIndex(null); + vertexTypeStore.mutateReusablePropertyIndexNameChangeIndexes( + index + ); + }} + > + {t('addition.common.save')} + + { + vertexTypeStore.resetValidateReuseErrorMessage( + 'property_index' + ); + setPropertyIndexEditIndex(null); + vertexTypeStore.resetEditedReusablePropertyIndexName(index); + }} + > + {t('addition.common.cancel')} + +
+ ); + } + + return ( +
+ { + if (propertyIndexEditIndex !== null) { + return; + } + + setPropertyIndexEditIndex(index); + }} + > + {t('addition.operate.rename')} + + { + if (propertyIndexEditIndex !== null) { + return; + } + + setPropertyIndexEditIndex(null); + + vertexTypeStore.deleteReuseData( + 'propertyindex_conflicts', + index + ); + }} + > + {t('addition.common.del')} + +
+ ); + } + } + ]; + + useEffect(() => { + // unlike metadata properties, all vertex types only needs here(in reuse) + vertexTypeStore.fetchVertexTypeList({ fetchAll: true }); + }, [vertexTypeStore]); + + return ( +
+
+ {t('addition.operate.reuse-vertex-type')} +
+
+ {t('addition.message.reuse-vertex-type-notice')} +
+
+ + {[ + t('addition.menu.select-reuse-item'), + t('addition.menu.confirm-reuse-item'), + t('addition.menu.complete-reuse') + ].map((title: string, index: number) => ( + index + 1 + ? 'finish' + : 'wait' + } + key={title} + /> + ))} + + + {currentStatus === 1 && ( + <> +
+
+ * + {t('addition.newGraphConfig.id')}: +
+ +
+
+
+ * + {t('addition.operate.reuse-vertex-type')}: +
+ name + )} + selectedList={selectedList} + showSearchBox={false} + candidateTreeStyle={{ + width: 355, + fontSize: 14 + }} + selectedTreeStyle={{ + width: 355, + fontSize: 14 + }} + handleSelect={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleSelectAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDelete={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + handleDeleteAll={(selectedList: string[]) => { + mutateSelectedList(selectedList); + }} + /> +
+
+ + +
+ + )} + + {currentStatus === 2 && ( + <> +
+ {t('addition.common.selected-vertex-type')} +
+
({ + name: entity.name, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ {t('addition.common.selected-property')} +
+
({ + name: entity.name, + data_type: entity.data_type, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ {t('addition.common.selected-property-index')} +
+
({ + name: entity.name, + owner: entity.owner, + status + }) + ) + : [] + } + pagination={false} + /> + +
+ + +
+ + )} + + {currentStatus === 3 && ( +
+
+ {t('addition.message.reuse-complete')} +
+
{t('addition.message.reuse-complete')}
+
{t('addition.message.vertex-type-reuse-success')}
+
+
+
+ + +
+
+ )} + + + ); +}); + +export default ReuseVertexTypes; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less new file mode 100644 index 000000000..20b083faa --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.less @@ -0,0 +1,23 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +.vertex-type-list-wrapper { + width: 100%; + background: #fff; + margin-top: 16px; + padding: 16px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx new file mode 100644 index 000000000..eaa7197c6 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/VertexTypeList.tsx @@ -0,0 +1,1888 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React, { + useContext, + useState, + useEffect, + useRef, + useCallback +} from 'react'; +import { observer } from 'mobx-react'; +import { + cloneDeep, + intersection, + size, + without, + isEmpty, + isUndefined, + values +} from 'lodash-es'; +import { useLocation } from 'wouter'; +import classnames from 'classnames'; +import { motion } from 'framer-motion'; +import { + Button, + Table, + Switch, + Modal, + Drawer, + Input, + Select, + Checkbox, + Message, + Loading +} from 'hubble-ui'; + +import { Tooltip, LoadingDataView } from '../../../common'; +import NewVertexType from './NewVertexType'; +import ReuseVertexTypes from './ReuseVertexTypes'; +import MetadataConfigsRootStore from '../../../../stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore'; +import DataAnalyzeStore from '../../../../stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import { formatVertexIdText } from '../../../../stores/utils'; + +import type { + VertexTypeValidatePropertyIndexes, + VertexType +} from '../../../../stores/types/GraphManagementStore/metadataConfigsStore'; + +import AddIcon from '../../../../assets/imgs/ic_add.svg'; +import BlueArrowIcon from '../../../../assets/imgs/ic_arrow_blue.svg'; +import WhiteCloseIcon from '../../../../assets/imgs/ic_close_white.svg'; +import CloseIcon from '../../../../assets/imgs/ic_close_16.svg'; +import i18next from '../../../../i18n'; +import { useTranslation } from 'react-i18next'; + +import './VertexTypeList.less'; + +const styles = { + button: { + marginLeft: 12, + width: 78 + }, + header: { + marginBottom: 16 + }, + manipulation: { + marginRight: 12 + }, + deleteWrapper: { + display: 'flex', + justifyContent: 'flex-end' + }, + loading: { + padding: 0, + marginRight: 4 + } +}; + +const variants = { + initial: { + opacity: 0 + }, + animate: { + opacity: 1, + transition: { + duration: 0.7 + } + }, + exit: { + opacity: 0, + transition: { + duration: 0.3 + } + } +}; + +const IDStrategyMappings: Record = { + PRIMARY_KEY: i18next.t('addition.constant.primary-key-id'), + AUTOMATIC: i18next.t('addition.constant.automatic-generation'), + CUSTOMIZE_STRING: i18next.t('addition.constant.custom-string'), + CUSTOMIZE_NUMBER: i18next.t('addition.constant.custom-number'), + CUSTOMIZE_UUID: i18next.t('addition.constant.custom-uuid') +}; + +const propertyIndexTypeMappings: Record = { + SECONDARY: i18next.t('addition.menu.secondary-index'), + RANGE: i18next.t('addition.menu.range-index'), + SEARCH: i18next.t('addition.menu.full-text-index') +}; + +const VertexTypeList: React.FC = observer(() => { + const metadataConfigsRootStore = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + const { metadataPropertyStore, vertexTypeStore } = metadataConfigsRootStore; + const [preLoading, switchPreLoading] = useState(true); + const [sortOrder, setSortOrder] = useState(''); + const [selectedRowKeys, mutateSelectedRowKeys] = useState([]); + const [isShowModal, switchShowModal] = useState(false); + const [isAddProperty, switchIsAddProperty] = useState(false); + const [isEditVertex, switchIsEditVertex] = useState(false); + const [ + deleteExistPopIndexInDrawer, + setDeleteExistPopIndexInDrawer + ] = useState(null); + const [ + deleteAddedPopIndexInDrawer, + setDeleteAddedPopIndexInDrawer + ] = useState(null); + const [, setLocation] = useLocation(); + + const dropdownWrapperRef = useRef(null); + const deleteWrapperInDrawerRef = useRef(null); + + const isLoading = + preLoading || + vertexTypeStore.requestStatus.fetchVertexTypeList === 'pending'; + + const currentSelectedRowKeys = intersection( + selectedRowKeys, + vertexTypeStore.vertexTypes.map(({ name }) => name) + ); + + // need useCallback to stop infinite callings of useEffect + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + // if clicked element is not on dropdown, collpase it + if ( + isEditVertex && + isAddProperty && + dropdownWrapperRef.current && + !dropdownWrapperRef.current.contains(e.target as Element) + ) { + switchIsAddProperty(false); + } + + if ( + (deleteExistPopIndexInDrawer || deleteAddedPopIndexInDrawer) && + deleteWrapperInDrawerRef.current && + !deleteWrapperInDrawerRef.current.contains(e.target as Element) + ) { + setDeleteExistPopIndexInDrawer(null); + setDeleteAddedPopIndexInDrawer(null); + } + }, + [deleteExistPopIndexInDrawer, deleteAddedPopIndexInDrawer, isAddProperty] + ); + + const handleSelectedTableRow = (newSelectedRowKeys: string[]) => { + mutateSelectedRowKeys(newSelectedRowKeys); + }; + + const handleCloseDrawer = () => { + switchIsAddProperty(false); + switchIsEditVertex(false); + vertexTypeStore.selectVertexType(null); + // clear mutations in + vertexTypeStore.resetEditedSelectedVertexType(); + }; + + const handleSortClick = () => { + switchPreLoading(true); + + if (sortOrder === 'descend') { + vertexTypeStore.mutatePageSort('asc'); + setSortOrder('ascend'); + } else { + vertexTypeStore.mutatePageSort('desc'); + setSortOrder('descend'); + } + + vertexTypeStore.fetchVertexTypeList(); + }; + + const batchDeleteProperties = async () => { + if ( + values(currentSelectedRowKeys).every( + (key) => vertexTypeStore.vertexTypeUsingStatus?.[key] + ) + ) { + Message.error({ + content: t('addition.message.no-can-delete-vertex-type'), + size: 'medium', + showCloseIcon: false + }); + + return; + } + + switchShowModal(false); + // need to set a copy in store since local row key state would be cleared + vertexTypeStore.mutateSelectedVertexTypeNames(currentSelectedRowKeys); + // mutateSelectedRowKeys([]); + await vertexTypeStore.deleteVertexType(currentSelectedRowKeys); + + if (vertexTypeStore.requestStatus.deleteVertexType === 'success') { + Message.success({ + content: t('addition.common.del-success'), + size: 'medium', + showCloseIcon: false + }); + + mutateSelectedRowKeys( + without(selectedRowKeys, ...currentSelectedRowKeys) + ); + + await vertexTypeStore.fetchVertexTypeList(); + + // fetch previous page data if it's empty + if ( + vertexTypeStore.requestStatus.fetchVertexTypeList === 'success' && + size(vertexTypeStore.vertexTypes) === 0 && + vertexTypeStore.vertexListPageConfig.pageNumber > 1 + ) { + vertexTypeStore.mutatePageNumber( + vertexTypeStore.vertexListPageConfig.pageNumber - 1 + ); + + vertexTypeStore.fetchVertexTypeList(); + } + + return; + } + + if (vertexTypeStore.requestStatus.deleteVertexType === 'failed') { + Message.error({ + content: vertexTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + } + }; + + const columnConfigs = [ + { + title: t('addition.vertex.vertex-type-name'), + dataIndex: 'name', + sorter: true, + sortOrder, + width: '20%', + render(text: string, records: any[], index: number) { + return ( +
{ + vertexTypeStore.selectVertexType(index); + + // check also need style infos + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + style: { + color: vertexTypeStore.selectedVertexType!.style.color, + icon: null, + size: vertexTypeStore.selectedVertexType!.style.size, + display_fields: vertexTypeStore.selectedVertexType!.style + .display_fields + } + }); + }} + > + {text} +
+ ); + } + }, + { + title: t('addition.common.association-property'), + dataIndex: 'properties', + width: '20%', + render(properties: { name: string; nullable: boolean }[]) { + const joinedProperties = + properties.length !== 0 + ? properties.map(({ name }) => name).join('; ') + : '-'; + + return ( +
+ {joinedProperties} +
+ ); + } + }, + { + title: t('addition.common.id-strategy'), + dataIndex: 'id_strategy', + width: '10%', + render(text: string) { + return ( +
+ {IDStrategyMappings[text]} +
+ ); + } + }, + { + title: t('addition.common.primary-key-property'), + dataIndex: 'primary_keys', + width: '10%', + render(properties: string[]) { + const joinedProperties = + properties.length !== 0 ? properties.join('; ') : '-'; + + return ( +
+ {joinedProperties} +
+ ); + } + }, + { + title: t('addition.menu.type-index'), + dataIndex: 'open_label_index', + width: '10%', + render(value: boolean) { + return ( + + ); + } + }, + { + title: t('addition.common.property-index'), + dataIndex: 'property_indexes', + width: '17%', + render(indexes: { name: string; type: string; fields: string[] }[]) { + const joindedIndexes = + indexes.length !== 0 + ? indexes.map(({ name }) => name).join('; ') + : '-'; + + return ( +
+ {joindedIndexes} +
+ ); + } + }, + { + title: t('addition.operate.operate'), + dataIndex: 'manipulation', + width: '13%', + render(_: any, records: VertexType, index: number) { + return ( + + ); + } + } + ]; + + const metadataDrawerOptionClass = classnames({ + 'metadata-drawer-options': true, + 'metadata-drawer-options-disabled': isEditVertex + }); + + useEffect(() => { + setTimeout(() => { + switchPreLoading(false); + }, 500); + }, [sortOrder]); + + useEffect(() => { + return () => { + const messageComponents = document.querySelectorAll( + '.new-fc-one-message' + ) as NodeListOf; + + messageComponents.forEach((messageComponent) => { + messageComponent.style.display = 'none'; + }); + }; + }); + + useEffect(() => { + if (metadataConfigsRootStore.currentId !== null) { + metadataPropertyStore.fetchMetadataPropertyList({ fetchAll: true }); + vertexTypeStore.fetchVertexTypeList(); + } + + return () => { + vertexTypeStore.dispose(); + }; + }, [ + metadataPropertyStore, + metadataConfigsRootStore.currentId, + vertexTypeStore + ]); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + if (vertexTypeStore.currentTabStatus === 'new') { + return ; + } + + if (vertexTypeStore.currentTabStatus === 'reuse') { + return ; + } + + return ( + +
+
+ + +
+ {size(currentSelectedRowKeys) !== 0 && ( +
+
+ {t('addition.message.selected')} + {size(currentSelectedRowKeys)} + {t('addition.common.term')} +
+ + {t('addition.common.close')} { + mutateSelectedRowKeys([]); + }} + /> +
+ )} +
rowData.name} + locale={{ + emptyText: ( + } + /> + ) + }} + rowSelection={{ + selectedRowKeys, + onChange: handleSelectedTableRow + }} + onSortClick={handleSortClick} + dataSource={isLoading ? [] : vertexTypeStore.vertexTypes} + pagination={ + isLoading + ? null + : { + hideOnSinglePage: false, + pageNo: vertexTypeStore.vertexListPageConfig.pageNumber, + pageSize: 10, + showSizeChange: false, + showPageJumper: false, + total: vertexTypeStore.vertexListPageConfig.pageTotal, + onPageNoChange: (e: React.ChangeEvent) => { + // mutateSelectedRowKeys([]); + vertexTypeStore.mutatePageNumber(Number(e.target.value)); + vertexTypeStore.fetchVertexTypeList(); + } + } + } + /> + + { + switchShowModal(false); + }} + > +
+
+ {t('addition.common.del-comfirm')} + {t('addition.common.close')} { + switchShowModal(false); + }} + /> +
+
+ {t('addition.vertex.using-cannot-delete-confirm')} +
+
+ {t('addition.message.long-time-notice')} +
+
) { + return ( + + {text} + + ); + } + }, + { + title: t('addition.common.status'), + dataIndex: 'status', + render(isUsing: boolean) { + return ( +
+ {isUsing + ? t('addition.common.in-use') + : t('addition.common.not-used')} +
+ ); + } + } + ]} + dataSource={currentSelectedRowKeys.map((name) => { + return { + name, + status: + vertexTypeStore.vertexTypeUsingStatus !== null && + // data may have some delay which leads to no matching propety value + !!vertexTypeStore.vertexTypeUsingStatus[name] + }; + })} + pagination={false} + /> + + + + { + if (!isEditVertex) { + switchIsEditVertex(true); + vertexTypeStore.validateEditVertexType(); + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + style: { + color: vertexTypeStore.selectedVertexType!.style.color, + icon: null, + size: vertexTypeStore.selectedVertexType!.style.size, + display_fields: vertexTypeStore.selectedVertexType!.style + .display_fields + } + }); + } else { + await vertexTypeStore.updateVertexType(); + + if ( + vertexTypeStore.requestStatus.updateVertexType === 'failed' + ) { + Message.error({ + content: vertexTypeStore.errorMessage, + size: 'medium', + showCloseIcon: false + }); + + return; + } + + if ( + vertexTypeStore.requestStatus.updateVertexType === 'success' + ) { + if ( + isEmpty( + vertexTypeStore.editedSelectedVertexType + .append_property_indexes + ) + ) { + Message.success({ + content: t('addition.operate.modify-success'), + size: 'medium', + showCloseIcon: false + }); + } else { + Message.success({ + content: ( +
+
+ {t('addition.common.save-scuccess')} +
+
+ {t('addition.message.index-long-time-notice')} +
+
{ + setLocation( + `/graph-management/${metadataConfigsRootStore.currentId}/async-tasks` + ); + }} + > + {t('addition.operate.view-task-management')} +
+
+ ), + duration: 60 * 60 * 24 + }); + } + } + + switchIsEditVertex(false); + vertexTypeStore.selectVertexType(null); + vertexTypeStore.fetchVertexTypeList(); + vertexTypeStore.resetEditedSelectedVertexType(); + } + }} + key="drawer-manipulation" + > + {isEditVertex + ? t('addition.common.save') + : t('addition.common.edit')} + , + + ]} + > + {!isEmpty(vertexTypeStore.selectedVertexType) && ( +
+
+ {t('addition.menu.base-info')} +
+
+
+ {t('addition.vertex.vertex-type-name')}: +
+
+ {vertexTypeStore.selectedVertexType!.name} +
+
+
+
+ + {t('addition.vertex.vertex-style')}: + +
+
+ +
+
+ +
+
+
+
+ {t('addition.common.id-strategy')}: +
+ { + IDStrategyMappings[ + vertexTypeStore.selectedVertexType!.id_strategy + ] + } +
+
+
+ {t('addition.common.association-property')}: +
+
+
+ {t('addition.common.property')} + {t('addition.common.allow-null')} +
+ {vertexTypeStore.selectedVertexType!.properties.map( + ({ name, nullable }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditVertex && + vertexTypeStore.editedSelectedVertexType.append_properties.map( + ({ name }) => ( +
+
{name}
+
+ +
+
+ ) + )} + {isEditVertex && ( +
{ + switchIsAddProperty(!isAddProperty); + }} + > + + {t('addition.common.add-property')} + + toogleAddProperties +
+ )} + {isEditVertex && isAddProperty && ( +
+ {metadataPropertyStore.metadataProperties + .filter( + (property) => + vertexTypeStore.selectedVertexType!.properties.find( + ({ name }) => name === property.name + ) === undefined + ) + .map((property) => ( +
+ + + propertyIndex === property.name + ) !== -1 + } + onChange={() => { + const addedPropertiesInSelectedVertextType = + vertexTypeStore.addedPropertiesInSelectedVertextType; + + addedPropertiesInSelectedVertextType.has( + property.name + ) + ? addedPropertiesInSelectedVertextType.delete( + property.name + ) + : addedPropertiesInSelectedVertextType.add( + property.name + ); + + vertexTypeStore.mutateEditedSelectedVertexType( + { + ...vertexTypeStore.editedSelectedVertexType, + append_properties: [ + ...addedPropertiesInSelectedVertextType + ].map((propertyName) => { + const currentProperty = vertexTypeStore.newVertexType.properties.find( + ({ name }) => name === propertyName + ); + + return { + name: propertyName, + nullable: !isUndefined( + currentProperty + ) + ? currentProperty.nullable + : true + }; + }) + } + ); + }} + > + {property.name} + + +
+ ))} +
+ )} +
+
+
+
+ {t('addition.common.primary-key-property')}: +
+ {vertexTypeStore.selectedVertexType!.primary_keys.join(';')} +
+
+
+ + {t('addition.vertex.vertex-display-content')}: + +
+ {isEditVertex ? ( + + ) : ( +
+ {vertexTypeStore.selectedVertexType?.style.display_fields + .map((field) => + formatVertexIdText( + field, + t('addition.function-parameter.vertex-id') + ) + ) + .join('-')} +
+ )} +
+ +
+ {t('addition.edge.index-info')} +
+
+
+ {t('addition.menu.type-index')}: +
+ +
+
+
+ {t('addition.common.property-index')}: +
+
+ {(vertexTypeStore.selectedVertexType!.property_indexes + .length !== 0 || + vertexTypeStore.editedSelectedVertexType + .append_property_indexes.length !== 0) && ( +
+ {t('addition.edge.index-name')} + {t('addition.edge.index-type')} + {t('addition.common.property')} +
+ )} + {vertexTypeStore + .selectedVertexType!.property_indexes.filter( + (propertyIndex) => + isUndefined( + vertexTypeStore.editedSelectedVertexType.remove_property_indexes.find( + (removedPropertyName) => + removedPropertyName === propertyIndex.name + ) + ) + ) + .map(({ name, type, fields }, index) => { + return ( +
+
{name}
+
{propertyIndexTypeMappings[type]}
+
+ + {fields + .map((field, index) => index + 1 + '.' + field) + .join(';')} + + + {isEditVertex && ( + +

+ {t( + 'addition.message.property-del-confirm' + )} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const removedPropertyIndexes = cloneDeep( + vertexTypeStore + .editedSelectedVertexType + .remove_property_indexes + ); + + removedPropertyIndexes.push( + vertexTypeStore.selectedVertexType! + .property_indexes[index].name + ); + + vertexTypeStore.mutateEditedSelectedVertexType( + { + ...vertexTypeStore.editedSelectedVertexType, + remove_property_indexes: removedPropertyIndexes + } + ); + + setDeleteExistPopIndexInDrawer(null); + vertexTypeStore.validateEditVertexType( + true + ); + }} + > + {t('addition.common.confirm')} +
+
{ + setDeleteExistPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteExistPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> + )} +
+
+ ); + })} + {vertexTypeStore.editedSelectedVertexType.append_property_indexes.map( + ({ name, type, fields }, index) => { + return ( +
+
+ { + const propertyIndexEntities = cloneDeep( + vertexTypeStore.editedSelectedVertexType + .append_property_indexes + ); + + propertyIndexEntities[index].name = e.value; + + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: propertyIndexEntities + }); + }} + originInputProps={{ + onBlur() { + // check is ready to create + vertexTypeStore.validateEditVertexType(); + } + }} + /> +
+
+ +
+
+ + + +

+ {t('addition.message.property-del-confirm')} +

+

+ {t('addition.message.index-del-confirm')} +

+
+
{ + const appendPropertyIndexes = cloneDeep( + vertexTypeStore.editedSelectedVertexType! + .append_property_indexes + ); + + appendPropertyIndexes.splice(index, 1); + + vertexTypeStore.mutateEditedSelectedVertexType( + { + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: appendPropertyIndexes + } + ); + + setDeleteAddedPopIndexInDrawer(null); + vertexTypeStore.validateEditVertexType( + true + ); + }} + > + {t('addition.common.confirm')} +
+
{ + vertexTypeStore.resetEditedSelectedVertexType(); + setDeleteAddedPopIndexInDrawer(null); + }} + > + {t('addition.common.cancel')} +
+
+
+ } + childrenProps={{ + src: CloseIcon, + alt: 'close', + style: { cursor: 'pointer' }, + onClick() { + setDeleteAddedPopIndexInDrawer(index); + } + }} + childrenWrapperElement="img" + /> +
+
+ ); + } + )} + {isEditVertex && ( + { + if ( + vertexTypeStore.editedSelectedVertexType + .append_property_indexes.length === 0 || + vertexTypeStore.isEditReady + ) { + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + append_property_indexes: [ + ...vertexTypeStore.editedSelectedVertexType + .append_property_indexes, + { + name: '', + type: '', + fields: [] + } + ] + }); + + vertexTypeStore.validateEditVertexType(true); + } + }} + style={{ + cursor: 'pointer', + color: vertexTypeStore.isEditReady ? '#2b65ff' : '#999' + }} + > + {t('addition.edge.add-group')} + + )} +
+ + + )} +
+ + + ); +}); + +export interface VertexTypeListManipulation { + vertexName: string; + vertexIndex: number; + switchIsEditVertex: (flag: boolean) => void; +} + +const VertexTypeListManipulation: React.FC = observer( + ({ vertexName, vertexIndex, switchIsEditVertex }) => { + const { vertexTypeStore } = useContext(MetadataConfigsRootStore); + const [isPopDeleteModal, switchPopDeleteModal] = useState(false); + const [isDeleting, switchDeleting] = useState(false); + const { t } = useTranslation(); + const deleteWrapperRef = useRef(null); + const isDeleteOrBatchDeleting = + isDeleting || + (vertexTypeStore.requestStatus.deleteVertexType === 'pending' && + vertexTypeStore.selectedVertexTypeNames.includes(vertexName)); + + const handleOutSideClick = useCallback( + (e: MouseEvent) => { + if ( + isPopDeleteModal && + deleteWrapperRef && + deleteWrapperRef.current && + !deleteWrapperRef.current.contains(e.target as Element) + ) { + switchPopDeleteModal(false); + } + }, + [deleteWrapperRef, isPopDeleteModal] + ); + + useEffect(() => { + document.addEventListener('click', handleOutSideClick, false); + + return () => { + document.removeEventListener('click', handleOutSideClick, false); + }; + }, [handleOutSideClick]); + + return ( +
+ { + vertexTypeStore.selectVertexType(vertexIndex); + vertexTypeStore.validateEditVertexType(true); + switchIsEditVertex(true); + + vertexTypeStore.mutateEditedSelectedVertexType({ + ...vertexTypeStore.editedSelectedVertexType, + style: { + color: vertexTypeStore.selectedVertexType!.style.color, + icon: null, + size: vertexTypeStore.selectedVertexType!.style.size, + display_fields: vertexTypeStore.selectedVertexType!.style + .display_fields + } + }); + }} + > + {t('addition.common.edit')} + +
+ {isDeleteOrBatchDeleting && ( + + )} + + {vertexTypeStore.vertexTypeUsingStatus && + vertexTypeStore.vertexTypeUsingStatus[vertexName] ? ( +

+ {t('addition.vertex.using-cannot-delete')} +

+ ) : ( + <> +

+ {t('addition.vertex.del-vertex-confirm')} +

+

{t('addition.vertex.del-vertex-confirm-again')}

+

{t('addition.message.long-time-notice')}

+
+ + +
+ + )} +
+ } + childrenProps={{ + className: 'metadata-properties-manipulation', + title: isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del'), + async onClick() { + if (isDeleteOrBatchDeleting) { + return; + } + + await vertexTypeStore.checkIfUsing([vertexName]); + + if (vertexTypeStore.requestStatus.checkIfUsing === 'success') { + switchPopDeleteModal(true); + } + } + }} + > + {isDeleteOrBatchDeleting + ? t('addition.operate.del-ing') + : t('addition.common.del')} + +
+ + ); + } +); + +const EmptyVertxTypeHints: React.FC = observer(() => { + const { vertexTypeStore } = useContext(MetadataConfigsRootStore); + const { t } = useTranslation(); + + return ( +
+ Add new property +
+ {t('addition.vertex.no-vertex-type-desc')} +
+
+ + +
+
+ ); +}); + +export default VertexTypeList; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/index.ts new file mode 100644 index 000000000..acd50f8f0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/graph-management/metadata-configs/vertex-type/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import VertexTypeList from './VertexTypeList'; +import NewVertexType from './NewVertexType'; + +export { NewVertexType, VertexTypeList }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/index.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/index.tsx new file mode 100644 index 000000000..f856514e6 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/index.tsx @@ -0,0 +1,311 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +/* eslint-disable */ +import { + Transfer as TransferAntD, + Popover, + Pagination as PaginationAntD, + Steps as StepsAntD, + Progress as ProgressAntD, + Checkbox as CheckboxAntD, + Menu as MenuAntD, + Spin, + Breadcrumb as BreadcrumbAntD, + Calendar as CalendarAntD, + InputNumber, + Switch as SwitchAntd, + Table as TableAntD, + Radio as RadioAntD, + Tooltip as TooltipAntD, + Alert as AlertAntD, + Button as ButtonAntD, + Modal as ModalAntD, + Drawer as DrawerAntD, + Input as InputAntD, + message, + Select as SelectAntD, + Dropdown as DropdownAntd +} from 'antd'; +import * as React from 'react'; + +// In order to make the project run, let the components of antd replace baiduUI +// Special Note: All check boxes can be selected, but some check boxes cannot see +// the selection content, but it does not affect the submission. If you need to see +// the selection, you need to modify the value property of the corresponding Select +// component. There is no uniform modification here + +const changeSize = (props: any): any => { + let _size = props.size; + if (_size === 'medium') { + _size = 'middle'; + } + if (!_size) { + _size = 'small'; + } + return { + ...props, + size: _size + }; +}; + +export const Alert = (props: any) => { + return ; +}; + +export const Button = (props: any) => { + return {props.children}; +}; + +export const Modal = ModalAntD; + +export const Drawer = (props: any) => { + return {props.children}; +}; + +export const Input = (props: any) => { + let _blur = () => {}; + if (props.originInputProps && props.originInputProps.onBlur) { + _blur = props.originInputProps.onBlur; + } + // change e.value to eventTarget.currentTarget + const _props = { + ...props, + onChange: (e: any) => { + props.onChange({ + value: e.currentTarget.value + }); + } + }; + return ( +
+ + {props.errorMessage ? ( +
+ {props.errorMessage} +
+ ) : ( + '' + )} +
+ ); +}; +Input.Search = (props: any) => { + return ( + + ); +}; + +export const Message = { + info: (data: any) => { + message.info(data.content); + }, + success: (data: any) => { + message.success(data.content); + }, + error: (data: any) => { + message.error(data.content); + }, + warning: (data: any) => { + message.warning(data.content); + }, + loading: (data: any) => { + message.loading(data.content); + } +}; + +export const Select: any = (props: any) => { + return ( + + {props.children} + + ); +}; +Select.Option = SelectAntD.Option; +export const Tooltip: any = TooltipAntD; + +export const Dropdown: any = { + Button(props: any) { + let _overlay: any = []; + if (props.options) { + _overlay = ( + + {props.options.map((item: any) => ( + + {item.label} + + ))} + + ); + } + + return ( + {}) + }} + > + {props.title} + + ); + } +}; +export const Radio: any = RadioAntD; + +export const Table: any = (props: any) => { + let pagination = {}; + let pageChangerTag = false; + if (props.pagination) { + pagination = { + ...props.pagination, + onChange: (page: any, size: any) => { + if (pageChangerTag) { + return; + } + props.pagination.onPageNoChange({ + target: { + value: page + } + }); + }, + showQuickJumper: props.pagination.showPageJumper, + current: props.pagination.pageNo, + onShowSizeChange: (e: any, size: any) => { + pageChangerTag = true; + props.pagination.onPageSizeChange({ + target: { + value: size + } + }); + setTimeout(() => { + pageChangerTag = false; + }); + } + }; + } + let _handleChange: any = props.onChange || (() => {}); + // able to sort + if (!props.onChange && props.onSortClick) { + _handleChange = props.onSortClick; + } + return ( + + {props.children} + + ); +}; + +export const Switch: any = (props: any) => { + return ( + + ); +}; + +export const NumberBox: any = InputNumber; + +export const Calendar = (props: any) => { + props.onSelect = props.onSelectDay; + return ; +}; +export const Breadcrumb: any = BreadcrumbAntD; + +export const Loading: any = Spin; + +export const Menu: any = MenuAntD; + +export const Checkbox: any = CheckboxAntD; + +export const Progress: any = ProgressAntD; + +export const Steps: any = StepsAntD; + +export const Embedded: any = (props: any) => { + return ( + + {props.children} + + ); +}; +export const Pagination = (props: any) => { + return ( + + ); +}; + +export const PopLayer: any = (props: any) => { + return ( + {props.children} + ); +}; + +export const Transfer: any = (props: any) => { + const _treeName = props.treeName; + const dataSource = props.dataSource || []; + const allDataMap = props.allDataMap; + if (allDataMap) { + for (const key in allDataMap) { + dataSource.push(allDataMap[key]); + } + } + return ( + { + props.handleSelect(targetKeys); + }, + titles: [`可选${_treeName}`, `已选${_treeName}`], + render: (item) => `${item.title}` + }} + > + {props.children} + + ); +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/src/index.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/src/index.less new file mode 100644 index 000000000..a7e8f030e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/components/hubble-ui/src/index.less @@ -0,0 +1,104 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +@import '~antd/dist/antd.css'; +.new-fc-one-input-count-visible { + display: inline-block; +} + +.new-fc-one-input-count-error { + color: #e64552; +} + +.new-fc-one-input-all-container, +.new-fc-one-input-all-container .new-fc-one-input-detail { + display: inline-block; + position: relative; +} + +.new-fc-one-input-all-container-error .new-fc-one-input { + border: 1px solid #e64552; + background-color: #fff; + color: #333; +} + +.new-fc-one-input-all-container-error .new-fc-one-input:active, +.new-fc-one-input-all-container-error .new-fc-one-input:focus, +.new-fc-one-input-all-container-error .new-fc-one-input:hover { + outline: 0; + border-color: #e64552; +} + +.new-fc-one-input-all-container-error .new-fc-one-input:focus { + box-shadow: 0 0 0 2px rgba(230, 69, 82, 0.2); +} + +.new-fc-one-input-error { + color: #e64552; +} + +.new-fc-one-input-error-bottom { + margin-top: 8px; +} + +.new-fc-one-input-error-right { + display: inline-block; + margin-left: 8px; +} + +.new-fc-one-input-error-layer { + line-height: 100%; + z-index: 2; + box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.15); + background: #fff; + position: absolute; + left: 0; + display: inline-block; + padding: 16px; + color: #e64552; +} + +.new-fc-one-input-error-layer:before { + content: ''; + width: 0; + height: 0; + left: 16px; + border: 8px solid transparent; + border-bottom-color: #fff; + top: -12px; + position: absolute; +} + +.new-fc-one-input-group-addon > div { + border: 1px solid #e0e0e0 !important; +} + +.new-fc-one-input-group-addon-before > div { + border-right: 0 !important; +} + +.new-fc-one-input-group-addon-after > div { + border-left: 0 !important; +} + +.new-fc-one-input-group { + display: flex; +} + +.new-fc-one-input-group .new-fc-one-input { + border-radius: 0; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/index.ts new file mode 100644 index 000000000..e0bc572e4 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/index.ts @@ -0,0 +1,22 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import useMultiKeyPress from './useMultiKeyPress'; +import useInitDataImport from './useInitDataImport'; +import useLocationWithConfirmation from './useLocationWithConfirmation'; + +export { useMultiKeyPress, useInitDataImport, useLocationWithConfirmation }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useInitDataImport.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useInitDataImport.tsx new file mode 100644 index 000000000..6140b40e1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useInitDataImport.tsx @@ -0,0 +1,237 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { useState, useEffect, useContext } from 'react'; +import { useRoute, useLocation } from 'wouter'; +import { isNull, isEmpty, isUndefined } from 'lodash-es'; + +import { + GraphManagementStoreContext, + ImportManagerStoreContext, + DataImportRootStoreContext +} from '../stores'; + +export default function useInitDataImport() { + const graphManagementStore = useContext(GraphManagementStoreContext); + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const { dataMapStore, serverDataImportStore } = dataImportRootStore; + const [initReady, setInitReady] = useState( + !isEmpty(importManagerStore.importJobList) + ); + const [, setLocation] = useLocation(); + + const [, params] = useRoute( + '/graph-management/:id/data-import/import-manager/:jobId/import-tasks/:status' + ); + + useEffect(() => { + const init = async (params: Record) => { + const { id, jobId, status } = params!; + // sidebar data + graphManagementStore.fetchIdList(); + + // init importManagerStore + importManagerStore.setCurrentId(Number(id)); + // import job list + await importManagerStore.fetchImportJobList(); + importManagerStore.setSelectedJob(Number(jobId)); + + // init dataImportRootStore + dataImportRootStore.setCurrentId(Number(id)); + dataImportRootStore.setCurrentJobId(Number(jobId)); + + await dataMapStore.fetchDataMaps(); + + const job = importManagerStore.importJobList.find( + ({ id: _jobId }) => _jobId === Number(jobId) + ); + + if (isUndefined(job)) { + return; + } + + const defautlSelectedFileId = dataMapStore.fileMapInfos.filter( + ({ file_status }) => file_status === 'COMPLETED' + )[0]?.id; + + dataImportRootStore.setCurrentStatus(job.job_status); + + if (status === 'upload') { + if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { + } + + if (job.job_status === 'MAPPING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + + // setLocation( + // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` + // ); + } + + if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + serverDataImportStore.switchIrregularProcess(true); + + // setLocation( + // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` + // ); + } + + if (job.job_status === 'LOADING') { + dataMapStore.switchLock(true); + serverDataImportStore.switchImportConfigReadOnly(true); + + setLocation( + `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` + ); + } + + if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { + setLocation(`/graph-management/${id}/data-import/import-manager`); + importManagerStore.setSelectedJob(null); + } + } + + if (status === 'mapping') { + if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + + // setLocation( + // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` + // ); + } + + if (job.job_status === 'MAPPING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + } + + if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + serverDataImportStore.switchIrregularProcess(true); + + // setLocation( + // `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` + // ); + } + + if (job.job_status === 'LOADING') { + dataMapStore.switchLock(true); + serverDataImportStore.switchImportConfigReadOnly(true); + setLocation( + `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/loading` + ); + } + + if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { + setLocation(`/graph-management/${id}/data-import/import-manager`); + importManagerStore.setSelectedJob(null); + } + } + + if (status === 'loading') { + if (job.job_status === 'DEFAULT' || job.job_status === 'UPLOADING') { + setLocation( + `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/upload` + ); + } + + if (job.job_status === 'MAPPING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + + setLocation( + `/graph-management/${id}/data-import/import-manager/${jobId}/import-tasks/mapping` + ); + } + + if (job.job_status === 'SETTING' || job.job_status === 'LOADING') { + dataMapStore.setSelectedFileId(defautlSelectedFileId); + dataMapStore.setSelectedFileInfo(); + dataMapStore.switchIrregularProcess(true); + + serverDataImportStore.syncImportConfigs( + dataMapStore.selectedFileInfo!.load_parameter + ); + serverDataImportStore.switchIrregularProcess(true); + } + + if (job.job_status === 'SETTING') { + dataMapStore.switchReadOnly(false); + } + + if (job.job_status === 'LOADING') { + dataMapStore.switchLock(true); + serverDataImportStore.switchImportConfigReadOnly(true); + } + + if (job.job_status === 'SUCCESS' || job.job_status === 'FAILED') { + setLocation(`/graph-management/${id}/data-import/import-manager`); + importManagerStore.setSelectedJob(null); + } + } + + setInitReady(true); + }; + + // if importJobList is empty, users may refresh their page + // if fileMapInfos is empty, users may click back/forward button on browser + if ( + !isNull(params) && + (isEmpty(importManagerStore.importJobList) || + isNull(importManagerStore.selectedJob)) + ) { + init(params); + } + }, [ + params?.status, + importManagerStore.importJobList, + importManagerStore.selectedJob?.id + ]); + + return initReady; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useLocationWithConfirmation.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useLocationWithConfirmation.tsx new file mode 100644 index 000000000..27eff539d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useLocationWithConfirmation.tsx @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { useContext } from 'react'; +import useLocation from 'wouter/use-location'; +import { last } from 'lodash-es'; + +import i18next from '../i18n'; +import { + ImportManagerStoreContext, + DataImportRootStoreContext +} from '../stores'; + +export default function useLocationWithConfirmation() { + const importManagerStore = useContext(ImportManagerStoreContext); + const dataImportRootStore = useContext(DataImportRootStoreContext); + const [location, setLocation] = useLocation(); + const status = last(location.split('/')); + + return [ + location, + (newLocation: string) => { + let perfomNavigation = true; + const category = last(newLocation.split('/')); + + if ( + status === 'upload' && + category === 'import-manager' && + dataImportRootStore.fileUploadTasks.some( + ({ status }) => status === 'uploading' + ) + ) { + perfomNavigation = window.confirm( + i18next.t('server-data-import.hint.confirm-navigation') + ); + } + + if (perfomNavigation) { + if ( + ['upload', 'mapping', 'loading'].includes(String(status)) && + category === 'import-manager' + ) { + importManagerStore.setSelectedJob(null); + importManagerStore.fetchImportJobList(); + } + + setLocation(newLocation); + } + } + ]; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useMultiKeyPress.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useMultiKeyPress.tsx new file mode 100644 index 000000000..c206df56a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/hooks/useMultiKeyPress.tsx @@ -0,0 +1,52 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { useState, useEffect } from 'react'; + +export default function useMultiKeyPress() { + const [keysPressed, setKeyPressed] = useState>(new Set()); + + const keydownHandler = (e: KeyboardEvent) => { + // use e.key here may cause some unexpected behavior with shift key + setKeyPressed((prev) => new Set(prev.add(e.code))); + }; + + const keyupHandler = (e: KeyboardEvent) => { + // use e.key here may cause some unexpected behavior with shift key + if (navigator.platform.includes('Mac') && e.code.includes('Meta')) { + // weired, like above we need to mutate keysPressed first + keysPressed.clear(); + setKeyPressed(new Set()); + return; + } + + keysPressed.delete(e.code); + setKeyPressed(new Set(keysPressed)); + }; + + useEffect(() => { + window.addEventListener('keydown', keydownHandler); + window.addEventListener('keyup', keyupHandler); + + return () => { + window.removeEventListener('keydown', keydownHandler); + window.removeEventListener('keyup', keyupHandler); + }; + }, []); + + return keysPressed; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/index.ts new file mode 100644 index 000000000..4ecdfc2d1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/index.ts @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import i18n from 'i18next'; +import { initReactI18next } from 'react-i18next'; + +import { zhCNResources, enUSResources } from './resources'; + +i18n.use(initReactI18next).init({ + lng: localStorage.getItem('languageType') || 'zh-CN', + fallbackLng: 'zh-CN', + + resources: { + 'zh-CN': zhCNResources, + 'en-US': enUSResources + }, + + interpolation: { + escapeValue: false // not needed for react as it escapes by default + } +}); + +export default i18n; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/AsyncTasks.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/AsyncTasks.json new file mode 100644 index 000000000..ce2848f4c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/AsyncTasks.json @@ -0,0 +1,64 @@ +{ + "async-tasks": { + "title": "任务管理", + "placeholders": { + "search": "请输入任务ID或名称搜索" + }, + "table-column-title": { + "task-id": "任务ID", + "task-name": "任务名称", + "task-type": "任务类型", + "create-time": "创建时间", + "time-consuming": "耗时", + "status": "状态", + "manipulation": "操作" + }, + "table-filters": { + "task-type": { + "all": "全部", + "gremlin": "Gremlin任务", + "algorithm": "算法任务", + "remove-schema": "删除元数据", + "create-index": "创建索引", + "rebuild-index": "重建索引" + }, + "status": { + "all": "全部", + "scheduling": "调度中", + "scheduled": "排队中", + "queued": "排队中", + "running": "运行中", + "restoring": "恢复中", + "success": "成功", + "failed": "失败", + "cancelling": "已取消", + "cancelled": "已取消" + } + }, + "table-selection": { + "selected": "已选{{number}}项", + "delete-batch": "批量删除" + }, + "manipulations": { + "abort": "终止", + "aborting": "终止中", + "delete": "删除", + "check-result": "查看结果", + "check-reason": "查看原因" + }, + "hint": { + "delete-confirm": "删除确认", + "delete-description": "是否确认删除该任务?删除后无法恢复,请谨慎操作", + "delete-succeed": "删除成功", + "delete-batch-confirm": "批量删除", + "delete-batch-description": "确认删除以下任务?删除后无法恢复,请谨慎操作", + "delete": "删除", + "cancel": "取消", + "no-data": "暂无数据", + "empty": "您暂时还没有任何任务", + "select-disabled": "任务{{id}}无法被选中删除", + "check-details": "查看详情", + "creation-failed": "创建失败" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json new file mode 100644 index 000000000..d6b2f5455 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/GraphManagementSidebar.json @@ -0,0 +1,5 @@ +{ + "data-import": "数据导入", + "import-task": "导入任务", + "map-templates": "映射模板" +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/addition.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/addition.json new file mode 100644 index 000000000..d137ee317 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/addition.json @@ -0,0 +1,348 @@ +{ + "addition": { + "function-parameter": { + "edge-type": "边类型", + "vertex-id": "顶点ID" + }, + "store": { + "required": "必填项", + "item-is-required": "此项为必填项", + "no-match-input-requirements": "不符合输入要求", + "rule1": "请输入字母、数字或特殊字符", + "rule2": "请输入范围在 1-65535 的数字", + "rule3": "必须同时填写用户名和密码", + "rule4": "必须为中英文,数字和下划线", + "illegal-data-format": "非法的数据格式", + "incorrect-time-format": "时间格式不正确", + "cannot-be-empty": "此项不能为空", + "cannot-be-empty1": "该项不能为空", + "same-edge-name-notice": "存在同名边,请输入其它名称", + "same-vertex-name-notice": "存在同名顶点,请输入其它名称", + "same-property-name-notice": "存在同名属性,请输入其它名称", + "same-index-name-notice": "存在同名属性索引,请输入其它名称", + "network-error": "网络异常,请稍后重试" + }, + "constant": { + "primary-key-id": "主键ID", + "automatic-generation": "自动生成", + "custom-string": "自定义字符串", + "custom-number": "自定义数字", + "custom-uuid": "自定义UUID", + "greater-than": "大于", + "greater-than-or-equal": "大于等于", + "less-than": "小于", + "less-than-or-equal": "小于等于", + "equal": "等于" + }, + "menu": { + "chart": "图", + "table": "表格", + "task-id": "任务ID", + "list-mode": "列表模式", + "chart-mode": "图模式", + "secondary-index": "二级索引", + "range-index": "范围索引", + "full-text-index": "全文索引", + "type-index": "类型索引", + "base-info": "基础信息", + "select-reuse-item": "选择复用项", + "confirm-reuse-item": "确认复用项", + "complete-reuse": "完成复用" + }, + "vertex": { + "type-detail": "顶点类型详情", + "edit-type": "编辑顶点类型", + "using-cannot-delete": "当前顶点类型正在使用中,不可删除。", + "using-cannot-delete-confirm": "使用中顶点类型不可删除,确认删除以下未使用顶点类型?", + "del-vertex-confirm": "确认删除此顶点类型?", + "del-vertex-confirm-again": "确认删除此顶点类型?删除后无法恢复,请谨慎操作", + "vertex-type-name": "顶点类型名称", + "vertex-style": "顶点样式", + "vertex-display-content": "顶点展示内容", + "select-vertex-display-content-placeholder": "请选择顶点展示内容", + "create-vertex-type": "创建顶点类型", + "vertex-index": "顶点索引", + "corresponding-vertex-type": "对应顶点类型", + "no-vertex-type-desc": "您暂时还没有任何顶点类型,立即创建" + }, + "edge": { + "display-content": "边展示内容", + "display-content-select-desc": "请选择边展示内容", + "index-info": "索引信息", + "index-name": "索引名称", + "index-type": "索引类型", + "edge-index": "边索引", + "index-type-select-desc": "请选择索引类型", + "property-select-desc": "请选择属性", + "add-group": "新增一组", + "confirm-del-edge-type": "确认删除此边类型?", + "confirm-del-edge-type-again": "确认删除边类型?删除后无法恢复,请谨慎操作", + "confirm-del-edge-careful-notice": "删除后无法恢复,请谨慎操作", + "no-edge-desc": "您暂时还没有任何边类型,立即创建", + "create-edge": "创建边类型", + "multiplexing-existing-type": "复用已有类型", + "multiplexing-edge-type": "复用边类型", + "multiplexing-edge-type-notice": "边类型关联的属性和属性索引、起点类型和终点类型及其关联的属性和属性索引将一同复用", + "verification-result": "校验结果", + "be-verified": "待校验", + "verified-again": "重新校验" + }, + "message": { + "no-can-delete-vertex-type": "无可删除顶点类型", + "no-index-notice": "您暂时还没有任何索引", + "property-create-desc": "您暂时还没有任何属性,立即创建", + "del-unused-property-notice": "使用中属性不可删除,确认删除以下未使用属性?", + "please-enter-keywords": "请输入搜索关键字", + "no-property-can-delete": "无可删除属性", + "no-metadata-notice": "您暂时还没有任何元数据", + "no-vertex-or-edge-notice": "您还未设置顶点类型或边类型", + "no-adjacency-points": "不存在邻接点", + "no-more-points": "不存在更多邻接点", + "please-enter-number": "请输入数字", + "please-enter-string": "请输入字符串", + "please-enter": "请输入", + "no-chart-desc": "无图结果,请查看表格或Json数据", + "no-data-desc": "暂无数据结果", + "data-loading": "数据加载中", + "submit-async-task": "提交异步任务中", + "submit-success": "提交成功", + "submit-fail": "提交失败", + "task-submit-fail": "任务提交失败", + "fail-reason": "失败原因", + "fail-position": "失败位置", + "selected": "已选", + "edge-del-confirm": "确认删除以下边?", + "long-time-notice": "删除元数据耗时较久,详情可在任务管理中查看。", + "index-long-time-notice": "创建索引可能耗时较久,详情可在任务管理中查看", + "property-del-confirm": "确认删除此属性?", + "property-del-confirm-again": "确认删除此属性?删除后无法恢复,请谨慎操作", + "index-del-confirm": "删除索引后,无法根据此属性索引进行查询,请谨慎操作。", + "edge-name-rule": "允许出现中英文、数字、下划线", + "source-type-select-placeholder": "请选择起点类型", + "target-type-select-placeholder": "请选择终点类型", + "select-distinguishing-key-property-placeholder": "请选择区分键属性", + "select-association-key-property-placeholder": "请先选择关联属性", + "index-open-notice": "开启索引会影响使用性能,请按需开启", + "duplicate-name": "有重名", + "dependency-conflict": "依赖冲突", + "already-exist": "已存在", + "pass": "通过", + "select-reuse-graph-placeholder": "请选择要复用的图", + "reuse-complete": "复用完成", + "vertex-type-reuse-success": "已成功复用顶点类型", + "property-using-cannot-delete": "当前属性数据正在使用中,不可删除。", + "reuse-property-success": "已成功复用属性", + "reuse-vertex-type-notice": "顶点类型关联的属性和属性索引将一同复用", + "illegal-vertex": "该顶点是非法顶点,可能是由悬空边导致" + }, + "operate": { + "reuse-vertex-type": "复用顶点类型", + "reuse-existing-property": "复用已有属性", + "reuse-property": "复用属性", + "create-property": "创建属性", + "continue-reuse": "继续复用", + "back-to-view": "返回查看", + "complete": "完成", + "next-step": "下一步", + "previous-step": "上一步", + "rename": "重命名", + "del-ing": "删除中", + "view-task-management": "去任务管理查看", + "batch-del": "批量删除", + "multiplexing": "复用", + "de-multiplexing": "取消复用", + "open": "开", + "close": "关", + "look": "查看", + "view-property": "查看属性", + "filter": "筛选", + "add-filter-item": "添加属性筛选", + "enlarge": "放大", + "narrow": "缩小", + "center": "居中", + "download": "下载", + "exit-full-screen": "退出全屏", + "full-screen": "全屏", + "load-background": "加载背景", + "load-spinner": "加载 spinner", + "rendering": "正在渲染", + "detail": "详情", + "favorite": "收藏", + "favorite-success": "收藏成功", + "load-statement": "加载语句", + "time": "时间", + "name": "名称", + "favorite-statement": "收藏语句", + "favorite-desc": "请输入收藏名称", + "operate": "操作", + "query": "查询", + "hidden": "隐藏", + "modify-name": "修改名称", + "execution-record": "执行记录", + "favorite-queries": "收藏的查询", + "favorite-search-desc": "搜索收藏名称或语句", + "expand-collapse": "展开/收起", + "expand": "展开", + "collapse": "收起", + "favorite-del-desc": "是否确认删除该条收藏语句?", + "input-query-statement": "请输入查询语句", + "query-statement-required": "查询语句不能为空", + "execute-query": "执行查询", + "execute-task": "执行任务", + "execute-ing": "执行中", + "clean": "清空", + "modify-success": "修改成功", + "query-result-desc": "查询模式适合30秒内可返回结果的小规模分析;任务模式适合较长时间返回结果的大规模分析,任务详情可在任务管理中查看" + }, + "common": { + "in-use": "使用中", + "not-used": "未使用", + "status": "状态", + "no-result": "无结果", + "cardinal-number": "基数", + "allow-null": "允许为空", + "allow-multiple-connections": "允许多次连接", + "multiple-connections-notice": "开启后两顶点间允许存在多条该类型的边", + "term": "项", + "in-edge": "入边", + "add-in-edge": "添加入边", + "out-edge": "出边", + "add-out-edge": "添加出边", + "add": "添加", + "value": "值", + "null-value": "空值", + "id-strategy": "ID策略", + "id-value": "ID值", + "id-input-desc": "请输入ID值", + "please-input": "请输入", + "add-success": "添加成功", + "add-fail": "添加失败", + "vertex-type": "顶点类型", + "selected-vertex-type": "已选顶点类型", + "vertex-id": "顶点ID", + "vertex-name": "顶点名称", + "illegal-vertex-desc": "该顶点是非法顶点,可能是由悬空边导致", + "add-vertex": "添加顶点", + "vertex-type-select-desc": "请选择顶点类型", + "edge-type": "边类型", + "selected-edge-type": "已选边类型", + "edge-style": "边样式", + "modify-edge-type": "编辑边类型", + "edge-type-detail": "边类型详情", + "edge-type-name": "边类型名称", + "edge-direction": "边方向", + "edge-type-select-desc": "请选择边类型", + "edge-id": "边ID", + "edge-name": "边名称", + "source": "起点", + "source-type": "起点类型", + "target": "终点", + "target-type": "终点类型", + "rule": "规则", + "property": "属性", + "selected-property": "已选属性", + "property-name": "属性名称", + "add-property": "添加属性", + "association-property": "关联属性", + "association-property-and-type": "关联属性及类型", + "property-index": "属性索引", + "selected-property-index": "已选属性索引", + "property-index-name": "属性索引名称", + "property-value": "属性值", + "required-property": "不可空属性", + "nullable-property": "可空属性", + "primary-key": "主键", + "primary-key-property": "主键属性", + "select-primary-key-property-placeholder": "请选择主键属性", + "distinguishing-key": "区分键", + "distinguishing-key-property": "区分键属性", + "property-input-desc": "请输入属性值", + "del-comfirm": "确认删除", + "ask": "吗?", + "confirm": "确认", + "del-success": "删除成功", + "save-scuccess": "保存成功", + "save-fail": "保存失败", + "save": "保存", + "cancel": "取消", + "more": "更多", + "edit": "编辑", + "del": "删除", + "fold": "折叠", + "open": "展开", + "close": "关闭", + "required": "必填项", + "format-error-desc": "必须以字母开头,允许出现英文、数字、下划线", + "no-matching-results": "无匹配结果", + "no-data": "暂无数据", + "data-type": "数据类型", + "corresponding-type": "对应类型" + }, + "appbar": { + "graph-manager": "图管理" + }, + "graphManagementHeader": { + "graph-manager": "图管理", + "community": "社区版", + "business": "商业版", + "limit-desc": "支持图上限", + "limit-desc1": "图磁盘上限", + "individual": "个", + "input-placeholder": "搜索图名称或ID", + "graph-create": "创建图" + }, + "graphManagementList": { + "save-scuccess": "保存成功", + "graph-del": "删除图", + "graph-del-comfirm-msg": "删除后该图所有配置均不可恢复", + "graph-edit": "编辑图", + "id": "图ID", + "id-desc": "为创建的图设置唯一标识的ID", + "name": "图名称", + "name-desc": "填写需要连接的图的名称", + "host": "主机名", + "port": "端口号", + "port-desc": "请输入端口号", + "username": "用户名", + "password": "密码", + "creation-time": "创建时间", + "visit": "访问" + }, + "graphManagementEmptyList": { + "graph-create": "创建图", + "graph-create-desc": "您暂时还没有任何图,立即创建", + "no-matching-results": "无匹配结果" + }, + "newGraphConfig": { + "graph-create": "创建图", + "create": "创建", + "create-scuccess": "创建成功", + "id": "图ID", + "id-desc": "为创建的图设置唯一标识的ID", + "name": "图名称", + "name-desc": "填写需要连接的图的名称", + "host": "主机名", + "host-desc": "请输入主机名", + "port": "端口号", + "port-desc": "请输入端口号", + "username": "用户名", + "password": "密码", + "not-required-desc": "未设置则无需填写" + }, + "graphManagementSidebar": { + "data-analysis": "数据分析", + "graph-select": "选择图", + "metadata-config": "元数据配置", + "data-import": "数据导入", + "task-management": "任务管理" + }, + "dataAnalyze": { + "cannot-access": "无法访问", + "return-home": "返回首页" + }, + "dataAnalyzeInfoDrawer": { + "edit-details": "编辑详情", + "data-details": "数据详情" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/common.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/common.json new file mode 100644 index 000000000..98d821703 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/common.json @@ -0,0 +1,5 @@ +{ + "common": { + "loading-data": "数据加载中" + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json new file mode 100644 index 000000000..da8577c09 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/data-import/import-tasks/ImportTasks.json @@ -0,0 +1,342 @@ +{ + "breadcrumb": { + "first": "导入任务", + "second": "任务详情" + }, + "import-manager": { + "hint": { + "empty-task": "您暂时还没有任何任务,立即创建", + "no-result": "无结果", + "creation-succeed": "创建成功", + "update-succeed": "编辑成功" + }, + "manipulation": { + "create": "创建" + }, + "placeholder": { + "input-job-name": "请输入任务名称搜索", + "input-valid-job-name": "允许出现中英文、数字、下划线", + "input-job-description": "请输入任务备注" + }, + "list-column-title": { + "job-name": "任务名称", + "size": "大小", + "create-time": "创建时间", + "status": "状态", + "time-consuming": "任务耗时", + "manipulation": "操作" + }, + "list-column-status": { + "DEFAULT": "未开始", + "UPLOADING": "未开始", + "MAPPING": "设置中", + "SETTING": "导入中", + "LOADING": "导入中", + "FAILED": "失败", + "SUCCESS": "成功" + }, + "list-column-manipulations": { + "start": "开始任务", + "resume-setting": "继续设置", + "resume-importing": "继续导入", + "check-error-log": "查看原因", + "delete": "删除" + }, + "modal": { + "create-job": { + "title": "创建导入任务", + "job-name": "任务名称:", + "job-description": "任务备注:" + }, + "delete-job": { + "title": "删除任务", + "hint": "确认删除任务{{name}}吗?", + "sub-hint": "删除后该任务不可恢复" + }, + "manipulations": { + "create": "创建", + "delete": "删除", + "cancel": "取消" + } + }, + "validator": { + "no-empty": "此项为必填项", + "over-limit-size": "已超出字数限制", + "invalid-format": "请输入中英文、数字、下划线" + } + }, + "import-job-details": { + "tabs": { + "basic-settings": "基础设置", + "uploaded-files": "上传文件", + "data-maps": "映射文件", + "import-details": "导入详情" + }, + "basic": { + "job-name": "任务名称:", + "job-description": "任务备注:", + "modal": { + "edit-job": { + "title": "编辑导入任务", + "job-name": "任务名称:", + "job-description": "任务备注:" + }, + "manipulations": { + "save": "保存", + "cancel": "取消" + } + } + }, + "manipulations": { + "edit": "编辑", + "resume-task": "继续任务" + } + }, + "step": { + "first": "上传文件", + "second": "设置数据映射", + "third": "导入数据", + "fourth": "完成" + }, + "upload-files": { + "click": "点击", + "description": "点击或将文件拖拽到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", + "drag": "拖拽", + "description-1": "或将文件", + "description-2": "到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", + "cancel": "取消上传", + "next": "下一步", + "wrong-format": "仅支持 csv 格式文件", + "over-single-size-limit": "容量已超过 1 GB", + "over-all-size-limit": "总容量已超过 10 GB", + "empty-file": "文件为空,请重新上传", + "no-duplicate": "下列上传的文件已存在:" + }, + "data-configs": { + "file": { + "title": "文件设置", + "include-header": "包含表头", + "delimiter": { + "title": "分隔符", + "comma": "逗号", + "semicolon": "分号", + "tab": "制表符", + "space": "空格", + "custom": "自定义" + }, + "code-type": { + "title": "编码格式", + "UTF-8": "UTF-8", + "GBK": "GBK", + "ISO-8859-1": "ISO-8859-1", + "US-ASCII": "US-ASCII", + "custom": "自定义" + }, + "date-type": { + "title": "日期格式", + "custom": "自定义" + }, + "skipped-line": "跳过行", + "timezone": "时区", + "save": "保存", + "placeholder": { + "input-delimiter": "请输入分隔符", + "input-charset": "请输入编码格式", + "input-date-format": "请输入日期格式" + }, + "hint": { + "save-succeed": "已保存文件设置" + } + }, + "type": { + "title": "类型设置", + "basic-settings": "基础设置", + "manipulation": { + "create": "创建", + "save": "保存", + "cancel": "取消", + "create-vertex": "创建顶点映射", + "create-edge": "创建边映射" + }, + "info": { + "type": "类型", + "name": "名称", + "ID-strategy": "ID策略", + "edit": "编辑", + "delete": "删除" + }, + "ID-strategy": { + "PRIMARY_KEY": "主键ID", + "AUTOMATIC": "自动生成", + "CUSTOMIZE_STRING": "自定义字符串", + "CUSTOMIZE_NUMBER": "自定义数字", + "CUSTOMIZE_UUID": "自定义UUID" + }, + "vertex": { + "title": "创建顶点映射", + "type": "顶点类型", + "ID-strategy": "ID策略", + "ID-column": "ID列", + "map-settings": "映射设置", + "add-map": { + "title": "添加映射", + "name": "列名", + "sample": "数据样例", + "property": "映射属性", + "clear": "清空" + }, + "select-all": "全选", + "advance": { + "title": "高级设置", + "nullable-list": { + "title": "空值列表", + "empty": "空值", + "custom": "自定义" + }, + "map-property-value": { + "title": "属性值映射", + "add-value": "添加属性值映射", + "fields": { + "property": "属性", + "value-map": "值映射", + "add-value-map": "添加值映射" + } + }, + "placeholder": { + "input": "请选择", + "input-property": "请选择输入属性", + "input-file-value": "请输入文件值", + "input-graph-value": "请输入图导入值" + } + } + }, + "edge": { + "title": "创建边映射", + "type": "边类型", + "source-ID-strategy": "起点ID策略", + "target-ID-strategy": "终点ID策略", + "ID-column": "ID列", + "map-settings": "映射设置", + "add-map": { + "title": "添加映射", + "name": "列名", + "sample": "数据样例", + "property": "映射属性", + "clear": "清空" + }, + "select-all": "全选", + "advance": { + "title": "高级设置", + "nullable-list": { + "title": "空值列表", + "empty": "空值", + "custom": "自定义" + }, + "map-property-value": { + "title": "属性值映射", + "add-value": "添加 属性值映射", + "fields": { + "property": "属性", + "value-map": "值映射", + "add-value-map": "添加值映射" + } + }, + "placeholder": { + "input": "请选择映射属性", + "input-property": "请选择输入属性", + "input-file-value": "请输入文件值", + "input-graph-value": "请输入图导入值" + } + } + }, + "hint": { + "lack-support-for-automatic": "自动生成的ID策略不支持可视化导入,请调用API实现", + "no-vertex-or-edge-mapping": "如下文件未设置顶点类型或边类型映射:" + }, + "placeholder": { + "select-vertex-type": "请选择顶点类型", + "select-edge-type": "请选择边类型", + "select-id-column": "请选择 ID 列" + } + }, + "manipulations": { + "previous": "上一步", + "next": "下一步", + "add": "添加", + "edit": "编辑", + "delete": "删除", + "cancel": "取消", + "hints": { + "delete-confirm": "确认删除?", + "warning": "删除后无法恢复,请谨慎操作" + } + }, + "validator": { + "no-empty": "该项不能为空" + } + }, + "server-data-import": { + "import-settings": { + "title": "导入设置", + "checkIfExist": "检查边连接的顶点是否存在", + "requestTimesWhenInterpolationFailed": "插入失败重试次数", + "maximumAnalyzedErrorRow": "允许最大解析错误行数", + "requestTicksWhenInterpolationFailed": "插入失败重试间隔/s", + "maxiumInterpolateErrorRow": "允许最大插入错误行数", + "InterpolationTimeout": "插入超时时间/s" + }, + "import-details": { + "title": "导入详情", + "column-titles": { + "file-name": "文件名称", + "type": "类型", + "import-speed": "导入速度", + "import-progress": "导入进度", + "status": "状态", + "time-consumed": "耗时", + "manipulations": "操作" + }, + "content": { + "vertex": "顶点", + "edge": "边" + }, + "status": { + "RUNNING": "运行中", + "SUCCEED": "成功", + "FAILED": "失败", + "PAUSED": "已暂停", + "STOPPED": "已终止" + }, + "manipulations": { + "pause": "暂停", + "resume": "继续", + "retry": "重试", + "abort": "终止", + "failed-cause": "查看原因" + } + }, + "hint": { + "check-vertex": "开启检查会影响导入性能,请按需开启", + "no-data": "正在请求导入", + "confirm-navigation": "确认跳转到任务列表?正在上传的文件可能会丢失" + }, + "validator": { + "no-empty": "该项不能为空", + "need-integer-with-negative": "请输入-1或大于0的整数", + "need-integer": "请输入大于0的整数" + }, + "manipulations": { + "previous": "上一步", + "start": "开始导入", + "cancel": "取消导入", + "finished": "完成" + } + }, + "data-import-status": { + "finished": "导入完成", + "success": "已成功导入 {{number}} 个文件", + "pause": "{{number}} 个文件暂停", + "abort": "{{number}} 个文件终止", + "move-to-import-manager": "返回导入任务列表" + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/dataAnalyze.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/dataAnalyze.json new file mode 100644 index 000000000..87afb8a40 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/dataAnalyze.json @@ -0,0 +1,287 @@ +{ + "data-analyze": { + "category": { + "gremlin-analyze": "Gremlin 分析", + "algorithm-analyze": "算法分析" + }, + "manipulations": { + "execution": "执行", + "favorite": "收藏", + "reset": "重置" + }, + "algorithm-list": { + "title": "算法目录", + "loop-detection": "环路检测", + "focus-detection": "交点检测", + "shortest-path": "最短路径", + "shortest-path-all": "全最短路径", + "all-path": "全部路径", + "neighbor-rank-recommendation": "Neighbor Rank推荐算法", + "model-similarity": "模型相似度算法", + "real-time-recommendation": "实时推荐", + "k-step-neighbor": "k步邻居", + "k-hop": "k跳算法", + "custom-path": "自定义路径", + "custom-intersection-detection": "自定义交点检测", + "radiographic-inspection": "射线检测", + "common-neighbor": "共同邻居", + "weighted-shortest-path": "带权最短路径", + "single-source-weighted-path": "单源带权路径", + "jaccard-similarity": "Jaccard相似度", + "personal-rank-recommendation": "Personal Rank推荐算法" + }, + "algorithm-forms": { + "loop-detection": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "source_in_ring": "环路包含起点:", + "limit": "返回可达路径最大值:", + "capacity": "访问顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "focus-detection": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "limit": "访问顶点最大值:", + "capacity": "返回交点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "shortest-path": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "maxDepth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "maxDegree": "最大度数:", + "skip_degree": "超级顶点度数:", + "skipDegree": "超级顶点度数:", + "capacity": "访问顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "shortest-path-all": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "skip_degree": "超级顶点度数:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "all-path": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "limit": "返回路径最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "model-similarity": { + "options": { + "method": "起点选择方式:", + "source": "起点ID:", + "vertex-type": "顶点类型", + "vertex-property": "顶点属性", + "direction": "方向:", + "least_neighbor": "最少邻居数:", + "similarity": "相似度:", + "label": "边类型:", + "max_similar": "相似度最高个数:", + "least_similar": "梭形相似点最小个数:", + "property_filter": "属性过滤:", + "least_property_number": "最小属性值个数:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "skip_degree": "返回顶点最大值:", + "limit": "返回结果最大值:", + "return_common_connection": "返回共同关联点:", + "return_complete_info": "返回顶点完整信息:" + }, + "radio-value": { + "specific-id": "指定ID", + "filtered-type-property": "筛选类型属性" + }, + "placeholder": { + "input-source-id": "请输入起点ID", + "input-vertex-type": "请选择顶点类型", + "input-vertex-property": "请选择顶点属性", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "input-integer-gt-1": "请填写大于1的整数", + "input-filtered-property": "请选择需要过滤的属性", + "no-properties": "无属性", + "no-vertex-type": "无顶点类型" + }, + "hint": { + "least_property_number": "属性过滤和最小属性值个数需一起使用;设置后效果为:当起点跟其所有的梭形相似点某个属性的值大于等于最小属性值个数时,才会返回该起点及其梭形相似点", + "least_neighbor": "邻居数少于当前设定值,则认为起点没有梭形相似点", + "similarity": "起点与\"梭形相似点\"的共同邻居数目占起点的全部邻居数目的比例", + "max_similar": "返回起点的梭形相似点中相似度最高的top个数,0表示全部", + "return_common_connection": "是否返回起点及其\"梭形相似点\"共同关联的中间点" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "integer-only": "请填写大于等于0的整数", + "positive-integer-only": "请填写大于0的整数", + "integer-gt-1": "请填写大于1的整数" + }, + "pre-value": "全部" + }, + "neighbor-rank": { + "options": { + "source": "起点ID:", + "alpha": "Alpha", + "direction": "方向:", + "capacity": "访问顶点最大值:", + "label": "边类型:", + "degree": "最大度数:", + "top": "每层保留权重Top N:" + }, + "placeholder": { + "input-source-id": "请输入起点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "range": "范围(0-1]" + }, + "hint": { + "top": "在结果中每一层只保留权重最高的N个结果" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "range": "请填写大于0且小于等于1的数值", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数", + "input-chars": "规则不能其它重复" + }, + "pre-value": "全部", + "add-new-rule": "添加规则" + } + }, + "exec-logs": { + "table-title": { + "time": "时间", + "type": "执行类型", + "content": "执行内容", + "status": "状态", + "duration": "耗时", + "manipulation": "操作" + }, + "type": { + "GREMLIN": "GREMLIN 查询", + "GREMLIN_ASYNC": "GREMLIN 任务", + "ALGORITHM": "算法查询" + }, + "status": { + "success": "成功", + "async-success": "提交成功", + "running": "运行中", + "failed": "失败", + "async-failed": "提交失败" + } + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/index.ts new file mode 100644 index 000000000..b3e03211e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/graph-managment/index.ts @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import CommonResources from './common.json'; +import GraphManagementSideBarResources from './GraphManagementSidebar.json'; +import DataAnalyzeResources from './dataAnalyze.json'; +import DataImportResources from './data-import/import-tasks/ImportTasks.json'; +import AsyncTasksResources from './AsyncTasks.json'; +import Addition from './addition.json'; + +export { + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/index.ts new file mode 100644 index 000000000..4a369f54e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/en-US/index.ts @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { merge } from 'lodash-es'; +import { + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition +} from './graph-managment'; + +const translation = { + translation: merge( + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition + ) +}; + +export default translation; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/index.ts new file mode 100644 index 000000000..bad374766 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/index.ts @@ -0,0 +1,21 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import zhCNResources from './zh-CN'; +import enUSResources from './en-US'; + +export { zhCNResources, enUSResources }; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json new file mode 100644 index 000000000..ce2848f4c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/AsyncTasks.json @@ -0,0 +1,64 @@ +{ + "async-tasks": { + "title": "任务管理", + "placeholders": { + "search": "请输入任务ID或名称搜索" + }, + "table-column-title": { + "task-id": "任务ID", + "task-name": "任务名称", + "task-type": "任务类型", + "create-time": "创建时间", + "time-consuming": "耗时", + "status": "状态", + "manipulation": "操作" + }, + "table-filters": { + "task-type": { + "all": "全部", + "gremlin": "Gremlin任务", + "algorithm": "算法任务", + "remove-schema": "删除元数据", + "create-index": "创建索引", + "rebuild-index": "重建索引" + }, + "status": { + "all": "全部", + "scheduling": "调度中", + "scheduled": "排队中", + "queued": "排队中", + "running": "运行中", + "restoring": "恢复中", + "success": "成功", + "failed": "失败", + "cancelling": "已取消", + "cancelled": "已取消" + } + }, + "table-selection": { + "selected": "已选{{number}}项", + "delete-batch": "批量删除" + }, + "manipulations": { + "abort": "终止", + "aborting": "终止中", + "delete": "删除", + "check-result": "查看结果", + "check-reason": "查看原因" + }, + "hint": { + "delete-confirm": "删除确认", + "delete-description": "是否确认删除该任务?删除后无法恢复,请谨慎操作", + "delete-succeed": "删除成功", + "delete-batch-confirm": "批量删除", + "delete-batch-description": "确认删除以下任务?删除后无法恢复,请谨慎操作", + "delete": "删除", + "cancel": "取消", + "no-data": "暂无数据", + "empty": "您暂时还没有任何任务", + "select-disabled": "任务{{id}}无法被选中删除", + "check-details": "查看详情", + "creation-failed": "创建失败" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json new file mode 100644 index 000000000..d6b2f5455 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/GraphManagementSidebar.json @@ -0,0 +1,5 @@ +{ + "data-import": "数据导入", + "import-task": "导入任务", + "map-templates": "映射模板" +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/addition.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/addition.json new file mode 100644 index 000000000..d137ee317 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/addition.json @@ -0,0 +1,348 @@ +{ + "addition": { + "function-parameter": { + "edge-type": "边类型", + "vertex-id": "顶点ID" + }, + "store": { + "required": "必填项", + "item-is-required": "此项为必填项", + "no-match-input-requirements": "不符合输入要求", + "rule1": "请输入字母、数字或特殊字符", + "rule2": "请输入范围在 1-65535 的数字", + "rule3": "必须同时填写用户名和密码", + "rule4": "必须为中英文,数字和下划线", + "illegal-data-format": "非法的数据格式", + "incorrect-time-format": "时间格式不正确", + "cannot-be-empty": "此项不能为空", + "cannot-be-empty1": "该项不能为空", + "same-edge-name-notice": "存在同名边,请输入其它名称", + "same-vertex-name-notice": "存在同名顶点,请输入其它名称", + "same-property-name-notice": "存在同名属性,请输入其它名称", + "same-index-name-notice": "存在同名属性索引,请输入其它名称", + "network-error": "网络异常,请稍后重试" + }, + "constant": { + "primary-key-id": "主键ID", + "automatic-generation": "自动生成", + "custom-string": "自定义字符串", + "custom-number": "自定义数字", + "custom-uuid": "自定义UUID", + "greater-than": "大于", + "greater-than-or-equal": "大于等于", + "less-than": "小于", + "less-than-or-equal": "小于等于", + "equal": "等于" + }, + "menu": { + "chart": "图", + "table": "表格", + "task-id": "任务ID", + "list-mode": "列表模式", + "chart-mode": "图模式", + "secondary-index": "二级索引", + "range-index": "范围索引", + "full-text-index": "全文索引", + "type-index": "类型索引", + "base-info": "基础信息", + "select-reuse-item": "选择复用项", + "confirm-reuse-item": "确认复用项", + "complete-reuse": "完成复用" + }, + "vertex": { + "type-detail": "顶点类型详情", + "edit-type": "编辑顶点类型", + "using-cannot-delete": "当前顶点类型正在使用中,不可删除。", + "using-cannot-delete-confirm": "使用中顶点类型不可删除,确认删除以下未使用顶点类型?", + "del-vertex-confirm": "确认删除此顶点类型?", + "del-vertex-confirm-again": "确认删除此顶点类型?删除后无法恢复,请谨慎操作", + "vertex-type-name": "顶点类型名称", + "vertex-style": "顶点样式", + "vertex-display-content": "顶点展示内容", + "select-vertex-display-content-placeholder": "请选择顶点展示内容", + "create-vertex-type": "创建顶点类型", + "vertex-index": "顶点索引", + "corresponding-vertex-type": "对应顶点类型", + "no-vertex-type-desc": "您暂时还没有任何顶点类型,立即创建" + }, + "edge": { + "display-content": "边展示内容", + "display-content-select-desc": "请选择边展示内容", + "index-info": "索引信息", + "index-name": "索引名称", + "index-type": "索引类型", + "edge-index": "边索引", + "index-type-select-desc": "请选择索引类型", + "property-select-desc": "请选择属性", + "add-group": "新增一组", + "confirm-del-edge-type": "确认删除此边类型?", + "confirm-del-edge-type-again": "确认删除边类型?删除后无法恢复,请谨慎操作", + "confirm-del-edge-careful-notice": "删除后无法恢复,请谨慎操作", + "no-edge-desc": "您暂时还没有任何边类型,立即创建", + "create-edge": "创建边类型", + "multiplexing-existing-type": "复用已有类型", + "multiplexing-edge-type": "复用边类型", + "multiplexing-edge-type-notice": "边类型关联的属性和属性索引、起点类型和终点类型及其关联的属性和属性索引将一同复用", + "verification-result": "校验结果", + "be-verified": "待校验", + "verified-again": "重新校验" + }, + "message": { + "no-can-delete-vertex-type": "无可删除顶点类型", + "no-index-notice": "您暂时还没有任何索引", + "property-create-desc": "您暂时还没有任何属性,立即创建", + "del-unused-property-notice": "使用中属性不可删除,确认删除以下未使用属性?", + "please-enter-keywords": "请输入搜索关键字", + "no-property-can-delete": "无可删除属性", + "no-metadata-notice": "您暂时还没有任何元数据", + "no-vertex-or-edge-notice": "您还未设置顶点类型或边类型", + "no-adjacency-points": "不存在邻接点", + "no-more-points": "不存在更多邻接点", + "please-enter-number": "请输入数字", + "please-enter-string": "请输入字符串", + "please-enter": "请输入", + "no-chart-desc": "无图结果,请查看表格或Json数据", + "no-data-desc": "暂无数据结果", + "data-loading": "数据加载中", + "submit-async-task": "提交异步任务中", + "submit-success": "提交成功", + "submit-fail": "提交失败", + "task-submit-fail": "任务提交失败", + "fail-reason": "失败原因", + "fail-position": "失败位置", + "selected": "已选", + "edge-del-confirm": "确认删除以下边?", + "long-time-notice": "删除元数据耗时较久,详情可在任务管理中查看。", + "index-long-time-notice": "创建索引可能耗时较久,详情可在任务管理中查看", + "property-del-confirm": "确认删除此属性?", + "property-del-confirm-again": "确认删除此属性?删除后无法恢复,请谨慎操作", + "index-del-confirm": "删除索引后,无法根据此属性索引进行查询,请谨慎操作。", + "edge-name-rule": "允许出现中英文、数字、下划线", + "source-type-select-placeholder": "请选择起点类型", + "target-type-select-placeholder": "请选择终点类型", + "select-distinguishing-key-property-placeholder": "请选择区分键属性", + "select-association-key-property-placeholder": "请先选择关联属性", + "index-open-notice": "开启索引会影响使用性能,请按需开启", + "duplicate-name": "有重名", + "dependency-conflict": "依赖冲突", + "already-exist": "已存在", + "pass": "通过", + "select-reuse-graph-placeholder": "请选择要复用的图", + "reuse-complete": "复用完成", + "vertex-type-reuse-success": "已成功复用顶点类型", + "property-using-cannot-delete": "当前属性数据正在使用中,不可删除。", + "reuse-property-success": "已成功复用属性", + "reuse-vertex-type-notice": "顶点类型关联的属性和属性索引将一同复用", + "illegal-vertex": "该顶点是非法顶点,可能是由悬空边导致" + }, + "operate": { + "reuse-vertex-type": "复用顶点类型", + "reuse-existing-property": "复用已有属性", + "reuse-property": "复用属性", + "create-property": "创建属性", + "continue-reuse": "继续复用", + "back-to-view": "返回查看", + "complete": "完成", + "next-step": "下一步", + "previous-step": "上一步", + "rename": "重命名", + "del-ing": "删除中", + "view-task-management": "去任务管理查看", + "batch-del": "批量删除", + "multiplexing": "复用", + "de-multiplexing": "取消复用", + "open": "开", + "close": "关", + "look": "查看", + "view-property": "查看属性", + "filter": "筛选", + "add-filter-item": "添加属性筛选", + "enlarge": "放大", + "narrow": "缩小", + "center": "居中", + "download": "下载", + "exit-full-screen": "退出全屏", + "full-screen": "全屏", + "load-background": "加载背景", + "load-spinner": "加载 spinner", + "rendering": "正在渲染", + "detail": "详情", + "favorite": "收藏", + "favorite-success": "收藏成功", + "load-statement": "加载语句", + "time": "时间", + "name": "名称", + "favorite-statement": "收藏语句", + "favorite-desc": "请输入收藏名称", + "operate": "操作", + "query": "查询", + "hidden": "隐藏", + "modify-name": "修改名称", + "execution-record": "执行记录", + "favorite-queries": "收藏的查询", + "favorite-search-desc": "搜索收藏名称或语句", + "expand-collapse": "展开/收起", + "expand": "展开", + "collapse": "收起", + "favorite-del-desc": "是否确认删除该条收藏语句?", + "input-query-statement": "请输入查询语句", + "query-statement-required": "查询语句不能为空", + "execute-query": "执行查询", + "execute-task": "执行任务", + "execute-ing": "执行中", + "clean": "清空", + "modify-success": "修改成功", + "query-result-desc": "查询模式适合30秒内可返回结果的小规模分析;任务模式适合较长时间返回结果的大规模分析,任务详情可在任务管理中查看" + }, + "common": { + "in-use": "使用中", + "not-used": "未使用", + "status": "状态", + "no-result": "无结果", + "cardinal-number": "基数", + "allow-null": "允许为空", + "allow-multiple-connections": "允许多次连接", + "multiple-connections-notice": "开启后两顶点间允许存在多条该类型的边", + "term": "项", + "in-edge": "入边", + "add-in-edge": "添加入边", + "out-edge": "出边", + "add-out-edge": "添加出边", + "add": "添加", + "value": "值", + "null-value": "空值", + "id-strategy": "ID策略", + "id-value": "ID值", + "id-input-desc": "请输入ID值", + "please-input": "请输入", + "add-success": "添加成功", + "add-fail": "添加失败", + "vertex-type": "顶点类型", + "selected-vertex-type": "已选顶点类型", + "vertex-id": "顶点ID", + "vertex-name": "顶点名称", + "illegal-vertex-desc": "该顶点是非法顶点,可能是由悬空边导致", + "add-vertex": "添加顶点", + "vertex-type-select-desc": "请选择顶点类型", + "edge-type": "边类型", + "selected-edge-type": "已选边类型", + "edge-style": "边样式", + "modify-edge-type": "编辑边类型", + "edge-type-detail": "边类型详情", + "edge-type-name": "边类型名称", + "edge-direction": "边方向", + "edge-type-select-desc": "请选择边类型", + "edge-id": "边ID", + "edge-name": "边名称", + "source": "起点", + "source-type": "起点类型", + "target": "终点", + "target-type": "终点类型", + "rule": "规则", + "property": "属性", + "selected-property": "已选属性", + "property-name": "属性名称", + "add-property": "添加属性", + "association-property": "关联属性", + "association-property-and-type": "关联属性及类型", + "property-index": "属性索引", + "selected-property-index": "已选属性索引", + "property-index-name": "属性索引名称", + "property-value": "属性值", + "required-property": "不可空属性", + "nullable-property": "可空属性", + "primary-key": "主键", + "primary-key-property": "主键属性", + "select-primary-key-property-placeholder": "请选择主键属性", + "distinguishing-key": "区分键", + "distinguishing-key-property": "区分键属性", + "property-input-desc": "请输入属性值", + "del-comfirm": "确认删除", + "ask": "吗?", + "confirm": "确认", + "del-success": "删除成功", + "save-scuccess": "保存成功", + "save-fail": "保存失败", + "save": "保存", + "cancel": "取消", + "more": "更多", + "edit": "编辑", + "del": "删除", + "fold": "折叠", + "open": "展开", + "close": "关闭", + "required": "必填项", + "format-error-desc": "必须以字母开头,允许出现英文、数字、下划线", + "no-matching-results": "无匹配结果", + "no-data": "暂无数据", + "data-type": "数据类型", + "corresponding-type": "对应类型" + }, + "appbar": { + "graph-manager": "图管理" + }, + "graphManagementHeader": { + "graph-manager": "图管理", + "community": "社区版", + "business": "商业版", + "limit-desc": "支持图上限", + "limit-desc1": "图磁盘上限", + "individual": "个", + "input-placeholder": "搜索图名称或ID", + "graph-create": "创建图" + }, + "graphManagementList": { + "save-scuccess": "保存成功", + "graph-del": "删除图", + "graph-del-comfirm-msg": "删除后该图所有配置均不可恢复", + "graph-edit": "编辑图", + "id": "图ID", + "id-desc": "为创建的图设置唯一标识的ID", + "name": "图名称", + "name-desc": "填写需要连接的图的名称", + "host": "主机名", + "port": "端口号", + "port-desc": "请输入端口号", + "username": "用户名", + "password": "密码", + "creation-time": "创建时间", + "visit": "访问" + }, + "graphManagementEmptyList": { + "graph-create": "创建图", + "graph-create-desc": "您暂时还没有任何图,立即创建", + "no-matching-results": "无匹配结果" + }, + "newGraphConfig": { + "graph-create": "创建图", + "create": "创建", + "create-scuccess": "创建成功", + "id": "图ID", + "id-desc": "为创建的图设置唯一标识的ID", + "name": "图名称", + "name-desc": "填写需要连接的图的名称", + "host": "主机名", + "host-desc": "请输入主机名", + "port": "端口号", + "port-desc": "请输入端口号", + "username": "用户名", + "password": "密码", + "not-required-desc": "未设置则无需填写" + }, + "graphManagementSidebar": { + "data-analysis": "数据分析", + "graph-select": "选择图", + "metadata-config": "元数据配置", + "data-import": "数据导入", + "task-management": "任务管理" + }, + "dataAnalyze": { + "cannot-access": "无法访问", + "return-home": "返回首页" + }, + "dataAnalyzeInfoDrawer": { + "edit-details": "编辑详情", + "data-details": "数据详情" + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/common.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/common.json new file mode 100644 index 000000000..98d821703 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/common.json @@ -0,0 +1,5 @@ +{ + "common": { + "loading-data": "数据加载中" + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json new file mode 100644 index 000000000..2edf4240c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/data-import/import-tasks/ImportTasks.json @@ -0,0 +1,343 @@ +{ + "breadcrumb": { + "first": "导入任务", + "second": "任务详情" + }, + "import-manager": { + "hint": { + "empty-task": "您暂时还没有任何任务,立即创建", + "no-result": "无结果", + "creation-succeed": "创建成功", + "update-succeed": "编辑成功" + }, + "manipulation": { + "create": "创建" + }, + "placeholder": { + "input-job-name": "请输入任务名称搜索", + "input-valid-job-name": "允许出现中英文、数字、下划线", + "input-job-description": "请输入任务备注" + }, + "list-column-title": { + "job-name": "任务名称", + "size": "大小", + "create-time": "创建时间", + "status": "状态", + "time-consuming": "任务耗时", + "manipulation": "操作" + }, + "list-column-status": { + "DEFAULT": "未开始", + "UPLOADING": "未开始", + "MAPPING": "设置中", + "SETTING": "导入中", + "LOADING": "导入中", + "FAILED": "失败", + "SUCCESS": "成功" + }, + "list-column-manipulations": { + "start": "开始任务", + "resume-setting": "继续设置", + "resume-importing": "继续导入", + "check-error-log": "查看原因", + "delete": "删除" + }, + "modal": { + "create-job": { + "title": "创建导入任务", + "job-name": "任务名称:", + "job-description": "任务备注:" + }, + "delete-job": { + "title": "删除任务", + "hint": "确认删除任务{{name}}吗?", + "sub-hint": "删除后该任务不可恢复" + }, + "manipulations": { + "create": "创建", + "delete": "删除", + "cancel": "取消" + } + }, + "validator": { + "no-empty": "此项为必填项", + "over-limit-size": "已超出字数限制", + "invalid-format": "请输入中英文、数字、下划线" + } + }, + "import-job-details": { + "tabs": { + "basic-settings": "基础设置", + "uploaded-files": "上传文件", + "data-maps": "映射文件", + "import-details": "导入详情" + }, + "basic": { + "job-name": "任务名称:", + "job-description": "任务备注:", + "modal": { + "edit-job": { + "title": "编辑导入任务", + "job-name": "任务名称:", + "job-description": "任务备注:" + }, + "manipulations": { + "save": "保存", + "cancel": "取消" + } + } + }, + "manipulations": { + "edit": "编辑", + "resume-task": "继续任务" + } + }, + "step": { + "first": "上传文件", + "second": "设置数据映射", + "third": "导入数据", + "fourth": "完成" + }, + "upload-files": { + "click": "点击", + "description": "点击或将文件拖拽到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", + "drag": "拖拽", + "description-1": "或将文件", + "description-2": "到此处上传,可同时上传多个支持csv文件,单个1G以内,单次累计10G以内", + "cancel": "取消上传", + "next": "下一步", + "wrong-format": "仅支持 csv 格式文件", + "over-single-size-limit": "容量已超过 1 GB", + "over-all-size-limit": "总容量已超过 10 GB", + "empty-file": "文件为空,请重新上传", + "no-duplicate": "下列上传的文件已存在:" + }, + "data-configs": { + "file": { + "title": "文件设置", + "include-header": "包含表头", + "delimiter": { + "title": "分隔符", + "comma": "逗号", + "semicolon": "分号", + "tab": "制表符", + "space": "空格", + "custom": "自定义" + }, + "code-type": { + "title": "编码格式", + "UTF-8": "UTF-8", + "GBK": "GBK", + "ISO-8859-1": "ISO-8859-1", + "US-ASCII": "US-ASCII", + "custom": "自定义" + }, + "date-type": { + "title": "日期格式", + "custom": "自定义" + }, + "skipped-line": "跳过行", + "timezone": "时区", + "save": "保存", + "placeholder": { + "input-delimiter": "请输入分隔符", + "input-charset": "请输入编码格式", + "input-date-format": "请输入日期格式" + }, + "hint": { + "save-succeed": "已保存文件设置" + } + }, + "type": { + "title": "类型设置", + "basic-settings": "基础设置", + "manipulation": { + "create": "创建", + "save": "保存", + "cancel": "取消", + "create-vertex": "创建顶点映射", + "create-edge": "创建边映射" + }, + "info": { + "type": "类型", + "name": "名称", + "ID-strategy": "ID策略", + "edit": "编辑", + "delete": "删除" + }, + "ID-strategy": { + "PRIMARY_KEY": "主键ID", + "AUTOMATIC": "自动生成", + "CUSTOMIZE_STRING": "自定义字符串", + "CUSTOMIZE_NUMBER": "自定义数字", + "CUSTOMIZE_UUID": "自定义UUID" + }, + "vertex": { + "title": "创建顶点映射", + "type": "顶点类型", + "ID-strategy": "ID策略", + "ID-column": "ID列", + "map-settings": "映射设置", + "add-map": { + "title": "添加映射", + "name": "列名", + "sample": "数据样例", + "property": "映射属性", + "clear": "清空" + }, + "select-all": "全选", + "advance": { + "title": "高级设置", + "nullable-list": { + "title": "空值列表", + "empty": "空值", + "custom": "自定义" + }, + "map-property-value": { + "title": "属性值映射", + "add-value": "添加属性值映射", + "fields": { + "property": "属性", + "value-map": "值映射", + "add-value-map": "添加值映射" + } + }, + "placeholder": { + "input": "请选择", + "input-property": "请选择输入属性", + "input-file-value": "请输入文件值", + "input-graph-value": "请输入图导入值" + } + } + }, + "edge": { + "title": "创建边映射", + "type": "边类型", + "source-ID-strategy": "起点ID策略", + "target-ID-strategy": "终点ID策略", + "ID-column": "ID列", + "map-settings": "映射设置", + "add-map": { + "title": "添加映射", + "name": "列名", + "sample": "数据样例", + "property": "映射属性", + "clear": "清空" + }, + "select-all": "全选", + "advance": { + "title": "高级设置", + "nullable-list": { + "title": "空值列表", + "empty": "空值", + "custom": "自定义" + }, + "map-property-value": { + "title": "属性值映射", + "add-value": "添加 属性值映射", + "fields": { + "property": "属性", + "value-map": "值映射", + "add-value-map": "添加值映射" + } + }, + "placeholder": { + "input": "请选择映射属性", + "input-property": "请选择输入属性", + "input-file-value": "请输入文件值", + "input-graph-value": "请输入图导入值" + } + } + }, + "hint": { + "lack-support-for-automatic": "自动生成的ID策略不支持可视化导入,请调用API实现", + "no-vertex-or-edge-mapping": "如下文件未设置顶点类型或边类型映射:" + }, + "placeholder": { + "select-vertex-type": "请选择顶点类型", + "select-edge-type": "请选择边类型", + "select-id-column": "请选择 ID 列", + "empty-value": "空" + } + }, + "manipulations": { + "previous": "上一步", + "next": "下一步", + "add": "添加", + "edit": "编辑", + "delete": "删除", + "cancel": "取消", + "hints": { + "delete-confirm": "确认删除?", + "warning": "删除后无法恢复,请谨慎操作" + } + }, + "validator": { + "no-empty": "该项不能为空" + } + }, + "server-data-import": { + "import-settings": { + "title": "导入设置", + "checkIfExist": "检查边连接的顶点是否存在", + "requestTimesWhenInterpolationFailed": "插入失败重试次数", + "maximumAnalyzedErrorRow": "允许最大解析错误行数", + "requestTicksWhenInterpolationFailed": "插入失败重试间隔/s", + "maxiumInterpolateErrorRow": "允许最大插入错误行数", + "InterpolationTimeout": "插入超时时间/s" + }, + "import-details": { + "title": "导入详情", + "column-titles": { + "file-name": "文件名称", + "type": "类型", + "import-speed": "导入速度", + "import-progress": "导入进度", + "status": "状态", + "time-consumed": "耗时", + "manipulations": "操作" + }, + "content": { + "vertex": "顶点", + "edge": "边" + }, + "status": { + "RUNNING": "运行中", + "SUCCEED": "成功", + "FAILED": "失败", + "PAUSED": "已暂停", + "STOPPED": "已终止" + }, + "manipulations": { + "pause": "暂停", + "resume": "继续", + "retry": "重试", + "abort": "终止", + "failed-cause": "查看原因" + } + }, + "hint": { + "check-vertex": "开启检查会影响导入性能,请按需开启", + "no-data": "正在请求导入", + "confirm-navigation": "确认跳转到任务列表?正在上传的文件可能会丢失" + }, + "validator": { + "no-empty": "该项不能为空", + "need-integer-with-negative": "请输入-1或大于0的整数", + "need-integer": "请输入大于0的整数" + }, + "manipulations": { + "previous": "上一步", + "start": "开始导入", + "cancel": "取消导入", + "finished": "完成" + } + }, + "data-import-status": { + "finished": "导入完成", + "success": "已成功导入 {{number}} 个文件", + "pause": "{{number}} 个文件暂停", + "abort": "{{number}} 个文件终止", + "move-to-import-manager": "返回导入任务列表" + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json new file mode 100644 index 000000000..8f01b76e3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/dataAnalyze.json @@ -0,0 +1,654 @@ +{ + "data-analyze": { + "category": { + "gremlin-analyze": "Gremlin 分析", + "algorithm-analyze": "算法分析" + }, + "manipulations": { + "execution": "执行", + "favorite": "收藏", + "reset": "重置" + }, + "hint": { + "graph-disabled": "该图不可用" + }, + "algorithm-list": { + "title": "算法目录", + "loop-detection": "环路检测", + "focus-detection": "交点检测", + "shortest-path": "最短路径", + "shortest-path-all": "全最短路径", + "all-path": "所有路径", + "model-similarity": "模型相似度算法", + "neighbor-rank": "Neighbor Rank推荐算法", + "k-step-neighbor": "k步邻居", + "k-hop": "k跳算法", + "custom-path": "自定义路径", + "radiographic-inspection": "射线检测", + "same-neighbor": "共同邻居", + "weighted-shortest-path": "带权最短路径", + "single-source-weighted-shortest-path": "单源带权最短路径", + "jaccard": "Jaccard相似度", + "personal-rank": "Personal Rank推荐算法" + }, + "algorithm-forms": { + "loop-detection": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "source_in_ring": "环路包含起点:", + "limit": "返回可达路径最大值:", + "capacity": "访问顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "focus-detection": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "limit": "返回交点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "shortest-path": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "skip_degree": "超级顶点度数:", + "capacity": "访问顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-integer": "请填写大于等于0的整数,默认为0", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "shortest-path-all": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "skip_degree": "超级顶点度数:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer": "请填写大于0的整数", + "input-integer": "请填写大于等于0的整数,默认为0", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目", + "skip-degree": "填写查询过程中需要跳过的顶点的最小的边数目,即当顶点的边数目大于超级顶点度数时,跳过该顶点,可用于规避超级点" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "all-path": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "limit": "返回路径最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "model-similarity": { + "options": { + "method": "起点选择方式:", + "source": "起点ID:", + "vertex-type": "顶点类型:", + "vertex-property": "顶点属性及值:", + "direction": "方向:", + "least_neighbor": "最少邻居数:", + "similarity": "相似度:", + "label": "边类型:", + "max_similar": "相似度最高个数:", + "least_similar": "模形相似点最小个数:", + "property_filter": "属性过滤:", + "least_property_number": "最小属性值个数:", + "max_degree": "最大度数:", + "capacity": "访问顶点最大值:", + "skip_degree": "返回顶点最大值:", + "limit": "返回结果最大值:", + "return_common_connection": "返回共同关联点:", + "return_complete_info": "返回顶点完整信息:" + }, + "radio-value": { + "specific-id": "指定ID", + "filtered-type-property": "筛选类型属性" + }, + "placeholder": { + "input-source-id": "请输入起点ID,多个ID用逗号分隔", + "input-vertex-type": "请选择顶点类型", + "select-vertex-property": "请选择顶点属性", + "input-vertex-property": "多属性值以逗号分隔", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "input-integer-gt-1": "请填写大于1的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "input-filtered-property": "请选择需要过滤的属性", + "no-properties": "无属性", + "no-vertex-type": "无顶点类型", + "similarity": "请输入(0-1]的数字" + }, + "hint": { + "vertex_type_or_property": "顶点类型/顶点属性至少填写一项", + "least_property_number": "属性过滤和最小属性值个数需一起使用;设置后效果为:当起点跟其所有的梭形相似点某个属性的值大于等于最小属性值个数时,才会返回该起点及其梭形相似点", + "max-degree": "查询过程中,单个顶点的最大边数目", + "least_neighbor": "邻居数少于当前设定值,则认为起点没有梭形相似点", + "similarity": "起点与\"梭形相似点\"的共同邻居数目占起点的全部邻居数目的比例", + "max_similar": "返回起点的梭形相似点中相似度最高的top个数,0表示全部", + "return_common_connection": "是否返回起点及其\"梭形相似点\"共同关联的中间点" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "integer-only": "请填写大于等于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "postive-integer-only": "请填写大于0的整数", + "integer-gt-1": "请填写大于1的整数", + "similarity": "请输入(0-1]的数字", + "no-gt-1000": "该值不能大于等于1000" + }, + "add": "添加", + "delete": "删除", + "pre-value": "全部" + }, + "neighbor-rank": { + "options": { + "source": "起点ID:", + "alpha": "Alpha:", + "direction": "方向:", + "capacity": "访问顶点最大值:", + "label": "边类型:", + "degree": "最大度数:", + "top": "每层保留权重Top N:", + "steps": "steps:" + }, + "placeholder": { + "input-source-id": "请输入起点ID", + "input-integer-lt-1000": "请填写大于等于0小于1000的整数, 默认为100", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer": "请填写大于0的整数", + "range": "范围(0-1]" + }, + "hint": { + "top": "在结果中每一层只保留权重最高的N个结果", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "range": "请填写大于0且小于等于1的数值", + "integer-only-lt-1000": "请填写大于等于0的整数小于1000的整数", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + }, + "pre-value": "全部", + "add-new-rule": "添加规则" + }, + "k-step-neighbor": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "limit": "返回顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "k-hop": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "nearest": "最短路径:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "遍历中访问顶点最大值:", + "limit": "返回顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目", + "shortest-path": "开启后,则查询出起始顶点最短路径为depth步的顶点,关闭后,则查询出起始顶点路径为depth步的顶点,可能有环,且不一定是最短路径" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "custom-path": { + "options": { + "method": "起点选择方式:", + "source": "起点ID:", + "vertex-type": "顶点类型:", + "vertex-property": "顶点属性:", + "sort_by": "路径权重排序:", + "capacity": "遍历中访问顶点最大值:", + "limit": "返回顶点最大值:", + "direction": "方向:", + "labels": "边类型:", + "properties": "边属性:", + "weight_by": "根据属性计算边权重:", + "degree": "最大度数:", + "sample": "采样值:", + "steps": "steps:" + }, + "placeholder": { + "input-source-id": "请输入起点ID,多个ID用逗号分隔", + "select-vertex-type": "请选择顶点类型", + "select-vertex-property": "请选择顶点属性", + "input-multiple-properties": "多属性值以逗号分隔", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer": "请填写大于0的整数", + "input-positive-integer-or-negative-one-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "input-property": "请输入边属性", + "input-number": "请输入浮点数字", + "select-edge-type": "请选择边类型", + "select-edge-property": "请选择边属性", + "select-property": "请选择属性", + "no-vertex-type": "无顶点类型", + "no-vertex-property": "无顶点属性", + "no-edge-type": "无边类型", + "no-edge-property": "无边属性", + "no-properties": "无属性" + }, + "hint": { + "top": "在结果中每一层只保留权重最高的N个结果", + "vertex_type_or_property": "顶点类型/顶点属性至少填写一项" + }, + "radio-value": { + "specific-id": "指定ID", + "filtered-type-property": "筛选类型属性", + "none": "不排序", + "ascend": "升序", + "descend": "降序" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "range": "请填写大于0且小于等于1的数值", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "input-number": "请输入浮点数字" + }, + "custom-weight": "自定义权重值", + "add": "添加", + "delete": "删除", + "add-new-rule": "添加规则" + }, + "radiographic-inspection": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "max_depth": "最大步数:", + "label": "边类型:", + "max_degree": "最大度数:", + "capacity": "遍历中访问顶点最大值:", + "limit": "返回非环路路径最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-positive-integer": "请填写大于0的整数", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "same-neighbor": { + "options": { + "vertex": "顶点1:", + "other": "顶点2:", + "direction": "方向:", + "label": "边类型:", + "max_degree": "最大度数:", + "limit": "返回共同邻居最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入顶点ID", + "input-other-id": "请输入不同于顶点1的ID", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer": "请填写大于0的整数", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "no-same-value-with-other": "不能与顶点2相同", + "no-same-value-with-vertex": "不能与顶点1相同" + } + }, + "weighted-shortest-path": { + "options": { + "source": "起点ID:", + "target": "终点ID:", + "direction": "方向:", + "weight": "权重属性:", + "with_vertex": "返回顶点完整信息:", + "label": "边类型:", + "max_degree": "最大度数:", + "skip_degree": "跳过点的度数:", + "capacity": "遍历中访问顶点最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-target-id": "请输入终点ID", + "input-integer": "请填写大于等于0的整数", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "select-property": "请选择属性", + "input-positive-integer": "请填写大于0的整数,默认为0", + "no-property": "无属性值为数字类型的属性", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "当顶点的边数目大于填写值,则跳过当前顶点,用于规避超级点", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "postive-integer-only": "请填写大于0的整数" + } + }, + "single-source-weighted-shortest-path": { + "options": { + "source": "起点ID:", + "direction": "方向:", + "weight": "权重属性:", + "with_vertex": "返回顶点完整信息:", + "label": "边类型:", + "max_degree": "最大度数:", + "skip_degree": "跳过点的度数:", + "capacity": "遍历中访问顶点最大值:", + "limit": "返回顶点/最短路径最大值:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入起点ID", + "input-integer": "请填写大于等于0的整数,默认为0", + "input-positive-integer": "请填写大于0的整数", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-capacity": "请填写-1或大于0的整数,默认为10000000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10", + "no-property": "若不填写权重为1.0", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "skip-degree": "当顶点的边数目大于填写值,则跳过当前顶点,用于规避超级点", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "integer-only": "请填写大于等于0的整数", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + } + }, + "jaccard": { + "options": { + "vertex": "顶点1:", + "other": "顶点2:", + "direction": "方向:", + "label": "边类型:", + "max_degree": "最大度数:" + }, + "pre-value": "全部", + "placeholder": { + "input-source-id": "请输入顶点ID", + "input-other-id": "请输入不同于顶点1的ID", + "input-positive-integer": "请填写大于0的整数", + "input-positive-integer-or-negative-one-max-degree": "请填写-1或大于0的整数,默认为10000", + "no-edge-types": "无边类型" + }, + "hint": { + "max-depth": "为保证性能,建议不超过10步,推荐5步", + "max-degree": "查询过程中,单个顶点的最大边数目" + }, + "validations": { + "no-empty": "该项不能为空", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数", + "no-same-value-with-other": "不能与顶点2相同", + "no-same-value-with-vertex": "不能与顶点1相同" + } + }, + "personal-rank": { + "options": { + "source": "起点ID:", + "alpha": "Alpha:", + "max_depth": "迭代次数:", + "with_label": "返回结果筛选:", + "label": "边类型:", + "degree": "最大度数:", + "limit": "返回顶点最大值:", + "sorted": "返回结果排序:" + }, + "with-label-radio-value": { + "same_label": "相同类型顶点", + "other_label": "不同类型顶点", + "both_label": "全部类型顶点" + }, + "placeholder": { + "input-source-id": "请输入起点ID", + "input-positive-integer-or-negative-one-degree": "请填写-1或大于0的整数,默认为10000", + "input-positive-integer-or-negative-one-limit": "请填写-1或大于0的整数,默认为10000000", + "select-edge": "请选择边类型", + "input-positive-integer": "请填写大于0的整数", + "alpha": "请输入(0-1]的数字", + "max_depth": "请输入(0-50]的数字" + }, + "hint": { + "degree": "查询过程中,单个顶点的最大边数目", + "with-label": "根据是否与起点类型相同,筛选返回结果", + "sorted": "选择开,则降序排列,选择关,则不排序" + }, + "validations": { + "no-empty": "该项不能为空", + "no-edge-typs": "无边类型", + "alpha-range": "请填写大于0且小于等于1的数值", + "depth-range": "请填写大于0且小于等于50的数值", + "postive-integer-only": "请填写大于0的整数", + "positive-integer-or-negative-one-only": "请填写-1或大于0的整数" + }, + "pre-value": "全部", + "add-new-rule": "添加规则" + }, + "api-name-mapping": { + "rings": "环路检测", + "crosspoints": "交点检测", + "shortpath": "最短路径", + "allshortpath": "全最短路径", + "paths": "所有路径", + "fsimilarity": "模型相似度算法", + "neighborrank": "Neighbor Rank推荐算法", + "kneighbor": "k步邻居", + "kout": "k跳算法", + "customizedpaths": "自定义路径", + "rays": "射线检测", + "sameneighbors": "共同邻居", + "weightedshortpath": "带权最短路径", + "singleshortpath": "单源带权最短路径", + "jaccardsimilarity": "Jaccard相似度", + "personalrank": "Personal Rank推荐算法" + } + }, + "exec-logs": { + "table-title": { + "time": "时间", + "type": "执行类型", + "content": "执行内容", + "status": "状态", + "duration": "耗时", + "manipulation": "操作" + }, + "type": { + "GREMLIN": "GREMLIN 查询", + "GREMLIN_ASYNC": "GREMLIN 任务", + "ALGORITHM": "算法查询" + }, + "status": { + "success": "成功", + "async-success": "提交成功", + "running": "运行中", + "failed": "失败", + "async-failed": "提交失败" + } + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/index.ts new file mode 100644 index 000000000..b3e03211e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/graph-managment/index.ts @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import CommonResources from './common.json'; +import GraphManagementSideBarResources from './GraphManagementSidebar.json'; +import DataAnalyzeResources from './dataAnalyze.json'; +import DataImportResources from './data-import/import-tasks/ImportTasks.json'; +import AsyncTasksResources from './AsyncTasks.json'; +import Addition from './addition.json'; + +export { + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/index.ts new file mode 100644 index 000000000..4a369f54e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/i18n/resources/zh-CN/index.ts @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { merge } from 'lodash-es'; +import { + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition +} from './graph-managment'; + +const translation = { + translation: merge( + CommonResources, + DataAnalyzeResources, + GraphManagementSideBarResources, + DataImportResources, + AsyncTasksResources, + Addition + ) +}; + +export default translation; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/index.less b/hugegraph-hubble/hubble-fe-old(legacy)/src/index.less new file mode 100644 index 000000000..b0e16a767 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/index.less @@ -0,0 +1,320 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +@import '~hubble-ui/src/index.less'; + +@primary-color: #2b65ff; +@primary-hover-color: #527dff; +@primary-active-color: #184bcc; + +* { + box-sizing: border-box; +} + +html, +body, +img, +ul, +ol, +li, +table, +tr, +th, +td, +p { + margin: 0; + padding: 0; + border: 0; +} + +body { + background: #f2f2f2; + // prettier-ignore + font-family: + -apple-system, + BlinkMacSystemFont, + 'Helvetica Neue', + Helvetica, + 'PingFang SC', + 'Hiragino Sans GB', + 'Microsoft YaHei', + '微软雅黑', + Arial, + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + &.dark { + background: #000; + } + + &::after { + position: absolute; + overflow: hidden; + left: -20000px; + // preload images which in hover state to solve blink issue + content: + url(./assets/imgs/ic_topback.svg) + url(./assets/imgs/ic_arrow_white.svg) + url(./assets/imgs/ic_shuju_normal.svg) + url(./assets/imgs/ic_shuju_pressed.svg) + url(./assets/imgs/ic_yuanshuju_normal.svg) + url(./assets/imgs/ic_yuanshuju_pressed.svg) + url(./assets/imgs/ic_cebianzhankai.svg) + url(./assets/imgs/ic_cebianshouqi.svg) + url(./assets/imgs/ic_daorushuju_normal.svg) + url(./assets/imgs/ic_daorushuju_pressed.svg) + url(./assets/imgs/ic_renwuguanli_normal.svg) + url(./assets/imgs/ic_renwuguanli_pressed.svg) + url(./assets/imgs/ic_tuzhanshi_normal.svg) + url(./assets/imgs/ic_tuzhanshi_hover.svg) + url(./assets/imgs/ic_tuzhanshi_pressed.svg) + url(./assets/imgs/ic_biaoge_normal.svg) + url(./assets/imgs/ic_biaoge_hover.svg) + url(./assets/imgs/ic_biaoge_pressed.svg) + url(./assets/imgs/ic_json_normal.svg) url(./assets/imgs/ic_json_hover.svg) + url(./assets/imgs/ic_json_pressed.svg) url(./assets/imgs/ic_close_16.svg) + url(./assets/imgs/ic_refresh.svg) url(./assets/imgs/ic_loading_back.svg) + url(./assets/imgs/ic_loading_front.svg) + url(./assets/imgs/ic_question_mark.svg); + } +} + +code { + // prettier-ignore + font-family: + source-code-pro, + Menlo, + Monaco, + Consolas, + 'Courier New', + monospace; +} + +.tooltips { + background: #fff; + box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.2); + border-radius: 4px; + padding: 28px 24px 24px; +} + +.tooltips-dark { + border-radius: 3px; + background-color: rgba(0, 0, 0, 0.8); + border-color: transparent; + padding: 4px 8px; + color: #fff; + line-height: 18px; + font-size: 12px; + max-width: 240px; + word-wrap: break-word; + + // override tooltip-arrow + .tooltip-arrow[data-placement*='bottom'] { + margin-top: -0.25rem; + } + + .tooltip-arrow[data-placement*='bottom']::before { + border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent; + border-width: 0 0.3rem 0.3rem 0.3rem; + position: absolute; + top: 0; + } + + .tooltip-arrow[data-placement*='bottom']::after { + border-color: transparent transparent rgba(0, 0, 0, 0.8) transparent; + // border-color: rgba(0, 0, 0, 0.8); + border-width: 0 0.3rem 0.3rem 0.3rem; + } +} + +.no-line-break { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.message-wrapper { + font-size: 14px; + line-height: 22px; + + &-title { + font-weight: 900; + margin: 3.6px 0 4px; + } + + &-manipulation { + cursor: pointer; + color: #2b65ff; + } +} + +/* overrides (global) */ + +//primary button background colors +.new-fc-one-btn-primary { + background: @primary-color; + + &:hover { + background: @primary-hover-color; + } + + &:active { + background: @primary-active-color; + } + + &-disabled { + background: #d9e6ff; + + &:hover, + &:active { + background: #d9e6ff; + } + } +} + +// Modal titles +.new-fc-one-modal-title { + // prettier-ignore + font-family: + 'PingFangSC-Medium', + 'Microsoft YaHei', + '微软雅黑', + Arial, + sans-serif; + font-weight: bold; + font-size: 16px; +} + +// drawers, e.g. metadata-configs vertex/edge types +.new-fc-one-drawer-wrapper-body-small .new-fc-one-drawer-title { + font-size: 16px; +} + +.new-fc-one-drawer-close { + top: 28px; +} + +// z-index input errorlayer in Drawer should be higher +// prettier-ignore +.new-fc-one-drawer-content-wrapper .new-fc-one-input-error.new-fc-one-input-error-layer { + z-index: 1041; +} + +// also z-index is invalid if parent node has position: relative +.new-fc-one-drawer-content-wrapper .new-fc-one-input-all-container { + position: absolute; +} + +// Steps process style +.new-fc-one-steps-item-process .new-fc-one-steps-item-icon { + background: @primary-color; +} + +// checked-color +.new-fc-one-switch-checked { + background: @primary-color; + + &:hover { + background: @primary-hover-color; + } +} + +// text in +.new-fc-one-switch-inner { + margin-right: 0; +} + +.new-fc-one-switch-checked .new-fc-one-switch-inner { + margin-left: 0; +} + +// override radio button primary color +.new-fc-one-radio-button-wrapper-checked { + border: 1px solid @primary-color; + background-color: @primary-color; + color: #fff; + + &:hover { + border: 1px solid @primary-hover-color; + background-color: @primary-hover-color; + color: #fff; + } +} + +// hovered color +.new-fc-one-menu-horizontal-box .new-fc-one-menu-item-selected:hover { + color: @primary-hover-color; + border-color: @primary-hover-color; +} + +//
th checkbox color +.new-fc-one-checkbox-wrapper .new-fc-one-checkbox-indeterminate .new-fc-one-checkbox-inner { + background-color: #2b65ff; +} + +.new-fc-one-table-thead > tr > th:first-of-type { + padding: 12px 16px 12px 20px; +} + +// could be a bug where container style is display: none +.new-fc-one-message { + display: block !important; +} + +// proper line break +.new-fc-one-message-container-content { + word-break: break-word; +} + +// +.new-fc-one-breadcrumb-link { + color: #2b65ff; +} + +// +.new-fc-one-modal-body { + overflow-y: auto !important; +} + +// menu center +.data-analyze-sidebar .ant-menu.ant-menu-inline-collapsed > .ant-menu-item { + padding: 0 12px; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/index.tsx b/hugegraph-hubble/hubble-fe-old(legacy)/src/index.tsx new file mode 100644 index 000000000..2c6b3b7c8 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/index.tsx @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.less'; +import App from './components/App'; +import './i18n'; +import { ConfigProvider } from 'antd'; +import zhCN from 'antd/lib/locale/zh_CN'; +import enUS from 'antd/lib/locale/en_US'; + +// UI component has built-in text internationalization, +// such as confirmation, cancellation, etc +const languageType = + localStorage.getItem('languageType') === 'en-US' ? enUS : zhCN; +ReactDOM.render( + + + , + document.getElementById('root') +); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/react-app-env.d.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/react-app-env.d.ts new file mode 100644 index 000000000..4724ca7e0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/react-app-env.d.ts @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +/// diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/asyncTasksStore.ts new file mode 100644 index 000000000..4e0675c19 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/asyncTasksStore.ts @@ -0,0 +1,230 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; + +import { initErrorInfo, initRequestStatus } from '../factory/asyncTasksStore'; +import { checkIfLocalNetworkOffline } from '../utils'; + +import { baseUrl, responseData } from '../types/common'; +import type { + AsyncTask, + AsyncTaskListResponse +} from '../types/GraphManagementStore/asyncTasksStore'; + +export class AsyncTasksStore { + @observable requestStatus = initRequestStatus(); + @observable errorInfo = initErrorInfo(); + + @observable currentId: number | null = null; + @observable searchWords = ''; + @observable abortingId = NaN; + + @observable.shallow asyncTasksPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + // searched results rather than initial fetched result + @observable.shallow isSearched = { + status: false, + value: '' + }; + + @observable.shallow filterOptions = { + type: '', + status: '' + }; + + @observable.ref asyncTaskList: AsyncTask[] = []; + @observable.ref singleAsyncTask: AsyncTask | null = null; + + @action + setCurrentId(id: number) { + this.currentId = id; + } + + @action + setAbortingId(id: number) { + this.abortingId = id; + } + + @action + mutateSearchWords(word: string) { + this.searchWords = word; + } + + @action + mutateFilterOptions(category: 'type' | 'status', value: string) { + this.filterOptions[category] = value; + } + + @action + mutateAsyncTasksPageNumber(pageNumber: number) { + this.asyncTasksPageConfig.pageNumber = pageNumber; + } + + @action + switchSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchWords) + : (this.isSearched.value = ''); + } + + @action + dispose() { + this.requestStatus = initRequestStatus(); + this.errorInfo = initErrorInfo(); + this.currentId = null; + this.searchWords = ''; + this.abortingId = NaN; + this.asyncTasksPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + this.isSearched = { + status: false, + value: '' + }; + this.filterOptions = { + type: '', + status: '' + }; + this.asyncTaskList = []; + this.singleAsyncTask = null; + } + + fetchAsyncTaskList = flow(function* fetchAsyncTaskList( + this: AsyncTasksStore + ) { + this.requestStatus.fetchAsyncTaskList = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/async-tasks?page_no=${ + this.asyncTasksPageConfig.pageNumber + }&page_size=10&type=${ + this.filterOptions.type + }&status=${this.filterOptions.status.toUpperCase()}` + + (this.isSearched.status && this.searchWords !== '' + ? `&content=${this.searchWords}` + : '') + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchAsyncTaskList.code = result.data.status; + throw new Error(result.data.message); + } + + this.asyncTaskList = result.data.data.records; + this.asyncTasksPageConfig.pageTotal = result.data.data.total; + this.requestStatus.fetchAsyncTaskList = 'success'; + } catch (error) { + this.requestStatus.fetchAsyncTaskList = 'failed'; + this.errorInfo.fetchAsyncTaskList.message = error.message; + } + }); + + fetchAsyncTask = flow(function* fetchAsyncTask( + this: AsyncTasksStore, + id: number + ) { + this.requestStatus.fetchAsyncTask = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/async-tasks/${id}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchAsyncTask.code = result.data.status; + throw new Error(result.data.message); + } + + this.singleAsyncTask = result.data.data; + this.requestStatus.fetchAsyncTask = 'success'; + } catch (error) { + this.requestStatus.fetchAsyncTask = 'failed'; + this.errorInfo.fetchAsyncTask.message = error.message; + } + }); + + deleteAsyncTask = flow(function* deleteAsyncTask( + this: AsyncTasksStore, + selectedTaskIds: number[] + ) { + this.requestStatus.deleteAsyncTask = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete>( + `${baseUrl}/${this.currentId}/async-tasks?` + + selectedTaskIds.map((id) => 'ids=' + id).join('&') + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteAsyncTask.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.deleteAsyncTask = 'success'; + } catch (error) { + this.requestStatus.deleteAsyncTask = 'failed'; + this.errorInfo.deleteAsyncTask.message = error.message; + } + }); + + abortAsyncTask = flow(function* abortAsyncTask( + this: AsyncTasksStore, + id: number + ) { + this.requestStatus.abortAsyncTask = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.currentId}/async-tasks/cancel/${id}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.abortAsyncTask.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.abortAsyncTask = 'success'; + } catch (error) { + this.requestStatus.abortAsyncTask = 'failed'; + this.errorInfo.abortAsyncTask.message = error.message; + } + }); +} + +export default createContext(new AsyncTasksStore()); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts new file mode 100644 index 000000000..2325c11f0 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/algorithmAnalyzerStore.ts @@ -0,0 +1,1901 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { DataAnalyzeStore } from './dataAnalyzeStore'; +import { observable, action, computed } from 'mobx'; +import { isEmpty, remove, isEqual, isUndefined, flatten } from 'lodash-es'; +import { v4 } from 'uuid'; +import isInt from 'validator/lib/isInt'; + +import { + initializeRequestStatus, + initializeErrorInfo, + createLoopDetectionDefaultParams, + createValidateLoopDetectionParamsErrorMessage, + createFocusDetectionDefaultParams, + createValidateFocusDetectionParamsErrorMessage, + createShortestPathDefaultParams, + createValidateShortestPathParamsErrorMessage, + createShortestPathAllDefaultParams, + createValidateShortestPathAllParamsErrorMessage, + createAllPathDefaultParams, + createValidateAllPathParamsErrorMessage, + createModelSimilarityDefaultParams, + createValidateModelSimilarParamsErrorMessage, + createNeighborRankDefaultParams, + createValidateNeighborRankErrorMessage, + createKStepNeighborDefaultParams, + createValidateKStepNeighborParamsErrorMessage, + createKHopDefaultParams, + createValidateKHopParamsErrorMessage, + createRadiographicInspectionDefaultParams, + createValidateRadiographicInspectionParamsErrorMessage, + createSameNeighborDefaultParams, + createValidateSameNeighborParamsErrorMessage, + createWeightedShortestPathDefaultParams, + createValidateWeightedShortestPathParamsErrorMessage, + createSingleSourceWeightedShortestPathDefaultParams, + createValidateSingleSourceWeightedShortestPathParamsErrorMessage, + createJaccardDefaultParams, + createValidateJaccardParamsErrorMessage, + createPersonalRankDefaultParams, + createValidatePersonalRankParamsErrorMessage, + createCustomPathDefaultParams, + createValidateCustomPathParamsErrorMessage +} from '../../factory/dataAnalyzeStore/algorithmStore'; +import i18next from '../../../i18n'; +import { isGtNegativeOneButZero } from '../../utils'; + +import type { dict } from '../../types/common'; +import type { + ShortestPathAlgorithmParams, + LoopDetectionParams, + FocusDetectionParams, + ShortestPathAllAlgorithmParams, + AllPathAlgorithmParams, + ModelSimilarityParams, + NeighborRankParams, + NeighborRankRule, + KStepNeighbor, + KHop, + RadiographicInspection, + SameNeighbor, + WeightedShortestPath, + SingleSourceWeightedShortestPath, + Jaccard, + PersonalRank, + CustomPathParams, + CustomPathRule +} from '../../types/GraphManagementStore/dataAnalyzeStore'; +import isFloat from 'validator/lib/isFloat'; + +export class AlgorithmAnalyzerStore { + dataAnalyzeStore: DataAnalyzeStore; + + constructor(dataAnalyzeStore: DataAnalyzeStore) { + this.dataAnalyzeStore = dataAnalyzeStore; + } + + @observable requestStatus = initializeRequestStatus(); + @observable errorInfo = initializeErrorInfo(); + + @observable isCollapse = false; + @observable currentAlgorithm = ''; + + @observable + loopDetectionParams: LoopDetectionParams = createLoopDetectionDefaultParams(); + + @observable + validateLoopDetectionParamsErrorMessage: any = createValidateLoopDetectionParamsErrorMessage(); + + @observable + focusDetectionParams: FocusDetectionParams = createFocusDetectionDefaultParams(); + + @observable + validateFocusDetectionParamsErrorMessage: any = createValidateFocusDetectionParamsErrorMessage(); + + @observable + shortestPathAlgorithmParams: ShortestPathAlgorithmParams = createShortestPathDefaultParams(); + + @observable + validateShortestPathParamsErrorMessage: ShortestPathAlgorithmParams = createValidateShortestPathParamsErrorMessage(); + + @observable + shortestPathAllParams: ShortestPathAllAlgorithmParams = createShortestPathAllDefaultParams(); + + @observable + validateShortestPathAllParamsErrorMessage: ShortestPathAllAlgorithmParams = createValidateShortestPathAllParamsErrorMessage(); + + @observable + allPathParams: AllPathAlgorithmParams = createAllPathDefaultParams(); + + @observable + validateAllPathParamsErrorMessage: AllPathAlgorithmParams = createValidateAllPathParamsErrorMessage(); + + @observable + modelSimilarityParams: ModelSimilarityParams = createModelSimilarityDefaultParams(); + + @observable + validateModelSimilartiyParamsErrorMessage: dict< + string + > = createValidateModelSimilarParamsErrorMessage(); + + @observable + neighborRankParams: NeighborRankParams = createNeighborRankDefaultParams(); + + @observable + validateNeighborRankParamsParamsErrorMessage = createValidateNeighborRankErrorMessage(); + + @observable + kStepNeighborParams: KStepNeighbor = createKStepNeighborDefaultParams(); + + @observable + validateKStepNeighborParamsErrorMessage = createValidateKStepNeighborParamsErrorMessage(); + + @observable + kHopParams: KHop = createKHopDefaultParams(); + + @observable + validateKHopParamsErrorMessage = createValidateKHopParamsErrorMessage(); + + @observable + customPathParams: CustomPathParams = createCustomPathDefaultParams(); + + @observable + validateCustomPathParmasErrorMessage = createValidateCustomPathParamsErrorMessage(); + + @observable + radiographicInspectionParams: RadiographicInspection = createRadiographicInspectionDefaultParams(); + + @observable + validateRadiographicInspectionParamsErrorMessage = createValidateRadiographicInspectionParamsErrorMessage(); + + @observable + sameNeighborParams: SameNeighbor = createSameNeighborDefaultParams(); + + @observable + validateSameNeighborParamsErrorMessage: SameNeighbor = createValidateSameNeighborParamsErrorMessage(); + + @observable + weightedShortestPathParams: WeightedShortestPath = createWeightedShortestPathDefaultParams(); + + @observable + validateWeightedShortestPathParamsErrorMessage = createValidateWeightedShortestPathParamsErrorMessage(); + + @observable + singleSourceWeightedShortestPathParams: SingleSourceWeightedShortestPath = createSingleSourceWeightedShortestPathDefaultParams(); + + @observable + validateSingleSourceWeightedShortestPathParamsErrorMessage = createValidateSingleSourceWeightedShortestPathParamsErrorMessage(); + + @observable + jaccardParams: Jaccard = createJaccardDefaultParams(); + + @observable + validateJaccardParamsErrorMessage = createValidateJaccardParamsErrorMessage(); + + @observable + personalRankParams: PersonalRank = createPersonalRankDefaultParams(); + + @observable + validatePersonalRankErrorMessage = createValidatePersonalRankParamsErrorMessage(); + + @computed get allPropertyIndexProperty() { + return flatten( + this.dataAnalyzeStore.propertyIndexes.map(({ fields }) => fields) + ); + } + + @computed get currentAlgorithmParams() { + switch (this.currentAlgorithm) { + case 'loop-detection': + return this.loopDetectionParams; + case 'focus-detection': + return this.focusDetectionParams; + case 'shortest-path': + return this.shortestPathAlgorithmParams; + case 'shortest-path-all': + return this.shortestPathAllParams; + case 'all-path': + return this.allPathParams; + case 'model-similarity': + return this.modelSimilarityParams; + case 'neighbor-rank': + return this.neighborRankParams; + case 'k-step-neighbor': + return this.kStepNeighborParams; + case 'k-hop': + return this.kHopParams; + case 'custom-path': + return this.customPathParams; + case 'radiographic-inspection': + return this.loopDetectionParams; + case 'same-neighbor': + return this.sameNeighborParams; + case 'weighted-shortest-path': + return this.weightedShortestPathParams; + case 'single-source-weighted-shortest-path': + return this.singleSourceWeightedShortestPathParams; + case 'jaccard': + return this.jaccardParams; + case 'personal-rank': + return this.personalRankParams; + } + } + + @action + switchCollapse(flag: boolean) { + this.isCollapse = flag; + } + + @action + changeCurrentAlgorithm(algorithm: string) { + this.currentAlgorithm = algorithm; + } + + @action + mutateLoopDetectionParams( + key: T, + value: LoopDetectionParams[T] + ) { + this.loopDetectionParams[key] = value; + } + + @action + validateLoopDetectionParams(key: T) { + const value = this.loopDetectionParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.no-empty' + ); + + return; + } + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.no-empty' + ); + + return; + } + + if (!isInt(value as string, { min: 1 })) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateLoopDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.loop-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateLoopDetectionParamsErrorMessage[key] = ''; + } + + @action + resetLoopDetectionParams() { + this.loopDetectionParams = createLoopDetectionDefaultParams(); + this.validateLoopDetectionParamsErrorMessage = createValidateLoopDetectionParamsErrorMessage(); + } + + @action + mutateFocusDetectionParams( + key: T, + value: FocusDetectionParams[T] + ) { + this.focusDetectionParams[key] = value; + } + + @action + validateFocusDetectionParams(key: T) { + const value = this.focusDetectionParams[key]; + + switch (key) { + case 'source': + case 'target': + if (isEmpty(value)) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.no-empty' + ); + + return; + } + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateFocusDetectionParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.focus-detection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateFocusDetectionParamsErrorMessage[key] = ''; + } + + @action + resetFocusDetectionParams() { + this.focusDetectionParams = createFocusDetectionDefaultParams(); + this.validateFocusDetectionParamsErrorMessage = createValidateFocusDetectionParamsErrorMessage(); + } + + @action + mutateShortestPathParams( + key: T, + value: ShortestPathAlgorithmParams[T] + ) { + this.shortestPathAlgorithmParams[key] = value; + } + + @action + validateShortestPathParams( + key: T + ) { + const value = this.shortestPathAlgorithmParams[key]; + + switch (key) { + case 'source': + case 'target': + if (isEmpty(value)) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.no-empty' + ); + + return; + } + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'skip_degree': + if (value !== '' && !isInt(value, { min: 0 })) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.integer-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateShortestPathParamsErrorMessage[key] = ''; + } + + @action + resetShortestPathParams() { + this.shortestPathAlgorithmParams = createShortestPathDefaultParams(); + this.validateShortestPathParamsErrorMessage = createValidateShortestPathParamsErrorMessage(); + } + + @action + mutateShortestPathAllParams( + key: T, + value: ShortestPathAlgorithmParams[T] + ) { + this.shortestPathAllParams[key] = value; + } + + @action + validateShortestPathAllParams( + key: T + ) { + const value = this.shortestPathAllParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' + ); + + return; + } + break; + case 'target': + if (isEmpty(value)) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' + ); + + return; + } + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value)) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'skip_degree': + if (value !== '' && !isInt(value, { min: 0 })) { + this.validateShortestPathAllParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path-all.validations.integer-only' + ); + + return; + } + } + + this.validateShortestPathAllParamsErrorMessage[key] = ''; + } + + @action + resetShortestPathAllParams() { + this.shortestPathAllParams = createShortestPathAllDefaultParams(); + this.validateShortestPathAllParamsErrorMessage = createValidateShortestPathAllParamsErrorMessage(); + } + + @action + mutateAllPathParams( + key: T, + value: AllPathAlgorithmParams[T] + ) { + this.allPathParams[key] = value; + } + + @action + validateAllPathParams(key: T) { + const value = this.allPathParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.all-path.validations.no-empty' + ); + + return; + } + break; + case 'target': + if (isEmpty(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.all-path.validations.no-empty' + ); + + return; + } + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.all-path.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.all-path.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.all-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value)) { + this.validateAllPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateAllPathParamsErrorMessage[key] = ''; + } + + @action + resetAllPathParams() { + this.allPathParams = createAllPathDefaultParams(); + this.validateAllPathParamsErrorMessage = createValidateAllPathParamsErrorMessage(); + } + + @action + addModelSimilarityVertexProperty() { + this.modelSimilarityParams.vertexProperty.push(['', '']); + } + + @action + editModelSimilarityVertexProperty( + index: number, + type: 'key' | 'value', + value: string + ) { + if (type === 'key') { + this.modelSimilarityParams.vertexProperty[index][0] = value; + } else { + this.modelSimilarityParams.vertexProperty[index][1] = value; + } + } + + @action + removeModelSimilarityVertexProperty(propertyIndex: number) { + remove( + this.modelSimilarityParams.vertexProperty, + (_, index) => index === propertyIndex + ); + } + + @action + mutateModelSimilarityParams( + key: T, + value: ModelSimilarityParams[T] + ) { + this.modelSimilarityParams[key] = value; + } + + @action + validateModelSimilarityParams(key: T) { + const value = this.modelSimilarityParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' + ); + + return; + } + + break; + case 'least_neighbor': + if (isEmpty(value)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' + ); + + return; + } + + if (!isInt(value as string, { min: 1 })) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.postive-integer-only' + ); + + return; + } + + break; + case 'similarity': + if (isEmpty(value)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' + ); + + return; + } + + if ( + Object.is(Number(value), NaN) || + Number(value) > 1 || + Number(value) <= 0 + ) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.similarity' + ); + + return; + } + + break; + case 'max_similar': + if (value !== '' && !isInt(value as string, { min: 0 })) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.integer-only' + ); + + return; + } + + break; + case 'least_similar': + if (value !== '' && !isInt(value as string, { min: 1 })) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.postive-integer-only' + ); + + return; + } + + break; + case 'least_property_number': + if ( + !isEmpty(this.modelSimilarityParams.property_filter) && + isEmpty(value) + ) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.no-empty' + ); + + return; + } + + if (value !== '' && !isInt(value as string, { min: 2 })) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.integer-gt-1' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateModelSimilartiyParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.model-similarity.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateModelSimilartiyParamsErrorMessage[key] = ''; + } + + @action + resetModelSimilarityParams() { + this.modelSimilarityParams = createModelSimilarityDefaultParams(); + this.validateModelSimilartiyParamsErrorMessage = createValidateModelSimilarParamsErrorMessage(); + } + + @action + switchModelSimilarityMethod(method: string) { + this.modelSimilarityParams.method = method; + + if (method === 'id') { + this.modelSimilarityParams.vertexType = ''; + this.modelSimilarityParams.vertexProperty = [['', '']]; + this.validateModelSimilartiyParamsErrorMessage.vertexType = ''; + this.validateModelSimilartiyParamsErrorMessage.vertexProperty = ''; + } else { + this.modelSimilarityParams.source = ''; + this.validateModelSimilartiyParamsErrorMessage.source = ''; + } + } + + @action + addNeighborRankRule() { + this.neighborRankParams.steps.push({ + uuid: v4(), + direction: 'BOTH', + labels: ['__all__'], + degree: '10000', + top: '100' + }); + + // add error message together + this.addValidateNeighborRankRule(); + } + + @action + addValidateNeighborRankRule() { + this.validateNeighborRankParamsParamsErrorMessage.steps.push({ + uuid: '', + direction: '', + labels: '', + degree: '', + top: '' + }); + } + + @action + removeNeighborRankRule(ruleIndex: number) { + remove(this.neighborRankParams.steps, (_, index) => index === ruleIndex); + // remove error message together + this.removeValidateNeighborRankRule(ruleIndex); + } + + @action + removeValidateNeighborRankRule(ruleIndex: number) { + remove( + this.validateNeighborRankParamsParamsErrorMessage.steps, + (_, index) => index === ruleIndex + ); + } + + @action + mutateNeighborRankParams( + key: T, + value: NeighborRankParams[T] + ) { + this.neighborRankParams[key] = value; + } + + @action + mutateNeighborRankRuleParams( + key: T, + value: NeighborRankRule[T], + index: number + ) { + this.neighborRankParams.steps[index][key] = value; + } + + @action + validateNeighborRankParams(key: T) { + const value = this.neighborRankParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.no-empty' + ); + + return; + } + + this.validateNeighborRankParamsParamsErrorMessage.source = ''; + break; + case 'alpha': + if (isEmpty(value)) { + this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.no-empty' + ); + + return; + } + + if ( + Object.is(Number(value), NaN) || + Number(value) > 1 || + Number(value) <= 0 + ) { + this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.range' + ); + + return; + } + + this.validateNeighborRankParamsParamsErrorMessage.alpha = ''; + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateNeighborRankParamsParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + this.validateNeighborRankParamsParamsErrorMessage.capacity = ''; + break; + } + } + + @action + validateNeighborRankRules( + key: T, + ruleIndex: number + ) { + const value = this.neighborRankParams.steps[ruleIndex][key]; + + switch (key) { + case 'degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + break; + case 'top': + if (!isEmpty(value) && !isInt(value as string, { min: 0, max: 999 })) { + this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.integer-only-lt-1000' + ); + + return; + } + break; + default: + return; + } + + this.validateNeighborRankParamsParamsErrorMessage.steps[ruleIndex][key] = + ''; + } + + @action + resetNeighborRankParams() { + this.neighborRankParams = createNeighborRankDefaultParams(); + this.validateNeighborRankParamsParamsErrorMessage = createValidateNeighborRankErrorMessage(); + } + + @action + mutateKStepNeighborParams( + key: T, + value: KStepNeighbor[T] + ) { + this.kStepNeighborParams[key] = value; + } + + @action + validateKStepNeighborParams(key: T) { + const value = this.kStepNeighborParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-step-neighbor.validations.no-empty' + ); + + return; + } + + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-step-neighbor.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-step-neighbor.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-step-neighbor.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value)) { + this.validateKStepNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-step-neighbor.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateKStepNeighborParamsErrorMessage[key] = ''; + } + + @action + resetKStepNeighborParams() { + this.kStepNeighborParams = createKStepNeighborDefaultParams(); + this.validateKStepNeighborParamsErrorMessage = createValidateKStepNeighborParamsErrorMessage(); + } + + @action + mutateKHopParams(key: T, value: KHop[T]) { + this.kHopParams[key] = value; + } + + @action + validateKHopParams(key: T) { + const value = this.kHopParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.no-empty' + ); + + return; + } + + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.no-empty' + ); + + return; + } + + if (!isInt(value as string, { min: 1 })) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateKHopParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.k-hop.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateKHopParamsErrorMessage[key] = ''; + } + + @action + resetKHopParams() { + this.kHopParams = createKHopDefaultParams(); + this.validateKHopParamsErrorMessage = createValidateKHopParamsErrorMessage(); + } + + @action + addCustomPathRule() { + this.customPathParams.steps.push({ + uuid: v4(), + direction: 'BOTH', + labels: this.dataAnalyzeStore.edgeTypes.map(({ name }) => name), + weight_by: '', + default_weight: '', + properties: [['', '']], + degree: '10000', + sample: '100' + }); + + // add error message together + this.validateCustomPathParmasErrorMessage.steps.push({ + uuid: '', + direction: '', + labels: '', + weight_by: '', + default_weight: '', + properties: '', + degree: '', + sample: '' + }); + } + + @action + removeCustomPathRule(ruleIndex: number) { + remove(this.customPathParams.steps, (_, index) => index === ruleIndex); + // remove error message together + remove( + this.validateCustomPathParmasErrorMessage.steps, + (_, index) => index === ruleIndex + ); + } + + @action + addCustomPathVertexProperty() { + this.customPathParams.vertexProperty.push(['', '']); + } + + @action + removeCustomPathVertexProperty(propertyIndex: number) { + remove( + this.customPathParams.vertexProperty, + (_, index) => index === propertyIndex + ); + } + + @action + addCustomPathRuleProperty(ruleIndex: number) { + this.customPathParams.steps[ruleIndex].properties.push(['', '']); + } + + @action + removeCustomPathRuleProperty(ruleIndex: number, propertyIndex: number) { + remove( + this.customPathParams.steps[ruleIndex].properties, + (_, index) => index === propertyIndex + ); + } + + @action + mutateCustomPathParams( + key: T, + value: CustomPathParams[T] + ) { + this.customPathParams[key] = value; + } + + @action + mutateCustomPathRuleParams( + key: T, + value: CustomPathRule[T], + index: number + ) { + this.customPathParams.steps[index][key] = value; + } + + @action + validateCustomPathParams(key: T) { + const value = this.customPathParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateCustomPathParmasErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.no-empty' + ); + + return; + } + + this.validateCustomPathParmasErrorMessage.source = ''; + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateCustomPathParmasErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + this.validateCustomPathParmasErrorMessage.capacity = ''; + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateCustomPathParmasErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + this.validateCustomPathParmasErrorMessage.capacity = ''; + break; + } + } + + @action + validateCustomPathRules( + key: T, + ruleIndex: number + ) { + const value = this.customPathParams.steps[ruleIndex][key]; + + switch (key) { + case 'properties': + if (isEmpty(value)) { + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.no-empty' + ); + + return; + } + + break; + case 'degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + break; + case 'sample': + if (!isGtNegativeOneButZero(value as string)) { + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.neighbor-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + break; + case 'default_weight': + if (isEmpty(value)) { + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.no-empty' + ); + + return; + } + + if (!isFloat(value as string)) { + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.custom-path.validations.input-number' + ); + + return; + } + + break; + default: + return; + } + + this.validateCustomPathParmasErrorMessage.steps[ruleIndex][key] = ''; + } + + @action + switchCustomPathMethod(method: string) { + this.customPathParams.method = method; + + if (method === 'id') { + this.customPathParams.vertexType = ''; + this.customPathParams.vertexProperty = [['', '']]; + this.validateCustomPathParmasErrorMessage.vertexType = ''; + this.validateCustomPathParmasErrorMessage.vertexProperty = ''; + } else { + this.customPathParams.source = ''; + this.validateCustomPathParmasErrorMessage.source = ''; + } + } + + @action + resetCustomPathParams() { + this.customPathParams = createCustomPathDefaultParams(); + + // manually assign step edge values + this.customPathParams.steps[0].labels = this.dataAnalyzeStore.edgeTypes.map( + ({ name }) => name + ); + this.validateCustomPathParmasErrorMessage = createValidateCustomPathParamsErrorMessage(); + } + + @action + mutateRadiographicInspectionParams( + key: T, + value: RadiographicInspection[T] + ) { + this.radiographicInspectionParams[key] = value; + } + + @action + validateRadiographicInspectionParams( + key: T + ) { + const value = this.radiographicInspectionParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.no-empty' + ); + + return; + } + + break; + case 'max_depth': + if (isEmpty(value)) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.no-empty' + ); + + return; + } + + if (!isInt(value, { min: 1 })) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.postive-integer-only' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value)) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value)) { + this.validateRadiographicInspectionParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.radiographic-inspection.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateRadiographicInspectionParamsErrorMessage[key] = ''; + } + + @action + resetRadiographicInspectionParams() { + this.radiographicInspectionParams = createRadiographicInspectionDefaultParams(); + this.validateRadiographicInspectionParamsErrorMessage = createValidateRadiographicInspectionParamsErrorMessage(); + } + + @action + mutateSameNeighborParams( + key: T, + value: SameNeighbor[T] + ) { + this.sameNeighborParams[key] = value; + } + + @action + validateSameNeighborParams(key: T) { + const value = this.sameNeighborParams[key]; + + switch (key) { + case 'vertex': + if (isEmpty(value)) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.no-empty' + ); + + return; + } + + if (value === this.sameNeighborParams.other) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.no-same-value-with-other' + ); + + return; + } + + break; + case 'other': + if (isEmpty(value)) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.no-empty' + ); + + return; + } + + if (value === this.sameNeighborParams.vertex) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.no-same-value-with-vertex' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value)) { + this.validateSameNeighborParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.same-neighbor.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateSameNeighborParamsErrorMessage[key] = ''; + } + + @action + resetSameNeighborParams() { + this.sameNeighborParams = createSameNeighborDefaultParams(); + this.validateSameNeighborParamsErrorMessage = createValidateSameNeighborParamsErrorMessage(); + } + + @action + mutateWeightedShortestPathParams( + key: T, + value: WeightedShortestPath[T] + ) { + this.weightedShortestPathParams[key] = value; + } + + @action + validateWeightedShortestPathParams( + key: T + ) { + const value = this.weightedShortestPathParams[key]; + + switch (key) { + case 'source': + case 'target': + if (isEmpty(value)) { + this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.weighted-shortest-path.validations.no-empty' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.weighted-shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'skip_degree': + if (value !== '' && !isInt(value as string, { min: 0 })) { + this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.weighted-shortest-path.validations.integer-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateWeightedShortestPathParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.weighted-shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateWeightedShortestPathParamsErrorMessage[key] = ''; + } + + @action + resetWeightedShortestPathParams() { + this.weightedShortestPathParams = createWeightedShortestPathDefaultParams(); + this.validateWeightedShortestPathParamsErrorMessage = createValidateWeightedShortestPathParamsErrorMessage(); + } + + @action + mutateSingleSourceWeightedShortestPathParams< + T extends keyof SingleSourceWeightedShortestPath + >(key: T, value: SingleSourceWeightedShortestPath[T]) { + this.singleSourceWeightedShortestPathParams[key] = value; + } + + @action + validateSingleSourceWeightedShortestPathParams< + T extends keyof SingleSourceWeightedShortestPath + >(key: T) { + const value = this.singleSourceWeightedShortestPathParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.no-empty' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'skip_degree': + if (value !== '' && !isInt(value as string, { min: 0 })) { + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.integer-only' + ); + + return; + } + + break; + case 'capacity': + if (!isGtNegativeOneButZero(value as string)) { + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[ + key + ] = i18next.t( + 'data-analyze.algorithm-forms.single-source-weighted-shortest-path.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateSingleSourceWeightedShortestPathParamsErrorMessage[key] = ''; + } + + @action + resetSingleSourceWeightedShortestPathParams() { + this.singleSourceWeightedShortestPathParams = createSingleSourceWeightedShortestPathDefaultParams(); + this.validateSingleSourceWeightedShortestPathParamsErrorMessage = createValidateSingleSourceWeightedShortestPathParamsErrorMessage(); + } + + @action + mutateJaccardParams(key: T, value: Jaccard[T]) { + this.jaccardParams[key] = value; + } + + @action + validateJaccardParams(key: T) { + const value = this.jaccardParams[key]; + + switch (key) { + case 'vertex': + if (isEmpty(value)) { + this.validateJaccardParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.jaccard.validations.no-empty' + ); + + return; + } + + if (value === this.jaccardParams.other) { + this.validateJaccardParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.jaccard.validations.no-same-value-with-other' + ); + + return; + } + + break; + case 'other': + if (isEmpty(value)) { + this.validateJaccardParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.jaccard.validations.no-empty' + ); + + return; + } + + if (value === this.jaccardParams.vertex) { + this.validateJaccardParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.jaccard.validations.no-same-value-with-vertex' + ); + + return; + } + + break; + case 'max_degree': + if (!isGtNegativeOneButZero(value)) { + this.validateJaccardParamsErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.jaccard.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validateJaccardParamsErrorMessage[key] = ''; + } + + @action + resetJaccardParams() { + this.jaccardParams = createJaccardDefaultParams(); + this.validateJaccardParamsErrorMessage = createValidateJaccardParamsErrorMessage(); + } + + @action + mutatePersonalRankParams( + key: T, + value: PersonalRank[T] + ) { + this.personalRankParams[key] = value; + } + + @action + validatePersonalRankParams(key: T) { + const value = this.personalRankParams[key]; + + switch (key) { + case 'source': + if (isEmpty(value)) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' + ); + + return; + } + + break; + case 'alpha': + if (isEmpty(value)) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' + ); + + return; + } + + if ( + Object.is(Number(value), NaN) || + Number(value) > 1 || + Number(value) <= 0 + ) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.alpha-range' + ); + + return; + } + + break; + case 'max_depth': + if (isEmpty(value)) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.no-empty' + ); + + return; + } + + if ( + Object.is(Number(value), NaN) || + Number(value) > 50 || + Number(value) <= 0 + ) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.depth-range' + ); + + return; + } + + break; + case 'degree': + if (!isGtNegativeOneButZero(value as string)) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + case 'limit': + if (!isGtNegativeOneButZero(value as string)) { + this.validatePersonalRankErrorMessage[key] = i18next.t( + 'data-analyze.algorithm-forms.personal-rank.validations.positive-integer-or-negative-one-only' + ); + + return; + } + + break; + } + + this.validatePersonalRankErrorMessage[key] = ''; + } + + @action + resetPersonalRankParams() { + this.personalRankParams = createPersonalRankDefaultParams(); + this.validatePersonalRankErrorMessage = createValidatePersonalRankParamsErrorMessage(); + } + + @action + dispose() { + this.requestStatus = initializeRequestStatus(); + this.errorInfo = initializeErrorInfo(); + this.currentAlgorithm = ''; + + this.resetLoopDetectionParams(); + this.resetFocusDetectionParams(); + this.resetShortestPathParams(); + this.resetShortestPathAllParams(); + this.resetAllPathParams(); + this.resetModelSimilarityParams(); + this.resetNeighborRankParams(); + this.resetKStepNeighborParams(); + this.resetKHopParams(); + this.resetCustomPathParams(); + this.resetRadiographicInspectionParams(); + this.resetSameNeighborParams(); + this.resetWeightedShortestPathParams(); + this.resetSingleSourceWeightedShortestPathParams(); + this.resetJaccardParams(); + this.resetPersonalRankParams(); + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts new file mode 100644 index 000000000..763723830 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore.ts @@ -0,0 +1,2538 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow, computed, runInAction } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { + isUndefined, + cloneDeep, + isEmpty, + remove, + size, + fromPairs, + invert, + flatten, + uniq +} from 'lodash-es'; +import vis from 'vis-network'; +import isInt from 'validator/lib/isInt'; +import isUUID from 'validator/lib/isUUID'; +import i18next from '../../../i18n'; + +import { AlgorithmAnalyzerStore } from './algorithmAnalyzerStore'; +import { + initalizeErrorInfo, + initalizeRequestStatus, + createGraphNode, + createGraphEdge, + createGraphEditableProperties, + createNewGraphDataConfig +} from '../../factory/dataAnalyzeStore/dataAnalyzeStore'; +import { Algorithm } from '../../factory/dataAnalyzeStore/algorithmStore'; +import { + checkIfLocalNetworkOffline, + convertArrayToString, + validateGraphProperty, + vertexRadiusMapping, + edgeWidthMapping +} from '../../utils'; + +import { baseUrl, responseData, dict } from '../../types/common'; +import type { + GraphData, + GraphDataResponse +} from '../../types/GraphManagementStore/graphManagementStore'; +import type { + ColorSchemas, + RuleMap, + FetchColorSchemas, + FetchFilteredPropertyOptions, + NewGraphData, + GraphNode, + GraphEdge, + GraphView, + FetchGraphResponse, + ValueTypes, + AddQueryCollectionParams, + ExecutionLogs, + ExecutionLogsResponse, + FavoriteQuery, + FavoriteQueryResponse, + EditableProperties, + ShortestPathAlgorithmParams, + LoopDetectionParams, + FocusDetectionParams, + ShortestPathAllAlgorithmParams, + AllPathAlgorithmParams, + ModelSimilarityParams, + NeighborRankParams, + NeighborRankRule, + KHop, + RadiographicInspection, + SameNeighbor, + WeightedShortestPath, + SingleSourceWeightedShortestPath, + Jaccard, + PersonalRank, + CustomPathRule, + KStepNeighbor +} from '../../types/GraphManagementStore/dataAnalyzeStore'; +import type { + VertexTypeListResponse, + VertexType, + EdgeType, + MetadataPropertyIndex +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import type { EdgeTypeListResponse } from '../../types/GraphManagementStore/metadataConfigsStore'; +import { + AlgorithmInternalNameMapping, + removeLabelKey, + filterEmptyAlgorightmParams +} from '../../../utils'; + +const ruleMap: RuleMap = { + 大于: 'gt', + 大于等于: 'gte', + 等于: 'eq', + 小于: 'lt', + 小于等于: 'lte', + True: 'eq', + False: 'eq' +}; + +const monthMaps: Record = { + Jan: '01', + Feb: '02', + Mar: '03', + Apr: '04', + May: '05', + Jun: '06', + Jul: '07', + Aug: '08', + Sep: '09', + Oct: '10', + Nov: '11', + Dec: '12' +}; + +export class DataAnalyzeStore { + [key: string]: any; + algorithmAnalyzerStore: AlgorithmAnalyzerStore; + + constructor() { + this.algorithmAnalyzerStore = new AlgorithmAnalyzerStore(this); + } + + @observable currentId: number | null = null; + @observable currentTab = 'gremlin-analyze'; + @observable searchText = ''; + @observable isSidebarExpanded = false; + @observable isLoadingGraph = false; + @observable isGraphLoaded = false; + @observable isFullScreenReuslt = false; + @observable isShowFilterBoard = false; + // right-side drawer + @observable isShowGraphInfo = false; + @observable isClickOnNodeOrEdge = false; + // v1.5.0: gremlin query mode + @observable queryMode: 'query' | 'task' = 'query'; + @observable favoritePopUp = ''; + // whether user selects vertex or edge + @observable graphInfoDataSet = ''; + @observable codeEditorInstance: CodeMirror.Editor | null = null; + @observable codeEditorText = ''; + @observable dynamicAddGraphDataStatus = ''; + @observable favoriteQueriesSortOrder: Record< + 'time' | 'name', + 'desc' | 'asc' | '' + > = { + time: '', + name: '' + }; + + // vis instance + @observable.ref visNetwork: vis.Network | null = null; + @observable.ref visDataSet: Record<'nodes' | 'edges', any> | null = null; + @observable.ref visCurrentCoordinates = { + domX: '', + domY: '', + canvasX: '', + canvasY: '' + }; + + // Mutate this variable to let mobx#reaction fires it's callback and set value for CodeEditor + @observable pulse = false; + + // datas + @observable.ref idList: { id: number; name: string }[] = []; + @observable.ref properties: ValueTypes[] = []; + @observable.ref valueTypes: Record = {}; + @observable.ref vertexTypes: VertexType[] = []; + @observable.ref edgeTypes: EdgeType[] = []; + @observable.ref propertyIndexes: MetadataPropertyIndex[] = []; + @observable.ref colorSchemas: ColorSchemas = {}; + @observable.ref colorList: string[] = []; + @observable.ref colorMappings: Record = {}; + @observable.ref vertexSizeMappings: Record = {}; + @observable.ref vertexWritingMappings: Record = {}; + @observable.ref edgeColorMappings: Record = {}; + @observable.ref edgeWithArrowMappings: Record = {}; + @observable.ref edgeThicknessMappings: Record = {}; + @observable.ref edgeWritingMappings: Record = {}; + @observable.ref + originalGraphData: FetchGraphResponse = {} as FetchGraphResponse; + @observable.ref + graphData: FetchGraphResponse = {} as FetchGraphResponse; + @observable.ref + expandedGraphData: FetchGraphResponse = {} as FetchGraphResponse; + @observable.ref + relatedGraphEdges: string[] = []; + @observable vertexCollection = new Set(); + @observable edgeCollection = new Set(); + @observable.ref executionLogData: ExecutionLogs[] = []; + @observable.ref favoriteQueryData: FavoriteQuery[] = []; + @observable.ref graphDataEdgeTypes: string[] = []; + @observable.ref filteredPropertyOptions: string[] = []; + + // data struct sync to GraphManagementStore + @observable.shallow isSearched = { + status: false, + value: '' + }; + + @observable filteredGraphQueryOptions = { + line: { + type: '', + direction: 'BOTH' + } as Record<'type' | 'direction', string>, + properties: [] as dict[] + }; + + @observable + newGraphNodeConfigs: NewGraphData = createNewGraphDataConfig(); + @observable + newGraphEdgeConfigs: NewGraphData = createNewGraphDataConfig(); + @observable selectedGraphData: GraphNode = createGraphNode(); + @observable + editedSelectedGraphDataProperties = createGraphEditableProperties(); + @observable selectedGraphLinkData: GraphEdge = createGraphEdge(); + // @observable + // editedSelectedGraphEdgeProperties = createGraphEditableProperties(); + @observable.ref rightClickedGraphData: GraphNode = createGraphNode(); + + @observable pageConfigs: { + [key: string]: { + pageNumber: number; + pageTotal: number; + pageSize?: number; + }; + } = { + tableResult: { + pageNumber: 1, + pageTotal: 0 + }, + executionLog: { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + }, + favoriteQueries: { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + } + }; + + @observable.shallow requestStatus = initalizeRequestStatus(); + @observable errorInfo = initalizeErrorInfo(); + + @computed get allPropertiesFromEdge() { + return uniq( + flatten( + this.edgeTypes.map(({ properties }) => + properties.map(({ name }) => name) + ) + ) + ); + } + + @computed get graphNodes(): GraphNode[] { + return this.originalGraphData.data.graph_view.vertices.map( + ({ id, label, properties }) => { + // if user create new node or edge in query statement + // rather in schema manager, there's no style in default + const joinedLabel = !isUndefined(this.vertexWritingMappings[label]) + ? this.vertexWritingMappings[label] + .map((field) => (field === '~id' ? id : properties[field])) + .filter((label) => label !== undefined && label !== null) + .join('-') + : id; + + return { + id, + label: + size(joinedLabel) <= 15 + ? joinedLabel + : joinedLabel.slice(0, 15) + '...', + vLabel: label, + value: vertexRadiusMapping[this.vertexSizeMappings[label]], + font: { size: 16 }, + properties, + title: ` +
+
${i18next.t('addition.common.vertex-type')}:
+
${label}
+
+
+
${i18next.t('addition.common.vertex-id')}:
+
${id}
+
+ ${Object.entries(properties) + .map(([key, value]) => { + return `
+
${key}:
+
${convertArrayToString(value)}
+
`; + }) + .join('')} + `, + color: { + background: this.colorMappings[label] || '#5c73e6', + border: this.colorMappings[label] || '#5c73e6', + highlight: { background: '#fb6a02', border: '#fb6a02' }, + hover: { background: '#ec3112', border: '#ec3112' } + }, + // reveal label when zoom to max + scaling: { + label: { + max: Infinity, + maxVisible: Infinity + } + }, + chosen: { + node( + values: any, + id: string, + selected: boolean, + hovering: boolean + ) { + if (hovering || selected) { + values.shadow = true; + values.shadowColor = 'rgba(0, 0, 0, 0.6)'; + values.shadowX = 0; + values.shadowY = 0; + values.shadowSize = 25; + } + + if (selected) { + values.size += 5; + } + } + } + }; + } + ); + } + + @computed get graphEdges(): GraphEdge[] { + return this.originalGraphData.data.graph_view.edges.map( + ({ id, label, source, target, properties }) => { + // if user create new node or edge in query statement + // rather in schema manager, there's no style in default + const joinedLabel = !isUndefined(this.edgeWritingMappings[label]) + ? this.edgeWritingMappings[label] + .map((field) => (field === '~id' ? label : properties[field])) + .join('-') + : label; + + return { + id, + label: + joinedLabel.length <= 15 + ? joinedLabel + : joinedLabel.slice(0, 15) + '...', + properties, + source, + target, + from: source, + to: target, + font: { + size: 16, + strokeWidth: 0, + color: '#666' + }, + arrows: this.edgeWithArrowMappings[label] ? 'to' : '', + color: this.edgeColorMappings[label], + value: edgeWidthMapping[this.edgeThicknessMappings[label]], + title: ` +
+
${i18next.t('addition.common.edge-type')}:
+
${label}
+
+
+
${i18next.t('addition.common.edge-id')}:
+
${id}
+
+ ${Object.entries(properties) + .map(([key, value]) => { + return `
+
${key}:
+
${convertArrayToString(value)}
+
`; + }) + .join('')} + ` + }; + } + ); + } + + @action + setCurrentId(id: number) { + this.currentId = id; + } + + @action + setCurrentTab(tab: string) { + this.currentTab = tab; + } + + @action + switchGraphLoaded(flag: boolean) { + this.isGraphLoaded = flag; + } + + @action + setFullScreenReuslt(flag: boolean) { + this.isFullScreenReuslt = flag; + } + + @action + setQueryMode(mode: 'query' | 'task') { + this.queryMode = mode; + } + + @action + setDynamicAddGraphDataStatus(status: string) { + this.dynamicAddGraphDataStatus = status; + } + + @action + setNewGraphDataConfig( + type: 'vertex' | 'edge', + key: T, + value: NewGraphData[T] + ) { + if (type === 'vertex') { + this.newGraphNodeConfigs[key] = value; + } else { + this.newGraphEdgeConfigs[key] = value; + } + } + + @action + setNewGraphDataConfigProperties( + type: 'vertex' | 'edge', + nullable: 'nullable' | 'nonNullable', + key: string, + value: string + ) { + if (type === 'vertex') { + if (nullable === 'nullable') { + this.newGraphNodeConfigs.properties.nullable.set(key, value); + } else { + this.newGraphNodeConfigs.properties.nonNullable.set(key, value); + } + } else { + if (nullable === 'nullable') { + this.newGraphEdgeConfigs.properties.nullable.set(key, value); + } else { + this.newGraphEdgeConfigs.properties.nonNullable.set(key, value); + } + } + } + + @action + syncNewGraphDataProperties(type: 'vertex' | 'edge') { + const config = + type === 'vertex' ? this.newGraphNodeConfigs : this.newGraphEdgeConfigs; + config.properties.nonNullable.clear(); + config.properties.nullable.clear(); + + const selectedLabel = + type === 'vertex' + ? this.vertexTypes.find(({ name }) => name === config.label) + : this.edgeTypes.find(({ name }) => name === config.label); + + if (!isUndefined(selectedLabel)) { + const nonNullableProperties = selectedLabel.properties.filter( + ({ nullable }) => !nullable + ); + + nonNullableProperties.forEach(({ name }) => { + config.properties.nonNullable.set(name, ''); + }); + + const nullableProperties = selectedLabel.properties.filter( + ({ nullable }) => nullable + ); + + nullableProperties.forEach(({ name }) => { + config.properties.nullable.set(name, ''); + }); + } + } + + @action + syncGraphEditableProperties(type: 'vertex' | 'edge') { + Object.values(this.editedSelectedGraphDataProperties).forEach( + (property) => { + property.clear(); + } + ); + + const selectedLabel = + type === 'vertex' + ? this.vertexTypes.find( + ({ name }) => name === this.selectedGraphData.label + ) + : this.edgeTypes.find( + ({ name }) => name === this.selectedGraphLinkData.label + ); + + if (!isUndefined(selectedLabel)) { + const selectedGraphData = + type === 'vertex' ? this.selectedGraphData : this.selectedGraphLinkData; + const selectedGraphDataPropertKeys = Object.keys( + type === 'vertex' + ? this.selectedGraphData.properties + : this.selectedGraphLinkData.properties + ); + + // to keep sort of primary keys, need to iter it first + if (type === 'vertex') { + (selectedLabel as VertexType).primary_keys.forEach((name) => { + if (selectedGraphDataPropertKeys.includes(name)) { + this.editedSelectedGraphDataProperties.primary.set( + name, + convertArrayToString(selectedGraphData.properties[name]) + ); + + remove(selectedGraphDataPropertKeys, (key) => key === name); + } + }); + } else { + (selectedLabel as EdgeType).sort_keys.forEach((name) => { + if (selectedGraphDataPropertKeys.includes(name)) { + this.editedSelectedGraphDataProperties.primary.set( + name, + convertArrayToString(selectedGraphData.properties[name]) + ); + + remove(selectedGraphDataPropertKeys, (key) => key === name); + } + }); + } + + selectedLabel.properties + .filter(({ nullable }) => !nullable) + .forEach(({ name }) => { + if (selectedGraphDataPropertKeys.includes(name)) { + this.editedSelectedGraphDataProperties.nonNullable.set( + name, + convertArrayToString(selectedGraphData.properties[name]) + ); + } + + remove(selectedGraphDataPropertKeys, (key) => key === name); + }); + + selectedLabel.properties + .filter(({ nullable }) => nullable) + .forEach(({ name }) => { + if (selectedGraphDataPropertKeys.includes(name)) { + this.editedSelectedGraphDataProperties.nullable.set( + name, + convertArrayToString(selectedGraphData.properties[name]) + ); + } + }); + } + } + + @action + resetNewGraphData(type: 'vertex' | 'edge') { + if (type === 'vertex') { + this.newGraphNodeConfigs = createNewGraphDataConfig(); + } else { + this.newGraphEdgeConfigs = createNewGraphDataConfig(); + } + } + + @action + setVisNetwork(visNetwork: vis.Network) { + this.visNetwork = visNetwork; + } + + @action + setVisDataSet(visDataSet: Record<'nodes' | 'edges', any>) { + this.visDataSet = visDataSet; + } + + @action + setVisCurrentCoordinates(coordinates: { + domX: string; + domY: string; + canvasX: string; + canvasY: string; + }) { + this.visCurrentCoordinates = coordinates; + } + + @action + mutateSearchText(text: string) { + this.searchText = text; + } + + @action + switchShowScreenInfo(flag: boolean) { + this.isShowGraphInfo = flag; + } + + @action + switchClickOnNodeOrEdge(flag: boolean) { + this.isClickOnNodeOrEdge = flag; + } + + @action + switchShowFilterBoard(flag: boolean) { + this.isShowFilterBoard = flag; + } + + @action + switchShowScreeDataSet(dataSet: string) { + this.graphInfoDataSet = dataSet; + } + + @action + setFavoritePopUp(popupCategory: string) { + this.favoritePopUp = popupCategory; + } + + @action + triggerLoadingStatementsIntoEditor() { + this.pulse = !this.pulse; + } + + @action + assignCodeEditorInstance(instance: CodeMirror.Editor) { + this.codeEditorInstance = instance; + } + + @action + mutateCodeEditorText(text: string) { + this.codeEditorText = text; + } + + // change selected graph node + @action + changeSelectedGraphData(selectedData: GraphNode) { + this.selectedGraphData = selectedData; + } + + // change selected graph edge + @action + changeSelectedGraphLinkData(selectedLinkData: GraphEdge) { + this.selectedGraphLinkData = selectedLinkData; + } + + @action + changeRightClickedGraphData(rightClickedData: GraphNode) { + this.rightClickedGraphData = rightClickedData; + } + + @action + mutatePageNumber(category: string, pageNumber: number) { + this.pageConfigs[category].pageNumber = pageNumber; + } + + @action + mutatePageSize(category: string, pageSize: number) { + this.pageConfigs[category].pageSize = pageSize; + } + + @action + editEdgeFilterOption(key: 'type' | 'direction', value: string) { + this.filteredGraphQueryOptions.line[key] = value; + } + + @action + addPropertyFilterOption() { + this.filteredGraphQueryOptions.properties.push({ + property: '', + rule: '', + value: '' + }); + } + + @action + editPropertyFilterOption( + key: 'property' | 'rule' | 'value', + value: string | number, + index: number + ) { + this.filteredGraphQueryOptions.properties[index][key] = value; + } + + @action + deletePropertyFilterOption(index: number) { + this.filteredGraphQueryOptions.properties.splice(index, 1); + } + + @action + addTempExecLog() { + const date = new Date(); + const [week, month, day, year, time] = date.toString().split(' '); + const timeString = `${year}-${monthMaps[month]}-${day} ${time}`; + + const tempData: ExecutionLogs = { + id: NaN, + async_id: NaN, + algorithm_name: + this.currentTab === 'algorithm-analyze' + ? invert(AlgorithmInternalNameMapping)[ + this.algorithmAnalyzerStore.currentAlgorithm + ] + : '', + async_status: 'UNKNOWN', + type: + this.currentTab === 'algorithm-analyze' + ? 'ALGORITHM' + : this.queryMode === 'query' + ? 'GREMLIN' + : 'GREMLIN_ASYNC', + content: + this.currentTab === 'algorithm-analyze' + ? JSON.stringify(this.algorithmAnalyzerStore.currentAlgorithmParams) + : this.codeEditorText, + status: 'RUNNING', + duration: '0ms', + create_time: timeString + }; + + this.executionLogData = [tempData].concat( + this.executionLogData.slice(0, 9) + ); + + return window.setInterval(() => { + this.executionLogData[0].duration = + String(Number(this.executionLogData[0].duration.split('ms')[0]) + 10) + + 'ms'; + + runInAction(() => { + this.executionLogData = this.executionLogData.slice(); + }); + }, 10); + } + + @action + swtichIsSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchText) + : (this.isSearched.value = ''); + } + + @action + changeFavoriteQueriesSortOrder( + key: 'time' | 'name', + order: 'desc' | 'asc' | '' + ) { + this.favoriteQueriesSortOrder[key] = order; + } + + @action + clearFilteredGraphQueryOptions() { + this.filteredGraphQueryOptions = { + line: { + type: '', + direction: 'BOTH' + } as Record<'type' | 'direction', string>, + properties: [] as dict[] + }; + } + + @observable + validateAddGraphNodeErrorMessage: NewGraphData | null = null; + @observable + validateAddGraphEdgeErrorMessage: NewGraphData | null = null; + @observable + validateEditableGraphDataPropertyErrorMessage: EditableProperties | null = null; + + @action + initValidateAddGraphDataErrorMessage(type: 'vertex' | 'edge') { + const config = + type === 'vertex' ? this.newGraphNodeConfigs : this.newGraphEdgeConfigs; + const nonNullable = new Map([...config.properties.nonNullable]); + const nullable = new Map([...config.properties.nullable]); + + if (type === 'vertex') { + this.validateAddGraphNodeErrorMessage = { + id: '', + label: '', + properties: { + nonNullable, + nullable + } + }; + } else { + this.validateAddGraphEdgeErrorMessage = { + id: '', + label: '', + properties: { + nonNullable, + nullable + } + }; + } + } + + @action + editGraphDataProperties( + nullable: 'nonNullable' | 'nullable', + key: string, + value: string + ) { + this.editedSelectedGraphDataProperties[nullable].set(key, value); + } + + @action + initValidateEditGraphDataPropertiesErrorMessage() { + this.validateEditableGraphDataPropertyErrorMessage = { + nonNullable: new Map(), + nullable: new Map() + }; + + this.editedSelectedGraphDataProperties.nonNullable.forEach((value, key) => { + this.validateEditableGraphDataPropertyErrorMessage!.nonNullable.set( + key, + '' + ); + }); + + this.editedSelectedGraphDataProperties.nullable.forEach((value, key) => { + this.validateEditableGraphDataPropertyErrorMessage!.nullable.set(key, ''); + }); + } + + @action + validateAddGraphNode( + idStrategy: string, + initial = false, + category?: 'id' | 'nonNullable' | 'nullable', + key?: string + ) { + if (category === 'id') { + if (idStrategy === 'CUSTOMIZE_STRING') { + this.validateAddGraphNodeErrorMessage!.id = + initial || !isEmpty(this.newGraphNodeConfigs.id) + ? '' + : i18next.t('addition.store.illegal-data-format'); + } + + if (idStrategy === 'CUSTOMIZE_NUMBER') { + this.validateAddGraphNodeErrorMessage!.id = + initial || isInt(this.newGraphNodeConfigs.id!) + ? '' + : i18next.t('addition.store.illegal-data-format'); + } + + if (idStrategy === 'CUSTOMIZE_UUID') { + this.validateAddGraphNodeErrorMessage!.id = + initial || isUUID(String(this.newGraphNodeConfigs.id), 4) + ? '' + : i18next.t('addition.store.illegal-data-format'); + } + } + + if (category === 'nonNullable') { + if ( + initial || + isEmpty(this.newGraphNodeConfigs.properties.nonNullable.get(key!)) + ) { + this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( + key!, + i18next.t('addition.store.cannot-be-empty') + ); + + return; + } + + if ( + initial || + !validateGraphProperty( + this.valueTypes[key!], + this.newGraphNodeConfigs.properties.nonNullable.get(key!)! + ) + ) { + this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( + key!, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateAddGraphNodeErrorMessage?.properties.nonNullable.set( + key!, + '' + ); + } + + if (category === 'nullable') { + if ( + initial || + !validateGraphProperty( + this.valueTypes[key!], + this.newGraphNodeConfigs.properties.nullable.get(key!)!, + true + ) + ) { + this.validateAddGraphNodeErrorMessage?.properties.nullable.set( + key!, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateAddGraphNodeErrorMessage?.properties.nullable.set(key!, ''); + } + } + + @action + validateAddGraphEdge( + category: 'id' | 'nonNullable' | 'nullable', + initial = false, + key?: string + ) { + if (category === 'id') { + this.validateAddGraphEdgeErrorMessage!.id = + initial || !isEmpty(this.newGraphEdgeConfigs.id) + ? '' + : i18next.t('addition.store.illegal-data-format'); + } + + if (category === 'nonNullable') { + if ( + initial || + isEmpty(this.newGraphEdgeConfigs.properties.nonNullable.get(key!)) + ) { + this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( + key!, + i18next.t('addition.store.cannot-be-empty') + ); + + return; + } + + if ( + initial || + !validateGraphProperty( + this.valueTypes[key!], + this.newGraphEdgeConfigs.properties.nonNullable.get(key!)! + ) + ) { + this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( + key!, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateAddGraphEdgeErrorMessage?.properties.nonNullable.set( + key!, + '' + ); + } + + if (category === 'nullable') { + if ( + initial || + !validateGraphProperty( + this.valueTypes[key!], + this.newGraphEdgeConfigs.properties.nullable.get(key!)!, + true + ) + ) { + this.validateAddGraphEdgeErrorMessage?.properties.nullable.set( + key!, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateAddGraphEdgeErrorMessage?.properties.nullable.set(key!, ''); + } + } + + @action + validateGraphDataEditableProperties( + type: 'nonNullable' | 'nullable', + key: string + ) { + if (type === 'nonNullable') { + if ( + isEmpty(this.editedSelectedGraphDataProperties?.nonNullable.get(key)) + ) { + this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( + key, + i18next.t('addition.store.cannot-be-empty') + ); + + return; + } + + if ( + !validateGraphProperty( + this.valueTypes[key!], + this.editedSelectedGraphDataProperties?.nonNullable.get(key) + ) + ) { + this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( + key, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateEditableGraphDataPropertyErrorMessage?.nonNullable.set( + key, + '' + ); + } + + if (type === 'nullable') { + if ( + !validateGraphProperty( + this.valueTypes[key!], + this.editedSelectedGraphDataProperties?.nullable.get(key), + true + ) + ) { + this.validateEditableGraphDataPropertyErrorMessage?.nullable.set( + key, + i18next.t('addition.store.illegal-data-format') + ); + + return; + } + + this.validateEditableGraphDataPropertyErrorMessage?.nullable.set(key, ''); + } + } + + @action + resetRightClickedGraphData() { + this.rightClickedGraphData = { + id: '', + label: '', + properties: {} + }; + } + + @action + resetFavoriteRequestStatus(type: 'add' | 'edit') { + if (type === 'add') { + this.requestStatus.addQueryCollection = 'standby'; + this.errorInfo.addQueryCollection.code = NaN; + this.errorInfo.addQueryCollection.message = ''; + } + + if (type === 'edit') { + this.requestStatus.editQueryCollection = 'standby'; + this.errorInfo.editQueryCollection.code = NaN; + this.errorInfo.editQueryCollection.message = ''; + } + } + + @action + resetSwitchTabState() { + this.isLoadingGraph = false; + this.isGraphLoaded = false; + this.isShowGraphInfo = false; + this.isClickOnNodeOrEdge = false; + this.queryMode = 'query'; + this.dynamicAddGraphDataStatus = ''; + this.graphData = {} as FetchGraphResponse; + + this.visNetwork = null; + this.visDataSet = null; + this.visCurrentCoordinates = { + domX: '', + domY: '', + canvasX: '', + canvasY: '' + }; + + this.selectedGraphData = createGraphNode(); + this.selectedGraphLinkData = createGraphEdge(); + + this.pageConfigs.tableResult = { + pageNumber: 1, + pageTotal: 0 + }; + + this.requestStatus.fetchGraphs = 'standby'; + this.requestStatus.createAsyncTask = 'standby'; + this.errorInfo.fetchGraphs = { + code: NaN, + message: '' + }; + this.errorInfo.createAsyncTask = { + code: NaN, + message: '' + }; + + this.clearFilteredGraphQueryOptions(); + } + + @action + resetIdState() { + this.currentId = null; + this.currentTab = 'gremlin-analyze'; + this.searchText = ''; + this.isSidebarExpanded = false; + this.isLoadingGraph = false; + this.isGraphLoaded = false; + this.isShowGraphInfo = false; + this.isFullScreenReuslt = false; + this.isClickOnNodeOrEdge = false; + this.queryMode = 'query'; + this.codeEditorInstance = null; + this.codeEditorText = ''; + this.dynamicAddGraphDataStatus = ''; + this.graphData = {} as FetchGraphResponse; + + this.visNetwork = null; + this.visDataSet = null; + this.visCurrentCoordinates = { + domX: '', + domY: '', + canvasX: '', + canvasY: '' + }; + + this.properties = []; + + this.isSearched = { + status: false, + value: '' + }; + + this.selectedGraphData = createGraphNode(); + this.selectedGraphLinkData = createGraphEdge(); + + this.pageConfigs = { + tableResult: { + pageNumber: 1, + pageTotal: 0 + }, + executionLog: { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + }, + favoriteQueries: { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + } + }; + + this.requestStatus = initalizeRequestStatus(); + this.errorInfo = initalizeErrorInfo(); + this.clearFilteredGraphQueryOptions(); + } + + @action + dispose() { + this.resetIdState(); + this.vertexTypes = []; + this.edgeTypes = []; + this.idList = []; + } + + fetchIdList = flow(function* fetchIdList(this: DataAnalyzeStore) { + this.requestStatus.fetchIdList = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + GraphData + >(baseUrl, { + params: { + page_size: -1 + } + }); + + if (result.data.status !== 200) { + this.errorInfo.fetchIdList.code = result.data.status; + throw new Error(result.data.message); + } + + this.idList = result.data.data.records.map(({ id, name }) => ({ + id, + name + })); + this.requestStatus.fetchIdList = 'success'; + } catch (error) { + this.requestStatus.fetchIdList = 'failed'; + this.errorInfo.fetchIdList.message = error.message; + console.error(error.message); + } + }); + + // to know the type of properties + fetchValueTypes = flow(function* fetchValueTypes(this: DataAnalyzeStore) { + this.requestStatus.fetchValueTypes = 'pending'; + + try { + const result = yield axios.get( + `${baseUrl}/${this.currentId}/schema/propertykeys`, + { + params: { + page_size: -1 + } + } + ); + + if (result.data.status !== 200) { + this.errorInfo.fetchValueTypes.code = result.data.status; + throw new Error(result.data.message); + } + + this.properties = result.data.data.records; + + result.data.data.records.forEach( + ({ name, data_type }: Record) => { + this.valueTypes[name] = data_type; + } + ); + + this.requestStatus.fetchValueTypes = 'success'; + } catch (error) { + this.requestStatus.fetchValueTypes = 'failed'; + this.errorInfo.fetchValueTypes.message = error.message; + console.error(error.message); + } + }); + + fetchVertexTypes = flow(function* fetchVertexTypeList( + this: DataAnalyzeStore + ) { + this.requestStatus.fetchVertexTypeList = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/schema/vertexlabels`, + { + params: { + page_size: -1 + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchVertexTypeList.code = result.data.status; + throw new Error(result.data.message); + } + + this.vertexTypes = result.data.data.records; + this.requestStatus.fetchVertexTypeList = 'success'; + } catch (error) { + this.requestStatus.fetchVertexTypeList = 'failed'; + this.errorInfo.fetchVertexTypeList.message = error.message; + } + }); + + fetchColorSchemas = flow(function* fetchColorSchemas(this: DataAnalyzeStore) { + this.requestStatus.fetchColorSchemas = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + FetchGraphResponse + >(`${baseUrl}/${this.currentId}/schema/vertexlabels/style`); + + if (result.data.status !== 200) { + this.errorInfo.fetchColorSchemas.code = result.data.status; + throw new Error(result.data.message); + } + + this.colorSchemas = result.data.data; + this.requestStatus.fetchColorSchemas = 'success'; + } catch (error) { + this.requestStatus.fetchColorSchemas = 'failed'; + this.errorInfo.fetchColorSchemas.message = error.message; + console.error(error.message); + } + }); + + fetchColorList = flow(function* fetchColorList(this: DataAnalyzeStore) { + this.requestStatus.fetchColorList = 'pending'; + + try { + const result: AxiosResponse> = yield axios.get( + `${baseUrl}/${this.currentId}/schema/vertexlabels/optional-colors` + ); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.colorList = result.data.data; + this.requestStatus.fetchColorList = 'success'; + } catch (error) { + this.requestStatus.fetchColorList = 'failed'; + this.errorMessage = error.message; + console.error(error.message); + } + }); + + fetchAllNodeStyle = flow(function* fetchAllNodeStyle(this: DataAnalyzeStore) { + this.requestStatus.fetchAllNodeStyle = 'pending'; + try { + const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/vertexlabels`, { + params: { + page_no: 1, + page_size: -1 + } + }); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + result.data.data.records.forEach(({ name, style }) => { + if (style.color !== null) { + this.colorMappings[name] = style.color; + } + if (style.size !== null) { + this.vertexSizeMappings[name] = style.size; + } + if (style.display_fields.length !== 0) { + this.vertexWritingMappings[name] = style.display_fields; + } + }); + + this.requestStatus.fetchAllNodeStyle = 'success'; + } catch (error) { + this.requestStatus.fetchAllNodeStyle = 'failed'; + this.errorInfo.fetchAllNodeStyle.message = error.message; + console.error(error.message); + } + }); + + fetchEdgeTypes = flow(function* fetchEdgeTypes(this: DataAnalyzeStore) { + this.requestStatus.fetchEdgeTypes = 'pending'; + + try { + const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/edgelabels`, { + params: { + page_no: 1, + page_size: -1 + } + }); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.edgeTypes = result.data.data.records; + this.requestStatus.fetchEdgeTypes = 'success'; + } catch (error) { + this.requestStatus.fetchEdgeTypes = 'failed'; + this.errorInfo.fetchEdgeTypes.message = error.message; + console.error(error.message); + } + }); + + fetchAllEdgeStyle = flow(function* fetchAllEdgeStyle(this: DataAnalyzeStore) { + this.requestStatus.fetchAllEdgeStyle = 'pending'; + + try { + const result: AxiosResponse> = yield axios.get(`${baseUrl}/${this.currentId}/schema/edgelabels`, { + params: { + page_no: 1, + page_size: -1 + } + }); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + result.data.data.records.forEach(({ name, style }) => { + if (style.color !== null) { + this.edgeColorMappings[name] = style.color; + } + if (style.with_arrow !== null) { + this.edgeWithArrowMappings[name] = style.with_arrow; + } + if (style.thickness !== null) { + this.edgeThicknessMappings[name] = style.thickness; + } + if (style.display_fields.length !== 0) { + this.edgeWritingMappings[name] = style.display_fields; + } + }); + + this.requestStatus.fetchAllEdgeStyle = 'success'; + } catch (error) { + this.requestStatus.fetchAllEdgeStyle = 'failed'; + this.errorInfo.fetchAllEdgeStyle.message = error.message; + console.error(error.message); + } + }); + + fetchAllPropertyIndexes = flow(function* fetchAllPropertyIndexes( + this: DataAnalyzeStore, + indexType: 'vertex' | 'edge' + ) { + this.requestStatus.fetchAllPropertyIndexes = 'pending'; + + try { + const result = yield axios + .get(`${baseUrl}/${this.currentId}/schema/propertyindexes`, { + params: { + page_size: -1, + is_vertex_label: indexType === 'vertex' + } + }) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.propertyIndexes = result.data.data.records; + this.requestStatus.fetchAllPropertyIndexes = 'success'; + } catch (error) { + this.requestStatus.fetchAllPropertyIndexes = 'failed'; + this.errorMessage = error.message; + } + }); + + fetchGraphs = flow(function* fetchGraphs( + this: DataAnalyzeStore, + algorithmConfigs?: { url: string; type: string } + ) { + // reset request status of create async task + this.requestStatus.createAsyncTask = 'standby'; + this.requestStatus.fetchGraphs = 'pending'; + this.isLoadingGraph = true; + + let params: object | null = null; + + if (!isUndefined(algorithmConfigs)) { + switch (algorithmConfigs.type) { + case Algorithm.loopDetection: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.loopDetectionParams, + ['max_degree', 'capacity', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + case Algorithm.focusDetection: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.focusDetectionParams, + ['max_degree', 'capacity', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + case Algorithm.shortestPath: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.shortestPathAlgorithmParams, + ['max_degree', 'capacity', 'skip_degree'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.shortestPathAll: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.shortestPathAllParams, + ['max_degree', 'capacity', 'skip_degree'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.allPath: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.allPathParams, + ['max_degree', 'capacity', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.modelSimilarity: { + const { + source, + vertexType, + vertexProperty, + direction, + least_neighbor, + similarity, + label, + max_similar, + least_similar, + property_filter, + least_property_number, + max_degree, + capacity, + limit, + return_common_connection, + return_complete_info + } = this.algorithmAnalyzerStore.modelSimilarityParams; + + const sources: Record = {}; + + if (source !== '') { + sources.ids = source.split(','); + } else { + if (vertexType !== '') { + sources.label = vertexType; + } + + if (vertexProperty[0][0] !== '') { + const convertedVertexProperty = vertexProperty.map( + ([key, value]) => [key, value.split(',')] + ); + + sources.properties = fromPairs(convertedVertexProperty); + } + } + + const convertedParams = { + sources, + label, + direction, + min_neighbors: least_neighbor, + alpha: similarity, + min_similars: least_similar, + top: max_similar, + group_property: property_filter, + min_groups: least_property_number, + max_degree, + capacity, + limit, + with_intermediary: return_common_connection, + with_vertex: return_complete_info + }; + + if (label === '__all__') { + delete convertedParams.label; + } + + if (max_degree === '') { + delete convertedParams.max_degree; + } + + if (capacity === '') { + delete convertedParams.capacity; + } + + if (limit === '') { + delete convertedParams.limit; + } + + if (max_similar === '') { + delete convertedParams.top; + } + + if (least_similar === '') { + delete convertedParams.min_similars; + } + + if (convertedParams.group_property === '') { + delete convertedParams.group_property; + delete convertedParams.min_groups; + } + + // @ts-ignore + params = convertedParams; + break; + } + + case Algorithm.neighborRank: { + const clonedNeighborRankParams = cloneDeep( + this.algorithmAnalyzerStore.neighborRankParams + ); + + if (clonedNeighborRankParams.capacity === '') { + clonedNeighborRankParams.capacity = '10000000'; + } + + clonedNeighborRankParams.steps.forEach((step, index) => { + delete step.uuid; + const clonedStep = cloneDeep(step); + + if (step.labels[0] === '__all__') { + delete clonedStep.labels; + clonedNeighborRankParams.steps[index] = clonedStep; + } + + if (step.degree === '') { + clonedStep.degree = '10000'; + clonedNeighborRankParams.steps[index] = clonedStep; + } + + if (step.top === '') { + clonedStep.top = '100'; + clonedNeighborRankParams.steps[index] = clonedStep; + } + }); + + params = clonedNeighborRankParams; + break; + } + + case Algorithm.kStepNeighbor: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.kStepNeighborParams, + ['max_degree', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.kHop: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.kHopParams, + ['max_degree', 'capacity', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.customPath: { + const { + source, + vertexType, + vertexProperty, + sort_by, + capacity, + limit, + steps + } = this.algorithmAnalyzerStore.customPathParams; + + const sources: Record = {}; + + if (source !== '') { + sources.ids = source.split(','); + } else { + if (vertexType !== '') { + sources.label = vertexType; + } + + if (vertexProperty[0][0] !== '') { + const convertedVertexProperty = vertexProperty.map( + ([key, value]) => [key, value.split(',')] + ); + + sources.properties = fromPairs(convertedVertexProperty); + } + } + + const clonedCustomPathRules = cloneDeep(steps); + + clonedCustomPathRules.forEach((step, index) => { + delete step.uuid; + + if (isEmpty(step.labels)) { + delete step.labels; + } + + if (step.properties[0][0] !== '') { + // omit property types here + // @ts-ignore + step.properties = fromPairs( + step.properties.map(([key, value]) => [key, value.split(',')]) + ); + } else { + delete step.properties; + } + + if (isEmpty(step.degree)) { + delete step.degree; + } + + if (isEmpty(step.sample)) { + delete step.sample; + } + + if (step.weight_by === '__CUSTOM_WEIGHT__') { + delete step.weight_by; + } else { + delete step.default_weight; + } + + if (step.weight_by === '') { + delete step.weight_by; + } + }); + + const convertedParams: Record = { + sources, + sort_by, + steps: clonedCustomPathRules + }; + + if (!isEmpty(capacity)) { + convertedParams.capactiy = capacity; + } + + if (!isEmpty(limit)) { + convertedParams.limit = limit; + } + + // @ts-ignore + params = convertedParams; + break; + } + + case Algorithm.radiographicInspection: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.radiographicInspectionParams, + ['max_degree', 'capacity', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.sameNeighbor: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.sameNeighborParams, + ['max_degree', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.weightedShortestPath: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.weightedShortestPathParams, + ['max_degree', 'capacity', 'skip_degree'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.singleSourceWeightedShortestPath: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.singleSourceWeightedShortestPathParams, + ['max_degree', 'capacity', 'skip_degree', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.jaccard: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.jaccardParams, + ['max_degree'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + + case Algorithm.personalRankRecommendation: { + const filterdObject = filterEmptyAlgorightmParams( + this.algorithmAnalyzerStore.personalRankParams, + ['degree', 'limit'] + ); + removeLabelKey(filterdObject); + params = filterdObject; + break; + } + } + } + + try { + let result: AxiosResponse; + + if (!isUndefined(algorithmConfigs)) { + result = yield axios + .post( + `${baseUrl}/${this.currentId}/algorithms/${algorithmConfigs.url}`, + { + ...params + } + ) + .catch(checkIfLocalNetworkOffline); + } else { + result = yield axios + .post( + `${baseUrl}/${this.currentId}/gremlin-query`, + { + content: this.codeEditorText + } + ) + .catch(checkIfLocalNetworkOffline); + } + + if (result.data.status !== 200) { + this.errorInfo.fetchGraphs.code = result.data.status; + throw new Error(result.data.message); + } + + // replace null with empty array when query result type is EMPTY + if (result.data.data.type === 'EMPTY') { + result.data.data.json_view.data = []; + result.data.data.table_view = { + header: ['result'], + rows: [] + }; + } + + this.originalGraphData = result.data; + + if ( + result.data.data.graph_view.vertices !== null && + result.data.data.graph_view.edges !== null + ) { + this.vertexCollection = new Set( + result.data.data.graph_view.vertices.map(({ id }) => id) + ); + this.edgeCollection = new Set( + result.data.data.graph_view.edges.map(({ id }) => id) + ); + } + + this.graphData = result.data; + this.pageConfigs.tableResult.pageTotal = this.originalGraphData.data.table_view.rows.length; + this.requestStatus.fetchGraphs = 'success'; + this.isLoadingGraph = false; + } catch (error) { + this.isLoadingGraph = false; + this.requestStatus.fetchGraphs = 'failed'; + this.errorInfo.fetchGraphs.message = error.message; + console.error(error.message); + } + }); + + createAsyncTask = flow(function* createAsyncTask(this: DataAnalyzeStore) { + // reset request status of fetch graphs + this.requestStatus.fetchGraphs = 'stanby'; + this.requestStatus.createAsyncTask = 'pending'; + + try { + const result: AxiosResponse = yield axios + .post( + `${baseUrl}/${this.currentId}/gremlin-query/async-task`, + { + content: this.codeEditorText + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.createAsyncTask.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.createAsyncTask = 'success'; + } catch (error) { + this.requestStatus.createAsyncTask = 'failed'; + this.errorInfo.createAsyncTask.message = error.message; + console.error(error.message); + } + }); + + addGraphNode = flow(function* addGraphNode(this: DataAnalyzeStore) { + this.requestStatus.addGraphNode = 'pending'; + + try { + const properties: Record = {}; + this.newGraphNodeConfigs.properties.nonNullable.forEach((value, key) => { + properties[key] = value; + }); + this.newGraphNodeConfigs.properties.nullable.forEach((value, key) => { + properties[key] = value; + }); + + const result: AxiosResponse> = yield axios.post( + `${baseUrl}/${this.currentId}/graph/vertex`, + { + id: this.newGraphNodeConfigs.id, + label: this.newGraphNodeConfigs.label, + properties + } + ); + + if (result.data.status !== 200) { + this.errorInfo.addGraphNode.code = result.data.status; + throw new Error(result.data.message); + } + + const mergedGraphData = cloneDeep(this.graphData); + mergedGraphData.data.graph_view.vertices.push( + ...result.data.data.vertices + ); + + this.graphData = mergedGraphData; + this.requestStatus.addGraphNode = 'success'; + + return result.data.data.vertices; + } catch (error) { + this.requestStatus.addGraphNode = 'failed'; + this.errorInfo.addGraphNode.message = error.message; + console.error(error.message); + } + }); + + fetchRelatedEdges = flow(function* fetchRelatedEdges(this: DataAnalyzeStore) { + this.requestStatus.fetchRelatedEdges = 'pending'; + try { + const result: AxiosResponse> = yield axios.get< + responseData + >( + `${baseUrl}/${this.currentId}/schema/vertexlabels/${this.rightClickedGraphData.label}/link` + ); + + if (result.data.status !== 200) { + this.errorInfo.fetchRelatedEdges.code = result.data.status; + throw new Error(result.data.message); + } + + this.relatedGraphEdges = result.data.data; + this.requestStatus.fetchRelatedEdges = 'success'; + } catch (error) { + this.requestStatus.fetchRelatedEdges = 'failed'; + this.errorInfo.fetchRelatedEdges.message = error.message; + console.error(error.message); + } + }); + + addGraphEdge = flow(function* addGraphEdge(this: DataAnalyzeStore) { + this.requestStatus.addGraphEdge = 'pending'; + + try { + const vertices = [ + this.rightClickedGraphData.id, + this.newGraphEdgeConfigs.id + ]; + + if (this.dynamicAddGraphDataStatus === 'inEdge') { + vertices.reverse(); + } + + const properties: Record = {}; + this.newGraphEdgeConfigs.properties.nonNullable.forEach((value, key) => { + properties[key] = value; + }); + this.newGraphEdgeConfigs.properties.nullable.forEach((value, key) => { + properties[key] = value; + }); + + const result: AxiosResponse> = yield axios.post( + `${baseUrl}/${this.currentId}/graph/edge`, + { + label: this.newGraphEdgeConfigs.label, + source: vertices[0], + target: vertices[1], + properties + } + ); + + if (result.data.status !== 200) { + this.errorInfo.addGraphEdge.code = result.data.status; + throw new Error(result.data.message); + } + + const mergedGraphData = cloneDeep(this.graphData); + const filteredVertices: GraphNode[] = []; + + result.data.data.vertices.forEach((vertex) => { + if (this.visDataSet!.nodes.get(vertex.id) === null) { + filteredVertices.push(vertex); + } + }); + + mergedGraphData.data.graph_view.vertices.push(...filteredVertices); + mergedGraphData.data.graph_view.edges.push(...result.data.data.edges); + + this.graphData = mergedGraphData; + this.requestStatus.addGraphEdge = 'success'; + + return { + originalVertices: result.data.data.vertices, + vertices: filteredVertices, + edges: result.data.data.edges + }; + } catch (error) { + this.requestStatus.addGraphEdge = 'failed'; + this.errorInfo.addGraphEdge.message = error.message; + console.error(error.message); + } + }); + + expandGraphNode = flow(function* expandGraphNode( + this: DataAnalyzeStore, + // double click on a node, or right click a node + nodeId?: string, + label?: string + ) { + this.requestStatus.expandGraphNode = 'pending'; + + try { + const result: AxiosResponse = yield axios.put( + `${baseUrl}/${this.currentId}/gremlin-query`, + { + vertex_id: nodeId || this.rightClickedGraphData.id, + vertex_label: label || this.rightClickedGraphData.label + } + ); + + if (result.data.status !== 200) { + this.errorInfo.expandGraphNode.code = result.data.status; + throw new Error(result.data.message); + } + + const newGraphData = result.data; + + const filteredVertices = newGraphData.data.graph_view.vertices.filter( + ({ id }) => { + if (this.vertexCollection.has(id)) { + return false; + } + + this.vertexCollection.add(id); + return true; + } + ); + + const filteredEdges = newGraphData.data.graph_view.edges.filter( + ({ id }) => { + if (this.edgeCollection.has(id)) { + return false; + } + + this.edgeCollection.add(id); + return true; + } + ); + + this.expandedGraphData = { + ...newGraphData, + data: { + ...newGraphData.data, + graph_view: { + vertices: filteredVertices, + edges: filteredEdges + } + } + }; + + const vertexCollection = new Set(); + const edgeCollection = new Set(); + + const mergeData: FetchGraphResponse = { + ...newGraphData, + data: { + ...newGraphData.data, + graph_view: { + vertices: this.graphData.data.graph_view.vertices + .concat(newGraphData.data.graph_view.vertices) + .filter((item) => { + const isDuplicate = vertexCollection.has(item.id); + vertexCollection.add(item.id); + return !isDuplicate; + }), + edges: this.graphData.data.graph_view.edges + .concat(newGraphData.data.graph_view.edges) + .filter((item) => { + const isDuplicate = edgeCollection.has(item.id); + edgeCollection.add(item.id); + return !isDuplicate; + }) + } + } + }; + + this.graphData = mergeData; + this.requestStatus.expandGraphNode = 'success'; + } catch (error) { + this.requestStatus.expandGraphNode = 'failed'; + this.errorInfo.expandGraphNode.message = error.message; + console.error(error.message); + } + }); + + @action + hideGraphNode(nodeId: any) { + this.graphData.data.graph_view.vertices = this.graphData.data.graph_view.vertices.filter( + (data) => data.id !== this.rightClickedGraphData.id + ); + + // only delete node in vertexCollection, not edges in EdgeCollection + this.vertexCollection.delete(nodeId); + + // assign new object to observable + this.graphData = { ...this.graphData }; + } + + updateGraphProperties = flow(function* updateGraphProperties( + this: DataAnalyzeStore + ) { + this.requestStatus.updateGraphProperties = 'pending'; + + const { id, label, properties } = + this.graphInfoDataSet === 'node' + ? this.selectedGraphData + : this.selectedGraphLinkData; + + const editedProperties: Record> = { + ...Object.fromEntries([ + ...this.editedSelectedGraphDataProperties.primary + ]), + ...Object.fromEntries([ + ...this.editedSelectedGraphDataProperties.nonNullable + ]), + ...Object.fromEntries([ + ...this.editedSelectedGraphDataProperties.nullable + ]) + }; + + // check if originial type is Array + Object.entries(editedProperties).forEach(([key, value]) => { + if (Array.isArray(properties[key])) { + if ((value as string).includes(',')) { + editedProperties[key] = (value as string).split(','); + } + + if ((value as string).includes(',')) { + editedProperties[key] = (value as string).split(','); + } + } + }); + + try { + const result: AxiosResponse> = yield axios.put>( + `${baseUrl}/${this.currentId}/graph/${ + this.graphInfoDataSet === 'node' ? 'vertex' : 'edge' + }/${encodeURIComponent(id)}`, + this.graphInfoDataSet === 'node' + ? { + id, + label, + properties: editedProperties + } + : { + id, + label, + properties: editedProperties, + source: this.selectedGraphLinkData.source, + target: this.selectedGraphLinkData.target + } + ); + + if (result.data.status !== 200) { + this.errorInfo.updateGraphProperties.code = result.data.status; + throw new Error(result.data.message); + } + + const graphData = cloneDeep(this.graphData); + if (this.graphInfoDataSet === 'node') { + const vertex = graphData.data.graph_view.vertices.find( + ({ id }) => id === result.data.data.id + ); + + if (!isUndefined(vertex)) { + vertex.id = result.data.data.id; + vertex.label = result.data.data.label; + vertex.properties = result.data.data.properties; + } + } else { + const edge = graphData.data.graph_view.edges.find( + ({ id }) => id === result.data.data.id + ); + + if (!isUndefined(edge)) { + edge.id = result.data.data.id; + edge.label = result.data.data.label; + edge.properties = result.data.data.properties; + } + } + + this.graphData = graphData; + this.requestStatus.updateGraphProperties = 'success'; + return result.data.data; + } catch (error) { + this.requestStatus.updateGraphProperties = 'failed'; + this.errorInfo.updateGraphProperties.message = error.message; + console.error(error.message); + } + }); + + // require list of edge type options in QueryFilteredOptions + fetchRelatedVertex = flow(function* fetchRelatedVertex( + this: DataAnalyzeStore + ) { + this.requestStatus.fetchRelatedVertex = 'pending'; + + try { + const result = yield axios.get( + `${baseUrl}/${this.currentId}/schema/vertexlabels/${this.rightClickedGraphData.label}/link` + ); + + if (result.data.status !== 200) { + this.errorInfo.fetchRelatedVertex = result.data.status; + throw new Error(result.data.message); + } + + this.graphDataEdgeTypes = result.data.data; + + this.editEdgeFilterOption( + 'type', + !isUndefined(result.data.data[0]) ? result.data.data[0] : '' + ); + } catch (error) { + this.requestStatus.fetchRelatedVertex = 'failed'; + this.errorInfo.fetchRelatedVertex.message = error.message; + console.error(error.message); + } + }); + + // require list of property options in QueryFilteredOptions + fetchFilteredPropertyOptions = flow(function* fetchFilteredPropertyOptions( + this: DataAnalyzeStore, + edgeName: string + ) { + this.requestStatus.fetchFilteredPropertyOptions = 'pending'; + + try { + const result: AxiosResponse = yield axios.get( + `${baseUrl}/${this.currentId}/schema/edgelabels/${edgeName}` + ); + + if (result.data.status !== 200) { + this.errorInfo.filteredPropertyOptions.code = result.data.status; + throw new Error(result.data.message); + } + + this.filteredPropertyOptions = result.data.data.properties.map( + ({ name }) => name + ); + } catch (error) { + this.requestStatus.fetchFilteredPropertyOptions = 'failed'; + this.errorInfo.filteredPropertyOptions = error.message; + console.error(error.message); + } + }); + + filterGraphData = flow(function* filteredGraphData(this: DataAnalyzeStore) { + this.requestStatus.filteredGraphData = 'pending'; + + try { + const result: AxiosResponse = yield axios.put( + `${baseUrl}/${this.currentId}/gremlin-query`, + { + vertex_id: this.rightClickedGraphData.id, + vertex_label: this.rightClickedGraphData.label, + edge_label: this.filteredGraphQueryOptions.line.type, + direction: this.filteredGraphQueryOptions.line.direction, + conditions: this.filteredGraphQueryOptions.properties.map( + ({ property, rule, value }) => ({ + key: property, + operator: ruleMap[rule], + value: rule === 'True' || rule === 'False' ? Boolean(rule) : value + }) + ) + } + ); + + if (result.data.status !== 200) { + this.errorInfo.filteredGraphData.code = result.data.status; + throw new Error(result.data.message); + } + + const newGraphData = result.data; + + const filteredVertices = newGraphData.data.graph_view.vertices.filter( + ({ id }) => { + if (this.vertexCollection.has(id)) { + return false; + } + + this.vertexCollection.add(id); + return true; + } + ); + + const filteredEdges = newGraphData.data.graph_view.edges.filter( + ({ id }) => { + if (this.edgeCollection.has(id)) { + return false; + } + + this.edgeCollection.add(id); + return true; + } + ); + + this.expandedGraphData = { + ...newGraphData, + data: { + ...newGraphData.data, + graph_view: { + vertices: filteredVertices, + edges: filteredEdges + } + } + }; + + const vertexCollection = new Set(); + const edgeCollection = new Set(); + + const mergeData: FetchGraphResponse = { + ...newGraphData, + data: { + ...newGraphData.data, + graph_view: { + vertices: this.graphData.data.graph_view.vertices + .concat(newGraphData.data.graph_view.vertices) + .filter((item) => { + const isDuplicate = vertexCollection.has(item.id); + vertexCollection.add(item.id); + return !isDuplicate; + }), + edges: this.graphData.data.graph_view.edges + .concat(newGraphData.data.graph_view.edges) + .filter((item) => { + const isDuplicate = edgeCollection.has(item.id); + edgeCollection.add(item.id); + return !isDuplicate; + }) + } + } + }; + + this.graphData = mergeData; + this.requestStatus.filteredGraphData = 'success'; + } catch (error) { + this.errorInfo.filteredGraphData.message = error.message; + console.error(error.message); + } + }); + + addQueryCollection = flow(function* addQueryCollection( + this: DataAnalyzeStore, + name: string, + // if content is not the value in codeEditor (e.g. in table) + content?: string + ) { + this.requestStatus.addQueryCollection = 'pending'; + + try { + const result = yield axios.post( + `${baseUrl}/${this.currentId}/gremlin-collections`, + { + name, + content: content || this.codeEditorText + } + ); + + if (result.data.status !== 200) { + this.errorInfo.addQueryCollection.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.addQueryCollection = 'success'; + } catch (error) { + this.requestStatus.addQueryCollection = 'failed'; + this.errorInfo.addQueryCollection.message = error.message; + console.error(error.message); + } + }); + + editQueryCollection = flow(function* editQueryCollection( + this: DataAnalyzeStore, + id: number, + name: string, + content: string + ) { + this.requestStatus.editQueryCollection = 'pending'; + + try { + const result = yield axios.put( + `${baseUrl}/${this.currentId}/gremlin-collections/${id}`, + { + name, + content + } + ); + + if (result.data.status !== 200) { + this.errorInfo.editQueryCollection.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.editQueryCollection = 'success'; + } catch (error) { + this.requestStatus.editQueryCollection = 'failed'; + this.errorInfo.editQueryCollection.message = error.message; + console.error(error.message); + } + }); + + deleteQueryCollection = flow(function* deleteQueryCollection( + this: DataAnalyzeStore, + id: number + ) { + this.requestStatus.deleteQueryCollection = 'pending'; + + try { + const result = yield axios.delete( + `${baseUrl}/${this.currentId}/gremlin-collections/${id}` + ); + + if (result.data.status !== 200) { + this.errorInfo.deleteQueryCollection = result.data.status; + throw new Error(result.data.message); + } + + // if current pageNumber has no data after delete, set the pageNumber to the previous + if ( + this.favoriteQueryData.length === 1 && + this.pageConfigs.favoriteQueries.pageNumber > 1 + ) { + this.pageConfigs.favoriteQueries.pageNumber = + this.pageConfigs.favoriteQueries.pageNumber - 1; + } + + this.requestStatus.deleteQueryCollection = 'success'; + } catch (error) { + this.requestStatus.deleteQueryCollection = 'failed'; + this.errorInfo.deleteQueryCollection.message = error.message; + console.error(error.message); + } + }); + + fetchExecutionLogs = flow(function* fetchExecutionLogs( + this: DataAnalyzeStore + ) { + this.requestStatus.fetchExecutionLogs = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + ExecutionLogsResponse + >(`${baseUrl}/${this.currentId}/execute-histories`, { + params: { + page_size: this.pageConfigs.executionLog.pageSize, + page_no: this.pageConfigs.executionLog.pageNumber + } + }); + + if (result.data.status !== 200) { + this.errorInfo.fetchExecutionLogs.code = result.data.status; + throw new Error(result.data.message); + } + + this.executionLogData = result.data.data.records; + this.pageConfigs.executionLog.pageTotal = result.data.data.total; + this.requestStatus.fetchExecutionLogs = 'success'; + } catch (error) { + this.requestStatus.fetchExecutionLogs = 'failed'; + this.errorInfo.fetchExecutionLogs.message = error.message; + console.error(error.message); + } + }); + + fetchFavoriteQueries = flow(function* fetchFavoriteQueries( + this: DataAnalyzeStore + ) { + const url = + `${baseUrl}/${this.currentId}/gremlin-collections?` + + `&page_no=${this.pageConfigs.favoriteQueries.pageNumber}` + + `&page_size=${this.pageConfigs.favoriteQueries.pageSize}` + + (this.favoriteQueriesSortOrder.time !== '' + ? `&time_order=${this.favoriteQueriesSortOrder.time}` + : '') + + (this.favoriteQueriesSortOrder.name !== '' + ? `&name_order=${this.favoriteQueriesSortOrder.name}` + : '') + + (this.isSearched.status && this.searchText !== '' + ? `&content=${this.searchText}` + : ''); + + this.requestStatus.fetchFavoriteQueries = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + FavoriteQueryResponse + >(url); + + if (result.data.status !== 200) { + this.errorInfo.fetchFavoriteQueries.code = result.data.status; + throw new Error(result.data.message); + } + + this.favoriteQueryData = result.data.data.records; + this.pageConfigs.favoriteQueries.pageTotal = result.data.data.total; + this.requestStatus.fetchFavoriteQueries = 'success'; + } catch (error) { + this.requestStatus.fetchFavoriteQueries = 'failed'; + this.errorInfo.fetchFavoriteQueries.message = error.message; + console.error(error.message); + } + }); +} + +export default createContext(new DataAnalyzeStore()); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts new file mode 100644 index 000000000..c9b513531 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/ImportManagerStore.ts @@ -0,0 +1,383 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { isEmpty, size } from 'lodash-es'; + +import i18next from '../../../i18n'; +import { + Job, + JobResponse +} from '../../types/GraphManagementStore/dataImportStore'; +import { + initRequestStatus, + initErrorInfo +} from '../../factory/dataImportStore/importManagmentStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +import { baseUrl, responseData } from '../../types/common'; +import type { + JobGlance, + JobFailedReason +} from '../../types/GraphManagementStore/dataImportStore'; + +export class ImportManagerStore { + @observable requestStatus = initRequestStatus(); + @observable errorInfo = initErrorInfo(); + + @observable currentId: number | null = null; + @observable jobDetailsStep = 'basic'; + @observable selectedJobIndex = NaN; + @observable selectedJob: Job | null = null; + @observable searchWords = ''; + @observable isCreateNewProperty = false; + + @observable.shallow importJobListPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + @observable.shallow isSearched = { + status: false, + value: '' + }; + + @observable.shallow newJob = { + name: '', + description: '' + }; + + // @observable editJob: JobGlance | null = null; + @observable editJob: JobGlance | null = { + name: '', + description: '' + }; + + @observable.ref importJobList: Job[] = []; + @observable.ref failedReason: JobFailedReason[] = []; + + @observable validateNewJobErrorMessage = { + name: '', + description: '' + }; + + @observable validateEditJobErrorMessage = { + name: '', + description: '' + }; + + @computed get currentJobDetails() { + return this.importJobList[this.selectedJobIndex]; + } + + @action + setCurrentId(id: number) { + this.currentId = id; + } + + @action + switchCreateNewProperty(flag: boolean) { + this.isCreateNewProperty = flag; + } + + @action + switchSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchWords) + : (this.isSearched.value = ''); + } + + @action + setCurrentJobDetailStep(step: string) { + this.jobDetailsStep = step; + } + + @action + setSelectedJobIndex(index: number) { + this.selectedJobIndex = index; + } + + @action + setSelectedJob(jobId: number | null) { + if (jobId === null) { + this.selectedJob = null; + } else { + this.selectedJob = this.importJobList.find( + ({ id }) => jobId === id + ) as Job; + } + } + + @action + mutateSearchWords(word: string) { + this.searchWords = word; + } + + @action + mutateNewJob(key: T, value: JobGlance[T]) { + this.newJob[key] = value; + } + + @action + mutateEditJob(key: T, value: JobGlance[T]) { + if (this.editJob !== null) { + this.editJob[key] = value; + } + } + + @action + mutateImportJobListPageNumber(pageNumber: number) { + this.importJobListPageConfig.pageNumber = pageNumber; + } + + @action + validateJob(type: 'new' | 'edit', category: keyof JobGlance) { + const job = type === 'new' ? this.newJob : this.editJob!; + const errorMessage = + type === 'new' + ? this.validateNewJobErrorMessage + : this.validateEditJobErrorMessage; + + if (category === 'name') { + const name = job.name; + + if (isEmpty(name)) { + errorMessage.name = i18next.t('import-manager.validator.no-empty'); + } else if (size(name) > 48) { + errorMessage.name = i18next.t( + 'import-manager.validator.over-limit-size' + ); + } else if (!/^[\w\d\u4e00-\u9fa5]{1,48}$/.test(name)) { + errorMessage.name = i18next.t( + 'import-manager.validator.invalid-format' + ); + } else { + errorMessage.name = ''; + } + } + + if (category === 'description') { + const description = job.description; + + if (size(description) > 200) { + errorMessage.description = i18next.t( + 'import-manager.validator.over-limit-size' + ); + } else if (!/^[\w\d\u4e00-\u9fa5]{0,200}$/.test(description)) { + errorMessage.description = i18next.t( + 'import-manager.validator.invalid-format' + ); + } else { + errorMessage.description = ''; + } + } + } + + @action + resetJob(type: 'new' | 'edit') { + if (type === 'new') { + this.newJob = { + name: '', + description: '' + }; + } else { + this.editJob = null; + } + } + + @action + dispose() { + this.requestStatus = initRequestStatus(); + this.errorInfo = initErrorInfo(); + this.currentId = null; + this.jobDetailsStep = 'basic'; + this.selectedJobIndex = NaN; + this.selectedJob = null; + this.isCreateNewProperty = false; + + this.importJobListPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + this.isSearched = { + status: false, + value: '' + }; + + this.newJob = { + name: '', + description: '' + }; + + this.editJob = { + name: '', + description: '' + }; + + this.importJobList = []; + this.failedReason = []; + + this.validateNewJobErrorMessage = { + name: '', + description: '' + }; + + this.validateEditJobErrorMessage = { + name: '', + description: '' + }; + } + + fetchImportJobList = flow(function* fetchImportJobList( + this: ImportManagerStore + ) { + this.requestStatus.fetchImportJobList = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/job-manager?page_no=${this.importJobListPageConfig.pageNumber}&page_size=10` + + (this.isSearched.status && this.searchWords !== '' + ? `&content=${this.searchWords}` + : '') + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchImportJobList.code = result.data.status; + throw new Error(result.data.message); + } + + this.importJobList = result.data.data.records; + this.importJobListPageConfig.pageTotal = result.data.data.total; + this.requestStatus.fetchImportJobList = 'success'; + } catch (error) { + this.requestStatus.fetchImportJobList = 'failed'; + this.errorInfo.fetchImportJobList.message = error.message; + } + }); + + createNewJob = flow(function* createNewJob(this: ImportManagerStore) { + this.requestStatus.createNewJob = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>(`${baseUrl}/${this.currentId}/job-manager`, { + job_name: this.newJob.name, + job_remarks: this.newJob.description + }) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.createNewJob.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.createNewJob = 'success'; + } catch (error) { + this.requestStatus.createNewJob = 'failed'; + this.errorInfo.createNewJob.message = error.message; + } + }); + + updateJobInfo = flow(function* updateJobInfo(this: ImportManagerStore) { + this.requestStatus.updateJobInfo = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .put>( + `${baseUrl}/${this.currentId}/job-manager/${this.selectedJob!.id}`, + { + job_name: this.editJob!.name, + job_remarks: this.editJob!.description + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.updateJobInfo.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedJob = result.data.data; + this.requestStatus.updateJobInfo = 'success'; + } catch (error) { + this.requestStatus.updateJobInfo = 'failed'; + this.errorInfo.updateJobInfo.message = error.message; + } + }); + + deleteJob = flow(function* deleteJob(this: ImportManagerStore, id: number) { + this.requestStatus.deleteJob = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete>( + `${baseUrl}/${this.currentId}/job-manager/${id}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteJob.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.deleteJob = 'success'; + } catch (error) { + this.requestStatus.deleteJob = 'failed'; + this.errorInfo.deleteJob.message = error.message; + } + }); + + fetchFailedReason = flow(function* fetchFailedReason( + this: ImportManagerStore, + connectId: number, + jobId: number + ) { + this.requestStatus.fetchFailedReason = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${connectId}/job-manager/${jobId}/reason` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchFailedReason.code = result.data.status; + throw new Error(result.data.message); + } + + this.failedReason = result.data.data; + this.requestStatus.fetchFailedReason = 'success'; + } catch (error) { + this.requestStatus.fetchFailedReason = 'failed'; + this.errorInfo.fetchFailedReason.message = error.message; + } + }); +} + +export default createContext(new ImportManagerStore()); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts new file mode 100644 index 000000000..451613e09 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataImportRootStore.ts @@ -0,0 +1,407 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { remove, isUndefined } from 'lodash-es'; + +import { DataMapStore } from './dataMapStore'; +import { ServerDataImportStore } from './serverDataImportStore'; +import { + initErrorInfo, + initRequestStatus +} from '../../factory/dataImportStore/dataImportRootStore'; +import { baseUrl, responseData } from '../../types/common'; +import { + FileUploadResult, + FileUploadTask, + FileUploadQueue +} from '../../types/GraphManagementStore/dataImportStore'; +import { + VertexType, + VertexTypeListResponse, + EdgeType, + EdgeTypeListResponse +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +const MAX_CONCURRENT_UPLOAD = 5; + +export class DataImportRootStore { + dataMapStore: DataMapStore; + serverDataImportStore: ServerDataImportStore; + + constructor() { + this.dataMapStore = new DataMapStore(this); + this.serverDataImportStore = new ServerDataImportStore(this); + } + + @observable currentId: number | null = null; + @observable currentJobId: number | null = null; + @observable currentStatus = ''; + @observable currentStep = NaN; + + @observable requestStatus = initRequestStatus(); + @observable errorInfo = initErrorInfo(); + + @observable fileList: File[] = []; + @observable.ref fileHashes: Record = {}; + @observable fileUploadTasks: FileUploadTask[] = []; + @observable fileUploadQueue: FileUploadQueue[] = []; + @observable fileRetryUploadList: string[] = []; + + @observable.ref fileInfos: FileUploadResult[] = []; + @observable.ref vertexTypes: VertexType[] = []; + @observable.ref edgeTypes: EdgeType[] = []; + + @computed get successFileUploadTaskNames() { + return this.fileUploadTasks + .filter(({ status }) => status === 'success') + .map(({ name }) => name); + } + + @computed get unsuccessFileUploadTasks() { + return this.fileUploadTasks.filter(({ status }) => status !== 'success'); + } + + @action + setCurrentId(id: number) { + this.currentId = id; + } + + @action + setCurrentJobId(id: number) { + this.currentJobId = id; + } + + @action + setCurrentStatus(status: string) { + this.currentStatus = status; + } + + @action + setCurrentStep(step: number) { + this.currentStep = step; + } + + @action + updateFileList(files: File[]) { + this.fileList = [...files, ...this.fileList]; + } + + @action + initFileUploadTask(tasks: FileUploadTask) { + this.fileUploadTasks = [tasks, ...this.fileUploadTasks]; + } + + @action + addFileUploadQueue(element: FileUploadQueue) { + this.fileUploadQueue.push(element); + } + + @action + removeFileUploadQueue(fileName: string) { + remove(this.fileUploadQueue, ({ fileName: name }) => name === fileName); + } + + @action + mutateFileUploadQueue( + key: T, + value: FileUploadQueue[T], + index: number + ) { + this.fileUploadQueue[index][key] = value; + } + + @action + mutateFileUploadTasks( + key: T, + value: FileUploadTask[T], + fileName: string + ) { + const fileUploadTask = this.fileUploadTasks.find( + ({ name }) => name === fileName + )!; + + // users may click back button in browser + if (!isUndefined(fileUploadTask)) { + fileUploadTask[key] = value; + } + } + + @action + removeFileUploadTasks(fileName: string) { + remove(this.fileUploadTasks, ({ name }) => fileName === name); + } + + @action + addRetryFileUploadQueue(fileName: string) { + this.fileRetryUploadList.push(fileName); + } + + @action + pullRetryFileUploadQueue() { + return this.fileRetryUploadList.shift(); + } + + @action + resetAllFileInfos() { + this.fileList = []; + this.fileUploadTasks = []; + this.fileUploadQueue = []; + this.fileInfos = []; + } + + @action + dispose() { + this.currentId = null; + this.currentJobId = null; + this.currentStatus = ''; + this.currentStep = NaN; + this.vertexTypes = []; + this.edgeTypes = []; + + this.resetAllFileInfos(); + this.requestStatus = initRequestStatus(); + this.errorInfo = initErrorInfo(); + } + + fetchFilehashes = flow(function* fetchFilehashes( + this: DataImportRootStore, + fileNames: string[] + ) { + this.requestStatus.fetchFilehashes = 'pending'; + + try { + const result = yield axios + .get>>( + `${baseUrl}/${this.currentId}/job-manager/${ + this.currentJobId + }/upload-file/token?${fileNames + .map((name) => `names=${name}`) + .join('&')}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchFilehashes.code = result.data.status; + throw new Error(result.data.message); + } + + this.fileHashes = { ...this.fileHashes, ...result.data.data }; + this.requestStatus.fetchFilehashes = 'success'; + } catch (error) { + this.requestStatus.fetchFilehashes = 'failed'; + this.errorInfo.fetchFilehashes.message = error.message; + console.error(error.message); + } + }); + + uploadFiles = flow(function* uploadFiles( + this: DataImportRootStore, + { + fileName, + fileChunkList, + fileChunkTotal + }: { + fileName: string; + fileChunkList: { + chunkIndex: number; + chunk: Blob; + }; + fileChunkTotal: number; + } + ) { + this.requestStatus.uploadFiles = 'pending'; + const formData = new FormData(); + formData.append('file', fileChunkList.chunk); + + if (this.currentId === null || this.currentJobId === null) { + return; + } + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file?total=${fileChunkTotal}&index=${fileChunkList.chunkIndex}&name=${fileName}&token=${this.fileHashes[fileName]}`, + formData, + { + headers: { + 'Content-Type': 'multipart/form-data' + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.uploadFiles.code = result.data.status; + throw new Error(result.data.message); + } + + this.fileInfos.push(result.data.data); + this.requestStatus.uploadFiles = 'success'; + return result.data.data; + } catch (error) { + this.requestStatus.uploadFiles = 'failed'; + this.errorInfo.uploadFiles.message = error.message; + console.error(error.message); + } + }); + + deleteFiles = flow(function* deleteFiles( + this: DataImportRootStore, + fileName: string + ) { + this.requestStatus.deleteFiles = 'pending'; + + try { + const result = yield axios + .delete( + `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file?name=${fileName}&token=${this.fileHashes[fileName]}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteFiles.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.deleteFiles = 'success'; + } catch (error) { + this.requestStatus.deleteFiles = 'failed'; + this.errorInfo.deleteFiles.message = error.message; + console.error(error.message); + } + }); + + sendUploadCompleteSignal = flow(function* sendUploadCompleteSignal( + this: DataImportRootStore + ) { + this.requestStatus.sendUploadCompleteSignal = 'pending'; + + try { + const result = yield axios + .put( + `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/upload-file/next-step` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.sendUploadCompleteSignal.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.sendUploadCompleteSignal = 'success'; + } catch (error) { + this.requestStatus.sendUploadCompleteSignal = 'failed'; + this.errorInfo.sendUploadCompleteSignal.message = error.message; + console.error(error.message); + } + }); + + sendMappingCompleteSignal = flow(function* sendMappingCompleteSignal( + this: DataImportRootStore + ) { + this.requestStatus.sendMappingCompleteSignal = 'pending'; + + try { + const result = yield axios + .put( + `${baseUrl}/${this.currentId}/job-manager/${this.currentJobId}/file-mappings/next-step` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.sendMappingCompleteSignal.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.sendMappingCompleteSignal = 'success'; + } catch (error) { + this.requestStatus.sendMappingCompleteSignal = 'failed'; + this.errorInfo.sendMappingCompleteSignal.message = error.message; + console.error(error.message); + } + }); + + fetchVertexTypeList = flow(function* fetchVertexTypeList( + this: DataImportRootStore + ) { + this.requestStatus.fetchVertexTypeList = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/schema/vertexlabels`, + { + params: { + page_size: -1 + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchVertexTypeList.code = result.data.status; + throw new Error(result.data.message); + } + + this.vertexTypes = result.data.data.records; + this.requestStatus.fetchVertexTypeList = 'success'; + } catch (error) { + this.requestStatus.fetchVertexTypeList = 'failed'; + this.errorInfo.fetchVertexTypeList.message = error.message; + } + }); + + fetchEdgeTypeList = flow(function* fetchEdgeTypeList( + this: DataImportRootStore + ) { + this.requestStatus.fetchEdgeTypeList = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.currentId}/schema/edgelabels`, + { + params: { + page_size: -1 + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchEdgeTypeList.code = result.data.status; + throw new Error(result.data.message); + } + + this.edgeTypes = result.data.data.records; + this.requestStatus.fetchEdgeTypeList = 'success'; + } catch (error) { + this.requestStatus.fetchEdgeTypeList = 'failed'; + this.errorInfo.fetchEdgeTypeList.message = error.message; + } + }); +} + +export default createContext(new DataImportRootStore()); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts new file mode 100644 index 000000000..67bdcbe97 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/dataMapStore.ts @@ -0,0 +1,1321 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { isUndefined, isEmpty, cloneDeep, remove, flatMap } from 'lodash-es'; + +import { DataImportRootStore } from './dataImportRootStore'; +import { baseUrl, responseData } from '../../types/common'; +import { + initRequestStatus, + initErrorInfo, + createNewEdgeType, + createNewVertexType, + createValidateFileInfoErrorMessage, + createValidateAdvanceConfigErrorMessage +} from '../../factory/dataImportStore/dataMapStore'; +import { + FileMapInfo, + FileConfig, + FileMapResult, + VertexMap, + EdgeMap, + FileValidator, + ValueMapValidator +} from '../../types/GraphManagementStore/dataImportStore'; +import { checkIfLocalNetworkOffline, validateGraphProperty } from '../../utils'; + +import type { + VertexType, + EdgeType +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import i18next from '../../../i18n'; + +export class DataMapStore { + dataImportRootStore: DataImportRootStore; + + constructor(dataImportRootStore: DataImportRootStore) { + this.dataImportRootStore = dataImportRootStore; + } + + // v1.3.1: check details from import-manager + @observable readOnly = false; + // v1.3.1: task process comes from import-manager entrance + @observable isIrregularProcess = false; + // v1.5.0 no check details but in progress when LOADING + @observable lock = false; + + @observable isExpandFileConfig = true; + // If one of the type info card is being edited + @observable isExpandTypeConfig = false; + @observable isAddNewTypeConfig = false; + @observable fileMapInfos: FileMapInfo[] = []; + // v1.3.1: preFetched file mapping infos from import-manager + @observable preFetchedFileMapInfos: FileMapInfo[] = []; + @observable selectedFileId: number = NaN; + @observable selectedFileInfo: FileMapInfo | null = null; + + @observable newVertexType: VertexMap = createNewVertexType(); + @observable editedVertexMap: VertexMap | null = null; + + @observable newEdgeType: EdgeMap = createNewEdgeType(); + @observable editedEdgeMap: EdgeMap | null = null; + + // validators + @observable + validateFileInfoErrorMessage: FileValidator = createValidateFileInfoErrorMessage(); + @observable + validateAdvanceConfigErrorMessage: ValueMapValidator = createValidateAdvanceConfigErrorMessage(); + + @observable requestStatus = initRequestStatus(); + @observable errorInfo = initErrorInfo(); + + @computed get isValidateFileInfo() { + return ( + !isEmpty(this.selectedFileInfo?.file_setting.delimiter) && + !isEmpty(this.selectedFileInfo?.file_setting.charset) && + !isEmpty(this.selectedFileInfo?.file_setting.date_format) && + !isEmpty(this.selectedFileInfo?.file_setting.skipped_line) && + Object.values(this.validateFileInfoErrorMessage).every( + (errorMessage) => errorMessage === '' + ) + ); + } + + @computed get isValidateSave() { + return ( + this.validateAdvanceConfigErrorMessage.null_values.every((value) => + isEmpty(value) + ) && + this.validateAdvanceConfigErrorMessage.value_mapping.every( + ({ column_name, values }) => { + const errorMessages = flatMap( + values, + ({ column_value, mapped_value }) => [column_value, mapped_value] + ); + + return ( + isEmpty(column_name) && + errorMessages.every((message) => isEmpty(message)) + ); + } + ) + ); + } + + @computed get filteredColumnNamesInVertexEditSelection() { + return this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => !this.editedVertexMap!.id_fields.includes(column_name) + ); + } + + @computed get filteredColumnNamesInVertexNewSelection() { + return this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => !this.newVertexType?.id_fields.includes(column_name) + ); + } + + @computed get filteredColumnNamesInEdgeEditSelection() { + return this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !this.editedEdgeMap!.source_fields.includes(column_name) && + !this.editedEdgeMap!.target_fields.includes(column_name) + ); + } + + @computed get filteredColumnNamesInEdgeNewSelection() { + return this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !this.newEdgeType.source_fields.includes(column_name) && + !this.newEdgeType.target_fields.includes(column_name) + ); + } + + @computed get filteredFileMapInfo() { + return this.fileMapInfos.filter(({ name }) => + this.dataImportRootStore.fileList.map(({ name }) => name).includes(name) + ); + } + + @action + switchReadOnly(isReadOnly: boolean) { + this.readOnly = isReadOnly; + } + + @action + switchLock(lock: boolean) { + this.lock = lock; + } + + @action + switchIrregularProcess(flag: boolean) { + this.isIrregularProcess = flag; + } + + @action + switchExpand(card: 'file' | 'type', flag: boolean) { + if (card === 'file') { + this.isExpandFileConfig = flag; + } else { + this.isExpandTypeConfig = flag; + } + } + + @action + switchEditTypeConfig(flag: boolean) { + this.isExpandTypeConfig = flag; + } + + @action + switchAddNewTypeConfig(flag: boolean) { + this.isAddNewTypeConfig = flag; + } + + @action + setSelectedFileId(id: number) { + this.selectedFileId = id; + } + + @action + setSelectedFileInfo() { + const fileInfo = this.fileMapInfos.find( + ({ id }) => id === this.selectedFileId + ); + + if (!isUndefined(fileInfo)) { + this.selectedFileInfo = fileInfo; + } + } + + @action + setFileConfig(key: T, value: FileConfig[T]) { + if (this.selectedFileInfo !== null) { + this.selectedFileInfo.file_setting[key] = value; + } + } + + @action + syncEditMap(type: 'vertex' | 'edge', mapIndex: number) { + if (type === 'vertex') { + this.editedVertexMap = cloneDeep( + this.selectedFileInfo!.vertex_mappings[mapIndex] + ); + } else { + this.editedEdgeMap = cloneDeep( + this.selectedFileInfo!.edge_mappings[mapIndex] + ); + } + } + + @action + setNewVertexConfig(key: T, value: VertexMap[T]) { + this.newVertexType[key] = value; + } + + @action + editVertexMapConfig( + key: T, + value: VertexMap[T], + vertexMapIndex: number + ) { + this.editedVertexMap![key] = value; + } + + @action + setNewEdgeConfig(key: T, value: EdgeMap[T]) { + this.newEdgeType[key] = value; + } + + @action + editEdgeMapConfig( + key: T, + value: EdgeMap[T], + edgeMapIndex: number + ) { + this.editedEdgeMap![key] = value; + } + + @action + setVertexFieldMappingKey(type: 'new' | 'edit', key: string, value?: string) { + if (type === 'new') { + this.newVertexType.field_mapping.unshift({ + column_name: key, + mapped_name: isUndefined(value) ? '' : value + }); + } else { + this.editedVertexMap!.field_mapping.unshift({ + column_name: key, + mapped_name: isUndefined(value) ? '' : value + }); + } + } + + @action + setEdgeFieldMappingKey(type: 'new' | 'edit', key: string, value?: string) { + if (type === 'new') { + this.newEdgeType.field_mapping.unshift({ + column_name: key, + mapped_name: isUndefined(value) ? '' : value + }); + } else { + this.editedEdgeMap!.field_mapping.unshift({ + column_name: key, + mapped_name: isUndefined(value) ? '' : value + }); + } + } + + @action + setVertexFieldMapping( + type: 'new' | 'edit', + value: string, + vertexMapFieldIndex: number + ) { + if (type === 'new') { + this.newVertexType.field_mapping[vertexMapFieldIndex].mapped_name = value; + } else { + this.editedVertexMap!.field_mapping[ + vertexMapFieldIndex + ].mapped_name = value; + } + } + + @action + setEdgeFieldMapping( + type: 'new' | 'edit', + value: string, + edgeMapFieldIndex: number + ) { + if (type === 'new') { + this.newEdgeType.field_mapping[edgeMapFieldIndex].mapped_name = value; + } else { + this.editedEdgeMap!.field_mapping[edgeMapFieldIndex].mapped_name = value; + } + } + + @action + removeVertexFieldMapping(type: 'new' | 'edit', columnName: string) { + if (type === 'new') { + remove( + this.newVertexType.field_mapping, + ({ column_name }) => column_name === columnName + ); + } else { + remove( + this.editedVertexMap!.field_mapping, + ({ column_name }) => column_name === columnName + ); + } + } + + @action + removeEdgeFieldMapping(type: 'new' | 'edit', columnName: string) { + if (type === 'new') { + remove( + this.newEdgeType.field_mapping, + ({ column_name }) => column_name === columnName + ); + } else { + remove( + this.editedEdgeMap!.field_mapping, + ({ column_name }) => column_name === columnName + ); + } + } + + @action + toggleVertexSelectAllFieldMapping( + type: 'new' | 'edit', + selectAll: boolean, + selectedVertex?: VertexType + ) { + if (selectAll) { + if (type === 'new') { + const existedFieldColumnNames = this.newVertexType.field_mapping.map( + ({ column_name }) => column_name + ); + + this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !existedFieldColumnNames.includes(column_name) && + !this.newVertexType.id_fields.includes(column_name) + ).map((columnName) => { + this.setVertexFieldMappingKey( + type, + columnName, + selectedVertex?.properties.find(({ name }) => name === columnName) + ?.name + ); + }); + } else { + const existedFieldColumnNames = this.editedVertexMap!.field_mapping.map( + ({ column_name }) => column_name + ); + + this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !existedFieldColumnNames.includes(column_name) && + !this.editedVertexMap!.id_fields.includes(column_name) + ).forEach((columnName) => { + this.setVertexFieldMappingKey( + type, + columnName, + selectedVertex?.properties.find(({ name }) => name === columnName) + ?.name + ); + }); + } + } else { + if (type === 'new') { + this.newVertexType.field_mapping = []; + } else { + this.editedVertexMap!.field_mapping = []; + } + } + } + + @action + toggleEdgeSelectAllFieldMapping( + type: 'new' | 'edit', + selectAll: boolean, + selectedEdge?: EdgeType + ) { + if (selectAll) { + if (type === 'new') { + const existedFieldColumnNames = this.newEdgeType.field_mapping.map( + ({ column_name }) => column_name + ); + + this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !existedFieldColumnNames.includes(column_name) && + !this.newEdgeType.source_fields.includes(column_name) && + !this.newEdgeType.target_fields.includes(column_name) + ).forEach((columnName) => { + this.setEdgeFieldMappingKey( + type, + columnName, + selectedEdge?.properties.find(({ name }) => name === columnName) + ?.name + ); + }); + } else { + const existedFieldColumnNames = this.editedEdgeMap!.field_mapping.map( + ({ column_name }) => column_name + ); + + this.selectedFileInfo!.file_setting.column_names.filter( + (column_name) => + !existedFieldColumnNames.includes(column_name) && + !this.editedEdgeMap!.source_fields.includes(column_name) && + !this.editedEdgeMap!.target_fields.includes(column_name) + ).map((columnName) => { + this.setEdgeFieldMappingKey( + type, + columnName, + selectedEdge?.properties.find(({ name }) => name === columnName) + ?.name + ); + }); + } + } else { + if (type === 'new') { + this.newEdgeType.field_mapping = []; + } else { + this.editedEdgeMap!.field_mapping = []; + } + } + } + + toggleCustomNullValue( + type: 'new' | 'edit', + collection: 'vertex' | 'edge', + flag: boolean + ) { + if (type === 'new') { + if (collection === 'vertex') { + if (flag) { + this.newVertexType.null_values.customized = ['']; + } else { + this.newVertexType.null_values.customized = []; + } + } else { + if (flag) { + this.newEdgeType.null_values.customized = ['']; + } else { + this.newEdgeType.null_values.customized = []; + } + } + } else { + if (collection === 'vertex') { + if (flag) { + this.editedVertexMap!.null_values.customized = ['']; + } else { + this.editedVertexMap!.null_values.customized = []; + } + } else { + if (flag) { + this.editedEdgeMap!.null_values.customized = ['']; + } else { + this.editedEdgeMap!.null_values.customized = []; + } + } + } + } + + editCheckedNullValues( + type: 'new' | 'edit', + collection: 'vertex' | 'edge', + values: string[] + ) { + if (type === 'new') { + if (collection === 'vertex') { + this.newVertexType.null_values.checked = values; + } else { + this.newEdgeType.null_values.checked = values; + } + } else { + if (collection === 'vertex') { + this.editedVertexMap!.null_values.checked = values; + } else { + this.editedEdgeMap!.null_values.checked = values; + } + } + } + + addCustomNullValues(type: 'new' | 'edit', collection: 'vertex' | 'edge') { + if (type === 'new') { + if (collection === 'vertex') { + this.newVertexType.null_values.customized.push(''); + } else { + this.newEdgeType.null_values.customized.push(''); + } + } else { + if (collection === 'vertex') { + this.editedVertexMap!.null_values.customized.push(''); + } else { + this.editedVertexMap!.null_values.customized.push(''); + } + } + } + + editCustomNullValues( + type: 'new' | 'edit', + collection: 'vertex' | 'edge', + value: string, + nullValueIndex: number + ) { + if (type === 'new') { + if (collection === 'vertex') { + this.newVertexType.null_values.customized[nullValueIndex] = value; + } else { + this.newEdgeType.null_values.customized[nullValueIndex] = value; + } + } else { + if (collection === 'vertex') { + this.editedVertexMap!.null_values.customized[nullValueIndex] = value; + } else { + this.editedEdgeMap!.null_values.customized[nullValueIndex] = value; + } + } + } + + @action + addVertexValueMapping(type: 'new' | 'edit') { + const newValueMapping = { + column_name: '', + values: [ + { + column_value: '', + mapped_value: '' + } + ] + }; + + if (type === 'new') { + this.newVertexType.value_mapping.push(newValueMapping); + } else { + this.editedVertexMap!.value_mapping.push(newValueMapping); + } + } + + @action + addEdgeValueMapping(type: 'new' | 'edit') { + const newValueMapping = { + column_name: '', + values: [ + { + column_value: '', + mapped_value: '' + } + ] + }; + + if (type === 'new') { + this.newEdgeType.value_mapping.push(newValueMapping); + } else { + this.editedEdgeMap!.value_mapping.push(newValueMapping); + } + } + + @action + addVertexValueMappingValue(type: 'new' | 'edit', vertexMapIndex: number) { + const newValue = { + column_value: '', + mapped_value: '' + }; + + if (type === 'new') { + this.newVertexType.value_mapping[vertexMapIndex].values.push(newValue); + } else { + this.editedVertexMap!.value_mapping[vertexMapIndex].values.push(newValue); + } + } + + @action + addEdgeValueMappingValue(type: 'new' | 'edit', vertexMapIndex: number) { + const newValue = { + column_value: '', + mapped_value: '' + }; + + if (type === 'new') { + this.newEdgeType.value_mapping[vertexMapIndex].values.push(newValue); + } else { + this.editedEdgeMap!.value_mapping[vertexMapIndex].values.push(newValue); + } + } + + @action + editVertexValueMappingColumnName( + type: 'new' | 'edit', + value: string, + valueMapIndex: number + ) { + if (type === 'new') { + this.newVertexType.value_mapping[valueMapIndex].column_name = value; + } else { + this.editedVertexMap!.value_mapping[valueMapIndex].column_name = value; + } + } + + @action + editEdgeValueMappingColumnName( + type: 'new' | 'edit', + value: string, + valueMapIndex: number + ) { + if (type === 'new') { + this.newEdgeType.value_mapping[valueMapIndex].column_name = value; + } else { + this.editedEdgeMap!.value_mapping[valueMapIndex].column_name = value; + } + } + + @action + editVertexValueMappingColumnValueName( + type: 'new' | 'edit', + field: 'column_value' | 'mapped_value', + value: string, + valueMapIndex: number, + valueIndex: number + ) { + if (type === 'new') { + this.newVertexType.value_mapping[valueMapIndex].values[valueIndex][ + field + ] = value; + } else { + this.editedVertexMap!.value_mapping[valueMapIndex].values[valueIndex][ + field + ] = value; + } + } + + @action + editEdgeValueMappingColumnValueName( + type: 'new' | 'edit', + field: 'column_value' | 'mapped_value', + value: string, + valueMapIndex: number, + valueIndex: number + ) { + if (type === 'new') { + this.newEdgeType.value_mapping[valueMapIndex].values[valueIndex][ + field + ] = value; + } else { + this.editedEdgeMap!.value_mapping[valueMapIndex].values[valueIndex][ + field + ] = value; + } + } + + @action + removeVertexValueMapping(type: 'new' | 'edit', valueMapIndex: number) { + if (type === 'new') { + remove( + this.newVertexType.value_mapping, + (_, index) => index === valueMapIndex + ); + } else { + remove( + this.editedVertexMap!.value_mapping, + (_, index) => index === valueMapIndex + ); + } + } + + @action + removeEdgeValueMapping(type: 'new' | 'edit', valueMapIndex: number) { + if (type === 'new') { + remove( + this.newEdgeType.value_mapping, + (_, index) => index === valueMapIndex + ); + } else { + remove( + this.editedEdgeMap!.value_mapping, + (_, index) => index === valueMapIndex + ); + } + } + + @action + removeVertexValueMappingValue( + type: 'new' | 'edit', + valueMapIndex: number, + valueIndex: number + ) { + if (type === 'new') { + remove( + this.newVertexType.value_mapping[valueMapIndex].values, + (_, index) => index === valueIndex + ); + } else { + remove( + this.editedVertexMap!.value_mapping[valueMapIndex].values, + (_, index) => index === valueIndex + ); + } + } + + @action + removeEdgeValueMappingValue( + type: 'new' | 'edit', + valueMapIndex: number, + valueIndex: number + ) { + if (type === 'new') { + remove( + this.newEdgeType.value_mapping[valueMapIndex].values, + (_, index) => index === valueIndex + ); + } else { + remove( + this.editedEdgeMap!.value_mapping[valueMapIndex].values, + (_, index) => index === valueIndex + ); + } + } + + @action + resetNewMap(newMap: 'vertex' | 'edge') { + if (newMap === 'vertex') { + this.newVertexType = createNewVertexType(); + } else { + this.newEdgeType = createNewEdgeType(); + } + } + + @action + resetEditMapping(editMapping: 'vertex' | 'edge') { + if (editMapping === 'vertex') { + this.editedVertexMap = createNewVertexType(); + } else { + this.editedEdgeMap = createNewEdgeType(); + } + } + + @action + validateFileInfo( + category: 'delimiter' | 'charset' | 'date_format' | 'skipped_line' + ) { + if (this.selectedFileInfo?.file_setting[category] === '') { + this.validateFileInfoErrorMessage[category] = i18next.t( + 'addition.store.cannot-be-empty1' + ); + return; + } + + if (category === 'date_format') { + const date_format = this.selectedFileInfo!.file_setting.date_format; + + if ( + date_format === 'yyyy-MM-dd' || + date_format === 'yyyy-MM-dd HH:mm:ss' || + date_format === 'yyyy-MM-dd HH:mm:ss.SSS' + ) { + this.validateFileInfoErrorMessage.date_format = ''; + return; + } + + if ( + !validateGraphProperty( + 'DATE', + // hack + this.selectedFileInfo!.file_setting.date_format.replace(/\w/g, '1') + ) + ) { + this.validateFileInfoErrorMessage.date_format = i18next.t( + 'addition.store.incorrect-time-format' + ); + return; + } + } + + this.validateFileInfoErrorMessage[category] = ''; + } + + @action + validateValueMapping( + type: 'vertex' | 'edge', + status: 'new' | 'edit', + category: 'null_values' | 'value_mappings', + optionIndex: number, + valueMapOptions?: { + field: 'column_name' | 'column_value' | 'mapped_value'; + valueIndex?: number; + } + ) { + let mapping; + + if (type === 'vertex') { + mapping = status === 'new' ? this.newVertexType : this.editedVertexMap; + } else { + mapping = status === 'new' ? this.newEdgeType : this.editedEdgeMap; + } + + if (category === 'null_values') { + const value = mapping!.null_values.customized[optionIndex]; + + if (isEmpty(value)) { + this.validateAdvanceConfigErrorMessage.null_values[ + optionIndex + ] = i18next.t('data-configs.validator.no-empty'); + } else { + this.validateAdvanceConfigErrorMessage.null_values[optionIndex] = ''; + } + } + + if (category === 'value_mappings') { + const { column_name, values } = mapping!.value_mapping[optionIndex]; + + if (valueMapOptions?.field === 'column_name') { + this.validateAdvanceConfigErrorMessage.value_mapping[ + optionIndex + ].column_name = isEmpty(column_name) + ? i18next.t('data-configs.validator.no-empty') + : ''; + } else { + const { column_value, mapped_value } = values[ + valueMapOptions?.valueIndex! + ]; + + if (valueMapOptions?.field === 'column_value') { + this.validateAdvanceConfigErrorMessage.value_mapping[ + optionIndex + ].values[valueMapOptions!.valueIndex!].column_value = isEmpty( + column_value + ) + ? i18next.t('data-configs.validator.no-empty') + : ''; + } + + if (valueMapOptions?.field === 'mapped_value') { + this.validateAdvanceConfigErrorMessage.value_mapping[ + optionIndex + ].values[valueMapOptions!.valueIndex!].mapped_value = isEmpty( + mapped_value + ) + ? i18next.t('data-configs.validator.no-empty') + : ''; + } + } + } + } + + @action + addValidateValueMappingOption( + category: 'null_values' | 'value_mappings' | 'value_mappings_value', + valueMapIndex?: number + ) { + if (category === 'null_values') { + this.validateAdvanceConfigErrorMessage.null_values.push(''); + } + + if (category === 'value_mappings') { + this.validateAdvanceConfigErrorMessage.value_mapping.push({ + column_name: '', + values: [ + { + column_value: '', + mapped_value: '' + } + ] + }); + } + + if (category === 'value_mappings_value') { + this.validateAdvanceConfigErrorMessage.value_mapping[ + valueMapIndex! + ].values.push({ + column_value: '', + mapped_value: '' + }); + } + } + + @action + syncValidateNullAndValueMappings(type: 'vertex' | 'edge') { + const { null_values, value_mapping } = + type === 'vertex' ? this.editedVertexMap! : this.editedEdgeMap!; + + null_values.customized.forEach(() => { + this.validateAdvanceConfigErrorMessage.null_values.push(''); + }); + + value_mapping.forEach(({ values }) => { + this.validateAdvanceConfigErrorMessage.value_mapping.push({ + column_name: '', + values: values.map(() => ({ + column_value: '', + mapped_value: '' + })) + }); + }); + } + + @action + removeValidateValueMappingOption( + type: 'vertex' | 'edge', + status: 'new' | 'edit', + category: 'null_values' | 'value_mappings' | 'value_mappings_value', + optionIndex: number, + valueMappingValueIndex?: number + ) { + let mapping; + + if (type === 'vertex') { + mapping = status === 'new' ? this.newVertexType : this.editedVertexMap; + } else { + mapping = status === 'new' ? this.newEdgeType : this.editedEdgeMap; + } + + if (category === 'null_values') { + remove( + this.validateAdvanceConfigErrorMessage.null_values, + (_, index) => index === optionIndex + ); + } + + if (category === 'value_mappings') { + remove( + this.validateAdvanceConfigErrorMessage.value_mapping, + (_, index) => index === optionIndex + ); + } + + if (category === 'value_mappings_value') { + remove( + this.validateAdvanceConfigErrorMessage.value_mapping[optionIndex] + .values, + (_, index) => index === valueMappingValueIndex + ); + } + } + + @action + allowAddPropertyMapping(type: 'vertex' | 'edge') { + let valueMapping; + + if (type === 'vertex') { + valueMapping = this.isExpandTypeConfig + ? this.editedVertexMap!.value_mapping + : this.newVertexType.value_mapping; + } else { + valueMapping = this.isExpandTypeConfig + ? this.editedEdgeMap!.value_mapping + : this.newEdgeType.value_mapping; + } + + return valueMapping.every((_, valueMapIndex) => + this.allowAddPropertyValueMapping(type, valueMapIndex) + ); + } + + @action + allowAddPropertyValueMapping(type: 'vertex' | 'edge', valueMapIndex: number) { + let currentValueMapping; + + if (type === 'vertex') { + currentValueMapping = this.isExpandTypeConfig + ? this.editedVertexMap!.value_mapping + : this.newVertexType.value_mapping; + } else { + currentValueMapping = this.isExpandTypeConfig + ? this.editedEdgeMap!.value_mapping + : this.newEdgeType.value_mapping; + } + + // when status is edit, init currentValueMapping is empty + // it's weired that TS has no error in destruction below + // where column_name or values could be undefined + // if (isEmpty(currentValueMapping[valueMapIndex])) { + // return true; + // } + + const { column_name, values } = currentValueMapping[valueMapIndex]; + + return ( + !isEmpty(column_name) && + values.every( + ({ column_value, mapped_value }) => + !isEmpty(column_value) && !isEmpty(mapped_value) + ) && + this.validateAdvanceConfigErrorMessage.value_mapping[ + valueMapIndex + ].values.every( + ({ column_value, mapped_value }) => + isEmpty(column_value) && isEmpty(mapped_value) + ) + ); + } + + @action + resetValidateFileInfoErrorMessage() { + this.validateFileInfoErrorMessage = createValidateFileInfoErrorMessage(); + } + + @action + resetValidateValueMapping(category: 'null_values' | 'value_mapping' | 'all') { + switch (category) { + case 'null_values': + case 'value_mapping': + this.validateAdvanceConfigErrorMessage[category] = []; + return; + case 'all': + this.validateAdvanceConfigErrorMessage = createValidateAdvanceConfigErrorMessage(); + return; + } + } + + @action + resetDataMaps() { + this.isExpandTypeConfig = false; + this.isAddNewTypeConfig = false; + + this.newVertexType = createNewVertexType(); + this.editedVertexMap = null; + + this.newEdgeType = createNewEdgeType(); + this.editedEdgeMap = null; + + this.validateFileInfoErrorMessage = createValidateFileInfoErrorMessage(); + this.validateAdvanceConfigErrorMessage = createValidateAdvanceConfigErrorMessage(); + + this.requestStatus = initRequestStatus(); + this.errorInfo = initErrorInfo(); + } + + @action + dispose() { + this.resetDataMaps(); + + this.readOnly = false; + this.lock = false; + this.isIrregularProcess = false; + this.isExpandFileConfig = true; + this.fileMapInfos = []; + this.preFetchedFileMapInfos = []; + this.selectedFileId = NaN; + this.selectedFileInfo = null; + } + + fetchDataMaps = flow(function* fetchDataMaps(this: DataMapStore) { + this.requestStatus.fetchDataMaps = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings`, + { + params: { + page_size: -1 + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchDataMaps.code = result.data.status; + throw new Error(result.data.message); + } + + this.fileMapInfos = result.data.data.records; + this.requestStatus.fetchDataMaps = 'success'; + } catch (error) { + this.requestStatus.fetchDataMaps = 'failed'; + this.errorInfo.fetchDataMaps.message = error.message; + console.error(error.message); + } + }); + + updateFileConfig = flow(function* updateFileConfig( + this: DataMapStore, + fileId: number + ) { + this.requestStatus.updateFileConfig = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/file-setting`, + this.selectedFileInfo?.file_setting + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.updateFileConfig.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedFileInfo!.file_setting = result.data.data.file_setting; + this.requestStatus.updateFileConfig = 'success'; + } catch (error) { + this.requestStatus.updateFileConfig = 'failed'; + this.errorInfo.updateFileConfig.message = error.message; + console.error(error.message); + } + }); + + updateVertexMap = flow(function* updateVertexMap( + this: DataMapStore, + method: 'add' | 'upgrade' | 'delete', + fileId: number + ) { + this.requestStatus.updateVertexMap = 'pending'; + + try { + let result: AxiosResponse>; + + switch (method) { + case 'add': { + const newVertexType = cloneDeep(this.newVertexType); + + if ( + newVertexType.null_values.checked.includes('NULL') && + !newVertexType.null_values.checked.includes('null') + ) { + newVertexType.null_values.checked.push('null'); + } + + result = yield axios + .post( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings`, + newVertexType + ) + .catch(checkIfLocalNetworkOffline); + break; + } + case 'upgrade': { + const editedVertexMap = cloneDeep(this.editedVertexMap); + + if ( + editedVertexMap!.null_values.checked.includes('NULL') && + !editedVertexMap!.null_values.checked.includes('null') + ) { + editedVertexMap!.null_values.checked.push('null'); + } + + result = yield axios + .put( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings/${this.editedVertexMap?.id}`, + editedVertexMap + ) + .catch(checkIfLocalNetworkOffline); + break; + } + case 'delete': + result = yield axios + .delete( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/vertex-mappings/${this.editedVertexMap?.id}` + ) + .catch(checkIfLocalNetworkOffline); + break; + } + + if (result.data.status !== 200) { + this.errorInfo.updateVertexMap.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedFileInfo!.vertex_mappings = result.data.data.vertex_mappings; + this.requestStatus.updateVertexMap = 'success'; + } catch (error) { + this.requestStatus.updateVertexMap = 'failed'; + this.errorInfo.updateVertexMap.message = error.message; + console.error(error.message); + } + }); + + updateEdgeMap = flow(function* updateEdgeMap( + this: DataMapStore, + method: 'add' | 'upgrade' | 'delete', + fileId: number + ) { + this.requestStatus.updateEdgeMap = 'pending'; + + try { + let result: AxiosResponse>; + + switch (method) { + case 'add': { + const newEdgeType = cloneDeep(this.newEdgeType); + + if ( + newEdgeType.null_values.checked.includes('NULL') && + !newEdgeType.null_values.checked.includes('null') + ) { + newEdgeType.null_values.checked.push('null'); + } + + result = yield axios + .post( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings`, + newEdgeType + ) + .catch(checkIfLocalNetworkOffline); + break; + } + case 'upgrade': { + const editedEdgeMap = cloneDeep(this.editedEdgeMap); + + if ( + editedEdgeMap!.null_values.checked.includes('NULL') && + !editedEdgeMap!.null_values.checked.includes('null') + ) { + editedEdgeMap!.null_values.checked.push('null'); + } + + result = yield axios + .put( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings/${this.editedEdgeMap?.id}`, + this.editedEdgeMap + ) + .catch(checkIfLocalNetworkOffline); + break; + } + case 'delete': + result = yield axios + .delete( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/${fileId}/edge-mappings/${this.editedEdgeMap?.id}` + ) + .catch(checkIfLocalNetworkOffline); + break; + } + + if (result.data.status !== 200) { + this.errorInfo.updateEdgeMap.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedFileInfo!.edge_mappings = result.data.data.edge_mappings; + this.requestStatus.updateEdgeMap = 'success'; + } catch (error) { + this.requestStatus.updateEdgeMap = 'failed'; + this.errorInfo.updateEdgeMap.message = error.message; + console.error(error.message); + } + }); + + deleteVertexMap = flow(function* deleteVertexMap( + this: DataMapStore, + mapIndex: number + ) { + this.requestStatus.deleteVertexMap = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ + this.dataImportRootStore.currentJobId + }/file-mappings/${this.selectedFileInfo!.id}/vertex-mappings/${ + this.selectedFileInfo?.vertex_mappings[mapIndex].id + }` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteVertexMap.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedFileInfo!.vertex_mappings = result.data.data.vertex_mappings; + this.requestStatus.deleteVertexMap = 'success'; + } catch (error) { + this.requestStatus.deleteVertexMap = 'failed'; + this.errorInfo.deleteVertexMap.message = error.message; + console.error(error.message); + } + }); + + deleteEdgeMap = flow(function* deleteEdgeMap( + this: DataMapStore, + mapIndex: number + ) { + this.requestStatus.deleteEdgeMap = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ + this.dataImportRootStore.currentJobId + }/file-mappings/${this.selectedFileInfo!.id}/edge-mappings/${ + this.selectedFileInfo?.edge_mappings[mapIndex].id + }` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteEdgeMap.code = result.data.status; + throw new Error(result.data.message); + } + + this.selectedFileInfo!.edge_mappings = result.data.data.edge_mappings; + this.requestStatus.deleteEdgeMap = 'success'; + } catch (error) { + this.requestStatus.deleteEdgeMap = 'failed'; + this.errorInfo.deleteEdgeMap.message = error.message; + console.error(error.message); + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts new file mode 100644 index 000000000..c25c2f4ff --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/dataImportStore/serverDataImportStore.ts @@ -0,0 +1,516 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { size, isUndefined } from 'lodash-es'; +import isInt from 'validator/lib/isInt'; + +import { DataImportRootStore } from './dataImportRootStore'; +import i18next from '../../../i18n'; +import { baseUrl, responseData } from '../../types/common'; +import { + LoadParameter, + ImportTasks, + AllImportTasksRecords +} from '../../types/GraphManagementStore/dataImportStore'; +import { + initRequestStatus, + initErrorInfo, + createValidateFileInfoErrorMessage +} from '../../../stores/factory/dataImportStore/serverDataImportStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +export class ServerDataImportStore { + dataImportRootStore: DataImportRootStore; + + constructor(dataImportRootStore: DataImportRootStore) { + this.dataImportRootStore = dataImportRootStore; + } + + @observable requestStatus = initRequestStatus(); + @observable errorInfo = initErrorInfo(); + + // v1.3.1 + @observable readOnly = false; + @observable importConfigReadOnly = false; + @observable isIrregularProcess = false; + + @observable isExpandImportConfig = true; + @observable isImporting = false; + @observable isImportFinished = false; + @observable importConfigs: LoadParameter | null = null; + @observable + validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); + + @observable importTasks: ImportTasks[] = []; + @observable.ref fileImportTaskIds: number[] = []; + @observable errorLogs = ''; + + @computed get isServerStartImport() { + return this.requestStatus.startImport !== 'standby'; + } + + @computed get successImportFileStatusNumber() { + return size(this.importTasks.filter(({ status }) => status === 'SUCCEED')); + } + + @computed get pausedImportFileNumber() { + return size(this.importTasks.filter(({ status }) => status === 'PAUSED')); + } + + @computed get abortImportFileNumber() { + return size(this.importTasks.filter(({ status }) => status === 'STOPPED')); + } + + @action + switchReadOnly(isReadOnly: boolean) { + this.readOnly = isReadOnly; + } + + @action + switchImportConfigReadOnly(isReadOnly: boolean) { + this.importConfigReadOnly = isReadOnly; + } + + @action + switchIrregularProcess(flag: boolean) { + this.isIrregularProcess = flag; + } + + @action + switchExpandImportConfig(flag: boolean) { + this.isExpandImportConfig = flag; + } + + @action + switchImporting(flag: boolean) { + this.isImporting = flag; + } + + @action + switchImportFinished(flag: boolean) { + this.isImportFinished = flag; + } + + @action + switchFetchImportStatus(status: string) { + this.requestStatus.fetchImportTasks = status; + } + + @action + syncImportConfigs(configs: LoadParameter) { + this.importConfigs = configs; + } + + @action + mutateImportConfigs( + key: T, + value: LoadParameter[T] + ) { + this.importConfigs![key] = value; + } + + @action + validateImportConfigs(key: keyof LoadParameter) { + switch (key) { + case 'max_parse_errors': + case 'max_insert_errors': + if (this.importConfigs![key] === '') { + this.validateImportConfigErrorMessage[key] = i18next.t( + 'server-data-import.validator.no-empty' + ); + + return; + } else if ( + !isInt(String(this.importConfigs![key]), { min: -1 }) || + String(Number(this.importConfigs![key])) === '0' + ) { + this.validateImportConfigErrorMessage[key] = i18next.t( + 'server-data-import.validator.need-integer-with-negative' + ); + + return; + } + + break; + case 'insert_timeout': + case 'retry_interval': + case 'retry_times': + if (this.importConfigs![key] === '') { + this.validateImportConfigErrorMessage[key] = i18next.t( + 'server-data-import.validator.no-empty' + ); + + return; + } else if (!isInt(String(this.importConfigs![key]), { min: 1 })) { + this.validateImportConfigErrorMessage[key] = i18next.t( + 'server-data-import.validator.need-integer' + ); + + return; + } + + break; + } + + this.validateImportConfigErrorMessage[key] = ''; + } + + @action + resetValidateImportConfigs() { + this.validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); + } + + @action + resetImportTasks() { + this.importTasks = []; + } + + @action + dispose() { + this.readOnly = false; + this.importConfigReadOnly = false; + this.isIrregularProcess = false; + this.requestStatus = initRequestStatus(); + this.errorInfo = initErrorInfo(); + this.errorLogs = ''; + this.isExpandImportConfig = true; + this.isImporting = false; + this.isImportFinished = false; + this.importConfigs = null; + this.importTasks = []; + this.fileImportTaskIds = []; + this.validateImportConfigErrorMessage = createValidateFileInfoErrorMessage(); + } + + fetchImportTasks = flow(function* fetchImportTasks( + this: ServerDataImportStore, + taskIds: number[] + ) { + this.requestStatus.fetchImportTasks = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ + this.dataImportRootStore.currentJobId + }/load-tasks/ids?${taskIds.map((id) => 'task_ids=' + id).join('&')}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchImportTasks.code = result.data.status; + throw new Error(result.data.message); + } + + this.importTasks = result.data.data; + + if (!this.importTasks.some(({ status }) => status === 'RUNNING')) { + this.switchFetchImportStatus('pending'); + this.switchImporting(false); + this.switchImportFinished(true); + } + + this.requestStatus.fetchImportTasks = 'success'; + } catch (error) { + this.requestStatus.fetchImportTasks = 'failed'; + this.errorInfo.fetchImportTasks.message = error.message; + console.error(error.message); + } + }); + + fetchAllImportTasks = flow(function* fetchAllImportTasks( + this: ServerDataImportStore + ) { + this.requestStatus.fetchImportTasks = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchImportTasks.code = result.data.status; + throw new Error(result.data.message); + } + + this.importTasks = result.data.data.records; + + if (!this.importTasks.some(({ status }) => status === 'RUNNING')) { + this.switchFetchImportStatus('pending'); + this.switchImporting(false); + this.switchImportFinished(true); + } + + this.requestStatus.fetchImportTasks = 'success'; + } catch (error) { + this.requestStatus.fetchImportTasks = 'failed'; + this.errorInfo.fetchImportTasks.message = error.message; + console.error(error.message); + } + }); + + setConfigParams = flow(function* setConfigParams( + this: ServerDataImportStore + ) { + this.requestStatus.setConfigParams = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/file-mappings/load-parameter`, + this.importConfigs + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.setConfigParams.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.setConfigParams = 'success'; + } catch (error) { + this.requestStatus.setConfigParams = 'failed'; + this.errorInfo.setConfigParams.message = error.message; + console.error(error.message); + } + }); + + startImport = flow(function* startImport( + this: ServerDataImportStore, + fileIds: number[] + ) { + this.requestStatus.startImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${ + this.dataImportRootStore.currentJobId + }/load-tasks/start?${fileIds + .map((id) => 'file_mapping_ids=' + id) + .join('&')}`, + {} + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.startImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.fileImportTaskIds = result.data.data.map(({ id }) => id); + this.requestStatus.startImport = 'success'; + } catch (error) { + this.requestStatus.startImport = 'failed'; + this.errorInfo.startImport.message = error.message; + console.error(error.message); + } + }); + + pauseImport = flow(function* pauseImport( + this: ServerDataImportStore, + taskId: number + ) { + this.requestStatus.pauseImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/pause`, + {}, + { + params: { + task_id: taskId + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.pauseImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.pauseImport = 'success'; + } catch (error) { + this.requestStatus.pauseImport = 'failed'; + this.errorInfo.pauseImport.message = error.message; + console.error(error.message); + } + }); + + resumeImport = flow(function* resumeImport( + this: ServerDataImportStore, + taskId: number + ) { + this.requestStatus.resumeImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/resume`, + {}, + { + params: { + task_id: taskId + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.resumeImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.resumeImport = 'success'; + } catch (error) { + this.requestStatus.resumeImport = 'failed'; + this.errorInfo.resumeImport.message = error.message; + console.error(error.message); + } + }); + + abortImport = flow(function* abortImport( + this: ServerDataImportStore, + taskId: number + ) { + this.requestStatus.abortImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/stop`, + {}, + { + params: { + task_id: taskId + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.abortImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.abortImport = 'success'; + } catch (error) { + this.requestStatus.abortImport = 'failed'; + this.errorInfo.abortImport.message = error.message; + console.error(error.message); + } + }); + + retryImport = flow(function* retryImport( + this: ServerDataImportStore, + taskId: number + ) { + this.requestStatus.retryImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/retry`, + {}, + { + params: { + task_id: taskId + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.retryImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.retryImport = 'success'; + } catch (error) { + this.requestStatus.retryImport = 'failed'; + this.errorInfo.retryImport.message = error.message; + console.error(error.message); + } + }); + + deleteTaskImport = flow(function* deleteTaskImport( + this: ServerDataImportStore, + taskId: number + ) { + this.requestStatus.deleteTaskImport = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete>( + `${baseUrl}/${this.dataImportRootStore.currentId}/job-manager/${this.dataImportRootStore.currentJobId}/load-tasks/${taskId}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.deleteTaskImport.code = result.data.status; + throw new Error(result.data.message); + } + + this.requestStatus.deleteTaskImport = 'success'; + } catch (error) { + this.requestStatus.deleteTaskImport = 'failed'; + this.errorInfo.deleteTaskImport.message = error.message; + console.error(error.message); + } + }); + + checkErrorLogs = flow(function* checkErrorLogs( + this: ServerDataImportStore, + id: number, + jobId: number, + taskId: number + ) { + this.requestStatus.checkErrorLogs = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .get>( + `${baseUrl}/${id}/job-manager/${jobId}/load-tasks/${taskId}/reason` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.checkErrorLogs.code = result.data.status; + throw new Error(result.data.message); + } + + this.errorLogs = result.data.data; + this.requestStatus.checkErrorLogs = 'success'; + } catch (error) { + this.requestStatus.checkErrorLogs = 'failed'; + this.errorInfo.checkErrorLogs.message = error.message; + console.error(error.message); + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/graphManagementStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/graphManagementStore.ts new file mode 100644 index 000000000..d22e5e782 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/graphManagementStore.ts @@ -0,0 +1,571 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; + +import { baseUrl, responseData } from '../types/common'; +import { + LincenseInfo, + GraphData, + GraphDataConfig, + GraphDataPageConfig, + GraphDataResponse +} from '../types/GraphManagementStore/graphManagementStore'; +import i18next from '../../i18n'; + +export class GraphManagementStore { + [key: string]: any; + + // display create new graph layout + @observable showCreateNewGraph = false; + + // display delete modal after dropdown click in GraphList + @observable showDeleteModal = false; + + // disable all other buttons except from the current new/edit layout + @observable selectedEditIndex: number | null = null; + + // values from the Search component + @observable searchWords = ''; + + @observable errorInfo = { + fetchLicenseInfo: { + code: NaN, + message: '' + }, + fetchIdList: { + code: NaN, + message: '' + }, + fetchGraphData: { + code: NaN, + message: '' + }, + AddGraphData: { + code: NaN, + message: '' + }, + upgradeGraphData: { + code: NaN, + message: '' + }, + deleteGraphData: { + code: NaN, + message: '' + } + }; + + // searched results rather than initial fetched result + @observable.shallow isSearched = { + status: false, + value: '' + }; + + // is sidebar in graphdata details has expanded + @observable isExpanded = false; + + // is clicekd submit or save to validate + @observable isValidated = false; + + @observable.shallow requestStatus = { + fetchLicenseInfo: 'standby', + fetchIdList: 'standby', + fetchGraphData: 'standby', + AddGraphData: 'standby', + upgradeGraphData: 'standby', + deleteGraphData: 'standby' + }; + + @observable validateErrorMessage: Record = { + name: '', + graph: '', + host: '', + port: '', + usernameAndPassword: '' + }; + + @observable.shallow newGraphData: GraphDataConfig = { + name: '', + graph: '', + host: '', + port: '', + username: '', + password: '' + }; + + @observable.shallow editGraphData: GraphDataConfig = { + name: '', + graph: '', + host: '', + port: '', + username: '', + password: '' + }; + + @observable.ref idList: { id: number; name: string }[] = []; + @observable.ref graphData: GraphData[] = []; + @observable.ref licenseInfo: LincenseInfo | null = null; + + @observable.shallow graphDataPageConfig: GraphDataPageConfig = { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + }; + + @action + dispose() { + this.showCreateNewGraph = false; + this.showDeleteModal = false; + this.selectedEditIndex = null; + this.searchWords = ''; + this.isSearched = { + status: false, + value: '' + }; + this.isValidated = false; + this.isExpanded = false; + this.requestStatus = { + fetchLicenseInfo: 'standby', + fetchIdList: 'standby', + fetchGraphData: 'standby', + AddGraphData: 'standby', + upgradeGraphData: 'standby', + deleteGraphData: 'standby' + }; + this.graphData = []; + this.graphDataPageConfig = { + pageNumber: 1, + pageSize: 10, + pageTotal: 0 + }; + this.resetGraphDataConfig('new'); + this.resetGraphDataConfig('edit'); + this.resetErrorInfo(); + this.resetValidateErrorMessage(); + } + + @action + switchCreateNewGraph(flag: boolean) { + this.showCreateNewGraph = flag; + } + + @action + switchDeleteModal(flag: boolean) { + this.showDeleteModal = flag; + } + + @action + switchExpanded(flag: boolean) { + this.isExpanded = flag; + } + + @action + changeSelectedEditIndex(index: number | null) { + this.selectedEditIndex = index; + } + + @action + mutateSearchWords(text: string) { + this.searchWords = text; + } + + @action + mutateGraphDataConfig(key: string, type: 'new' | 'edit') { + return (eventTarget: HTMLInputElement) => { + this.isValidated = false; + + if (type === 'new') { + this.newGraphData[key] = eventTarget.value; + } + + if (type === 'edit') { + this.editGraphData[key] = eventTarget.value; + } + }; + } + + @action + swtichIsSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchWords) + : (this.isSearched.value = ''); + } + + @action + fillInGraphDataConfig(index: number) { + this.editGraphData.id = String(this.graphData[index].id); + this.editGraphData.name = this.graphData[index].name; + this.editGraphData.graph = this.graphData[index].graph; + this.editGraphData.host = this.graphData[index].host; + this.editGraphData.port = String(this.graphData[index].port); + this.editGraphData.username = this.graphData[index].username; + this.editGraphData.password = this.graphData[index].password; + } + + @action + fillInGraphDataDefaultConfig() { + this.newGraphData.name = 'test'; + this.newGraphData.graph = 'hugegraph'; + this.newGraphData.host = '0.0.0.0'; + this.newGraphData.port = '8080'; + } + + @action + resetGraphDataConfig(type: 'new' | 'edit') { + if (type === 'new') { + Object.keys(this.newGraphData).forEach((key) => { + this.newGraphData[key] = ''; + }); + } + + if (type === 'edit') { + Object.keys(this.newGraphData).forEach((key) => { + this.editGraphData[key] = ''; + }); + } + } + + @action + mutatePageNumber(pageNumber: number) { + this.graphDataPageConfig.pageNumber = pageNumber; + } + + @action + validate(type: 'new' | 'edit') { + const nameReg = /^[A-Za-z]\w{0,47}$/; + const hostReg = /((\d{1,3}\.){3}\d{1,3}|([\w!~*'()-]+\.)*[\w!~*'()-]+)$/; + const portReg = /^([1-9]|[1-9]\d{1}|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/; + const dataName = type + 'GraphData'; + let readyToSubmit = true; + + this.resetValidateErrorMessage(); + + if (!nameReg.test(this[dataName].name)) { + this[dataName].name.length === 0 + ? (this.validateErrorMessage.name = i18next.t( + 'addition.store.required' + )) + : (this.validateErrorMessage.name = i18next.t( + 'addition.store.no-match-input-requirements' + )); + readyToSubmit = false; + } + + if (!nameReg.test(this[dataName].graph)) { + this[dataName].graph.length === 0 + ? (this.validateErrorMessage.graph = i18next.t( + 'addition.store.required' + )) + : (this.validateErrorMessage.graph = i18next.t( + 'addition.store.no-match-input-requirements' + )); + readyToSubmit = false; + } + + if (!hostReg.test(this[dataName].host)) { + this[dataName].host.length === 0 + ? (this.validateErrorMessage.host = i18next.t( + 'addition.store.required' + )) + : (this.validateErrorMessage.host = i18next.t('addition.store.rule1')); + readyToSubmit = false; + } + + if (!portReg.test(this[dataName].port)) { + this[dataName].port.length === 0 + ? (this.validateErrorMessage.port = i18next.t( + 'addition.store.required' + )) + : (this.validateErrorMessage.port = i18next.t('addition.store.rule2')); + readyToSubmit = false; + } + + if ( + dataName === 'newGraphData' && + ((this[dataName].username.length !== 0 && + this[dataName].password.length === 0) || + (this[dataName].username.length === 0 && + this[dataName].password.length !== 0)) + ) { + this.validateErrorMessage.usernameAndPassword = i18next.t( + 'addition.store.rule3' + ); + readyToSubmit = false; + } + + return readyToSubmit; + } + + @action + switchValidateStatus(flag: boolean) { + this.isValidated = flag; + } + + @action + resetErrorInfo() { + this.errorInfo = { + fetchLicenseInfo: { + code: NaN, + message: '' + }, + fetchIdList: { + code: NaN, + message: '' + }, + fetchGraphData: { + code: NaN, + message: '' + }, + AddGraphData: { + code: NaN, + message: '' + }, + upgradeGraphData: { + code: NaN, + message: '' + }, + deleteGraphData: { + code: NaN, + message: '' + } + }; + } + + @action + resetValidateErrorMessage() { + Object.keys(this.validateErrorMessage).forEach((key) => { + this.validateErrorMessage[key] = ''; + }); + } + + fetchLicenseInfo = flow(function* fetchLicenseInfo( + this: GraphManagementStore + ) { + this.resetErrorInfo(); + this.requestStatus.fetchLicenseInfo = 'pending'; + + try { + const result: AxiosResponse> = yield axios.get( + '/about' + ); + + if (result.data.status !== 200) { + this.errorInfo.fetchLicenseInfo.code = result.data.status; + throw new Error(result.data.message); + } + + this.licenseInfo = result.data.data; + } catch (error) { + this.requestStatus.fetchLicenseInfo = 'failed'; + this.errorInfo.fetchLicenseInfo.message = error.message; + console.error(error.message); + } + }); + + fetchIdList = flow(function* fetchIdList(this: GraphManagementStore) { + this.resetErrorInfo(); + this.requestStatus.fetchIdList = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + GraphData + >(baseUrl, { + params: { + page_size: -1 + } + }); + + if (result.data.status === 200 || result.data.status === 401) { + if (result.data.status === 200) { + this.requestStatus.fetchIdList = 'success'; + } + + this.idList = result.data.data.records.map(({ id, name }) => ({ + id, + name + })); + + this.graphData = result.data.data.records; + this.graphDataPageConfig.pageTotal = result.data.data.total; + } + + if (result.data.status !== 200) { + this.errorInfo.fetchIdList.code = result.data.status; + throw new Error(result.data.message); + } + } catch (error) { + this.requestStatus.fetchIdList = 'failed'; + this.errorInfo.fetchIdList.message = error.message; + console.error(error.message); + } + }); + + fetchGraphDataList = flow(function* fetchGraphDataList( + this: GraphManagementStore + ) { + this.resetErrorInfo(); + const url = + `${baseUrl}?page_no=${this.graphDataPageConfig.pageNumber}&page_size=${this.graphDataPageConfig.pageSize}` + + (this.isSearched.status && this.searchWords !== '' + ? `&content=${this.searchWords}` + : ''); + + this.requestStatus.fetchGraphData = 'pending'; + + try { + const result: AxiosResponse = yield axios.get< + GraphData + >(url); + + if (result.data.status === 200 || result.data.status === 401) { + if (result.data.status === 200) { + this.requestStatus.fetchGraphData = 'success'; + } + + this.graphData = result.data.data.records; + this.graphDataPageConfig.pageTotal = result.data.data.total; + } + + if (result.data.status !== 200) { + this.errorInfo.fetchGraphData.code = result.data.status; + throw new Error(result.data.message); + } + } catch (error) { + this.requestStatus.fetchGraphData = 'failed'; + this.errorInfo.fetchGraphData.message = error.message; + console.error(error.message); + } + }); + + AddGraphData = flow(function* AddGraphData(this: GraphManagementStore) { + this.resetErrorInfo(); + this.requestStatus.AddGraphData = 'pending'; + const filteredParams = filterParams(this.newGraphData); + + try { + const result: AxiosResponse = yield axios.post< + GraphDataResponse + >(baseUrl, filteredParams); + + if (result.data.status === 200 || result.data.status === 401) { + if (result.data.status === 200) { + this.requestStatus.AddGraphData = 'success'; + } + } + + if (result.data.status !== 200) { + this.errorInfo.AddGraphData.code = result.data.status; + throw new Error(result.data.message); + } + } catch (error) { + this.requestStatus.AddGraphData = 'failed'; + this.errorInfo.AddGraphData.message = error.message; + console.error(error.message); + } + }); + + upgradeGraphData = flow(function* upgradeGraphData( + this: GraphManagementStore, + id: number + ) { + this.resetErrorInfo(); + this.requestStatus.upgradeGraphData = 'pending'; + const filteredParams = filterParams(this.editGraphData); + + try { + const result: AxiosResponse = yield axios.put< + GraphDataResponse + >(`${baseUrl}/${id}`, filteredParams); + + if (result.data.status === 200 || result.data.status === 401) { + if (result.data.status === 200) { + this.requestStatus.upgradeGraphData = 'success'; + } + } + + if (result.data.status !== 200) { + this.errorInfo.upgradeGraphData.code = result.data.status; + throw new Error(result.data.message); + } + } catch (error) { + this.requestStatus.upgradeGraphData = 'failed'; + this.errorInfo.upgradeGraphData.message = error.message; + console.error(error.message); + } + }); + + deleteGraphData = flow(function* deleteGraphData( + this: GraphManagementStore, + id + ) { + this.resetErrorInfo(); + this.requestStatus.deleteGraphData = 'pending'; + + try { + const result: AxiosResponse = yield axios.delete< + GraphDataResponse + >(`${baseUrl}/${id}`); + + if (result.data.status === 200 || result.data.status === 401) { + if (result.data.status === 200) { + this.requestStatus.deleteGraphData = 'success'; + } + + // if current pageNumber has no data after delete, set the pageNumber to the previous + if ( + this.graphData.length === 1 && + this.graphDataPageConfig.pageNumber > 1 + ) { + this.graphDataPageConfig.pageNumber = + this.graphDataPageConfig.pageNumber - 1; + } + } + + if (result.data.status !== 200) { + this.errorInfo.deleteGraphData.code = result.data.status; + throw new Error(result.data.message); + } + } catch (error) { + this.requestStatus.deleteGraphData = 'failed'; + this.errorInfo.deleteGraphData.message = error.message; + console.error(error.message); + } + }); +} + +function filterParams(originParams: GraphDataConfig): GraphDataConfig { + const newParams = {} as GraphDataConfig; + + Object.keys(originParams).forEach((key) => { + const value = originParams[key]; + + if (typeof value !== 'undefined') { + newParams[key] = originParams[key]; + } + }); + + return newParams; +} + +// For DI in subclass +export const GraphManagementStoreInstance = new GraphManagementStore(); + +export default createContext(GraphManagementStoreInstance); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts new file mode 100644 index 000000000..5fdaca468 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/edgeTypeStore.ts @@ -0,0 +1,1533 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { cloneDeep, isUndefined, remove } from 'lodash-es'; + +import { MetadataConfigsRootStore } from './metadataConfigsStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +import { baseUrl, responseData } from '../../types/common'; +import { + EdgeType, + EditEdgeTypeParams, + EdgeTypeListResponse, + PageConfig, + CheckedReusableData, + EdgeTypeValidateFields, + EdgeTypeValidatePropertyIndexes +} from '../../types/GraphManagementStore/metadataConfigsStore'; + +import SelectedSolidArrowIcon from '../../../assets/imgs/ic_arrow_selected.svg'; +import NoSelectedSolidArrowIcon from '../../../assets/imgs/ic_arrow.svg'; +import SelectedSolidStraightIcon from '../../../assets/imgs/ic_straight_selected.svg'; +import NoSelectedSolidStraightIcon from '../../../assets/imgs/ic_straight.svg'; +import i18next from '../../../i18n'; +export class EdgeTypeStore { + metadataConfigsRootStore: MetadataConfigsRootStore; + + constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { + this.metadataConfigsRootStore = MetadataConfigsRootStore; + } + + @observable validateLicenseOrMemories = true; + @observable currentTabStatus = 'list'; + + @observable.shallow requestStatus = { + fetchEdgeTypeList: 'pending', + addEdgeType: 'pending', + updateEdgeType: 'pending', + deleteEdgeType: 'pending', + checkConflict: 'pending', + recheckConflict: 'pending', + reuseEdgeType: 'pending' + }; + + @observable errorMessage = ''; + + // should user able to create new vertex type + @observable isCreatedReady = false; + // should user able to create new property index + @observable isAddNewPropertyIndexReady = true; + + // only have to check property + @observable isEditReady = true; + + @observable.ref colorSchemas = [ + '#5c73e6', + '#569380', + '#8ecc93', + '#fe9227', + '#fe5b5d', + '#fd6ace', + '#4d8dda', + '#57c7e3', + '#ffe081', + '#c570ff', + '#2b65ff', + '#0eb880', + '#76c100', + '#ed7600', + '#e65055', + '#a64ee6', + '#108cee', + '#00b5d9', + '#f2ca00', + '#e048ae' + ]; + + @observable.ref edgeShapeSchemas = [ + { + blackicon: NoSelectedSolidArrowIcon, + blueicon: SelectedSolidArrowIcon, + flag: true, + shape: 'solid' + }, + { + blackicon: NoSelectedSolidStraightIcon, + blueicon: SelectedSolidStraightIcon, + flag: false, + shape: 'solid' + } + ]; + + @observable.ref thicknessSchemas = [ + { ch: '粗', en: 'THICK' }, + { ch: '中', en: 'NORMAL' }, + { ch: '细', en: 'FINE' } + ]; + + @observable edgeTypeListPageConfig: PageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + @observable.shallow newEdgeType: EdgeType = { + name: '', + source_label: '', + target_label: '', + link_multi_times: false, + properties: [], + sort_keys: [], + property_indexes: [], + open_label_index: false, + style: { + color: '#5c73e6', + icon: null, + with_arrow: true, + thickness: 'NORMAL', + display_fields: ['~id'] + } + }; + + @observable.ref edgeTypes: EdgeType[] = []; + + @observable.ref selectedEdgeType: EdgeType | null = null; + @observable.ref selectedEdgeTypeNames: string[] = []; + + @observable.ref editedSelectedEdgeType: EditEdgeTypeParams = { + append_properties: [], + append_property_indexes: [], + remove_property_indexes: [], + style: { + color: null, + icon: null, + with_arrow: null, + thickness: 'NORMAL', + display_fields: [] + } + }; + + @observable addedPropertiesInSelectedEdgeType: Set = new Set(); + + // reuse + @observable reusableEdgeTypes: EdgeType[] = []; + @observable checkedReusableData: CheckedReusableData | null = null; + @observable + editedCheckedReusableData: CheckedReusableData | null = null; + + @observable reusableEdgeTypeNameChangeIndexes: Set = new Set< + number + >(); + @observable reusableVertexTypeNameChangeIndexes: Set = new Set< + number + >(); + @observable reusablePropertyNameChangeIndexes: Set = new Set< + number + >(); + @observable reusablePropertyIndexNameChangeIndexes: Set = new Set< + number + >(); + + @observable validateNewEdgeTypeErrorMessage: Record< + EdgeTypeValidateFields, + string | EdgeTypeValidatePropertyIndexes[] + > = { + name: '', + sourceLabel: '', + targetLabel: '', + properties: '', + sortKeys: '', + propertyIndexes: [], + displayFeilds: [] + }; + + @observable.shallow validateEditEdgeTypeErrorMessage: Record< + 'propertyIndexes', + EdgeTypeValidatePropertyIndexes[] + > = { + propertyIndexes: [] + }; + + @observable validateReuseErrorMessage: Record< + 'edgeType' | 'vertexType' | 'property' | 'property_index', + string + > = { + edgeType: '', + vertexType: '', + property: '', + property_index: '' + }; + + @computed get reusableEdgeTypeDataMap() { + const dataMap: Record> = {}; + + this.reusableEdgeTypes.forEach(({ name }) => { + dataMap[name] = { + key: name, + title: name + }; + }); + + return dataMap; + } + + @computed get isReadyToReuse() { + return ( + this.editedCheckedReusableData && + this.editedCheckedReusableData!.propertykey_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + this.editedCheckedReusableData!.vertexlabel_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + this.editedCheckedReusableData!.propertyindex_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + this.editedCheckedReusableData!.edgelabel_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + // no data standingby validation + this.reusableEdgeTypeNameChangeIndexes.size === 0 && + this.reusableVertexTypeNameChangeIndexes.size === 0 && + this.reusablePropertyNameChangeIndexes.size === 0 && + this.reusablePropertyIndexNameChangeIndexes.size === 0 + ); + } + + @action + changeCurrentTabStatus(status: string) { + this.currentTabStatus = status; + } + + @action + mutateNewEdgeType(newEdgeType: EdgeType) { + this.newEdgeType = newEdgeType; + } + + @action + mutateSelectedEdgeTypeNames(names: string[]) { + this.selectedEdgeTypeNames = names; + } + + @action + mutatePageNumber(pageNumber: number) { + this.edgeTypeListPageConfig.pageNumber = pageNumber; + } + + @action + mutatePageSort(sort: 'desc' | 'asc') { + this.edgeTypeListPageConfig.sort = sort; + } + + @action + selectEdgeType(index: number | null) { + if (index === null) { + this.selectedEdgeType = null; + return; + } + + this.selectedEdgeType = cloneDeep(this.edgeTypes[index]); + } + + @action + mutateSelectedProperty(selectedProperty: EdgeType) { + this.selectedEdgeType = selectedProperty; + } + + @action + mutateEditedSelectedEdgeType(editedSelectedEdgeType: EditEdgeTypeParams) { + this.editedSelectedEdgeType = editedSelectedEdgeType; + } + + @action + resetNewEdgeType() { + this.newEdgeType = { + name: '', + source_label: '', + target_label: '', + link_multi_times: false, + properties: [], + sort_keys: [], + property_indexes: [], + open_label_index: false, + style: { + color: '#5c73e6', + icon: null, + with_arrow: true, + thickness: 'NORMAL', + display_fields: ['~id'] + } + }; + + this.isCreatedReady = false; + } + + @action + resetAddedPropertiesInSelectedEdgeType() { + this.addedPropertiesInSelectedEdgeType.clear(); + } + + @action + resetEditedSelectedEdgeType() { + this.editedSelectedEdgeType = { + append_properties: [], + append_property_indexes: [], + remove_property_indexes: [], + style: { + color: null, + icon: null, + with_arrow: null, + thickness: 'NORMAL', + display_fields: [] + } + }; + + this.resetAddedPropertiesInSelectedEdgeType(); + } + + // reuse + + @action + mutateEditedReusableData(newEditedReusableVertexTypes: CheckedReusableData) { + this.editedCheckedReusableData = newEditedReusableVertexTypes; + } + + @action + mutateReusableEdgeTypeChangeIndexes(index: number) { + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + + @action + mutateReusableVertexTypeChangeIndexes(index: number) { + this.reusableVertexTypeNameChangeIndexes.add(index); + } + + @action + mutateReusablePropertyNameChangeIndexes(index: number) { + this.reusablePropertyNameChangeIndexes.add(index); + } + + @action + mutateReusablePropertyIndexNameChangeIndexes(index: number) { + this.reusablePropertyIndexNameChangeIndexes.add(index); + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusableEdgeTypeName(index: number) { + this.editedCheckedReusableData!.edgelabel_conflicts[ + index + ].entity.name = this.checkedReusableData!.edgelabel_conflicts[ + index + ].entity.name; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusableVertexTypeName(index: number) { + this.editedCheckedReusableData!.vertexlabel_conflicts[ + index + ].entity.name = this.checkedReusableData!.vertexlabel_conflicts[ + index + ].entity.name; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusablePropertyName(index: number) { + this.editedCheckedReusableData!.propertykey_conflicts[ + index + ].entity.name = this.checkedReusableData!.propertykey_conflicts[ + index + ].entity.name; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusablePropertyIndexName(index: number) { + this.editedCheckedReusableData!.propertyindex_conflicts[ + index + ].entity.name = this.checkedReusableData!.propertyindex_conflicts[ + index + ].entity.name; + } + + @action + clearReusableNameChangeIndexes() { + this.reusableEdgeTypeNameChangeIndexes.clear(); + this.reusableVertexTypeNameChangeIndexes.clear(); + this.reusablePropertyNameChangeIndexes.clear(); + this.reusablePropertyIndexNameChangeIndexes.clear(); + } + + @action + resetReusableEdgeTypes() { + this.reusableEdgeTypes = []; + } + + @action + validateNewEdgeType(category: EdgeTypeValidateFields, initial = false) { + let isReady = true; + + if (category === 'name') { + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newEdgeType.name)) { + if (this.newEdgeType.name.length === 0) { + !initial && + (this.validateNewEdgeTypeErrorMessage.name = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } else { + !initial && + (this.validateNewEdgeTypeErrorMessage.name = i18next.t( + 'addition.store.rule4' + )); + isReady = false; + } + } else { + this.validateNewEdgeTypeErrorMessage.name = ''; + } + } + + if (category === 'sourceLabel') { + if (this.newEdgeType.source_label === '') { + !initial && + (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'targetLabel') { + if (this.newEdgeType.target_label === '') { + !initial && + (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'properties') { + if ( + this.newEdgeType.properties.length === 0 && + this.newEdgeType.link_multi_times + ) { + !initial && + (this.validateNewEdgeTypeErrorMessage.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'sortKeys') { + if ( + this.newEdgeType.link_multi_times && + this.newEdgeType.sort_keys.length === 0 + ) { + !initial && + (this.validateNewEdgeTypeErrorMessage.sortKeys = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'displayFeilds') { + if (this.newEdgeType.style.display_fields.length === 0) { + !initial && + (this.validateNewEdgeTypeErrorMessage.displayFeilds = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'propertyIndexes') { + this.isAddNewPropertyIndexReady = true; + this.validateNewEdgeTypeErrorMessage.propertyIndexes = this.newEdgeType.property_indexes.map( + ({ name, type, fields }) => { + const validatedPropertyIndex = { + name: '', + type: '', + properties: '' + }; + + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { + if (!initial) { + if (name.length !== 0) { + validatedPropertyIndex.name = i18next.t('addition.store.rule4'); + } else { + validatedPropertyIndex.name = i18next.t( + 'addition.store.item-is-required' + ); + } + } + + isReady = false; + this.isAddNewPropertyIndexReady = false; + } else { + validatedPropertyIndex.name = ''; + } + + if (type.length === 0) { + !initial && + (validatedPropertyIndex.type = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + this.isAddNewPropertyIndexReady = false; + } else { + validatedPropertyIndex.type = ''; + } + + if (Array.isArray(fields)) { + if (fields.length === 0) { + !initial && + (validatedPropertyIndex.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + this.isAddNewPropertyIndexReady = false; + } + } else { + validatedPropertyIndex.properties = ''; + } + + return validatedPropertyIndex; + } + ); + } + + return isReady; + } + + @action + validateAllNewEdgeType(initial = false) { + this.isCreatedReady = + this.validateNewEdgeType('name', initial) && + this.validateNewEdgeType('sourceLabel', initial) && + this.validateNewEdgeType('targetLabel', initial) && + this.validateNewEdgeType('properties', initial) && + this.validateNewEdgeType('sortKeys', initial) && + this.validateNewEdgeType('propertyIndexes', initial) && + this.validateNewEdgeType('displayFeilds', initial); + } + + @action + validateEditEdgeType(initial = false) { + this.isEditReady = true; + + this.validateEditEdgeTypeErrorMessage.propertyIndexes = this.editedSelectedEdgeType.append_property_indexes.map( + ({ name, type, fields }) => { + const validatedPropertyIndex = { + name: '', + type: '', + properties: '' + }; + + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { + if (!initial) { + if (name.length !== 0) { + validatedPropertyIndex.name = i18next.t('addition.store.rule4'); + } else { + validatedPropertyIndex.name = i18next.t( + 'addition.store.item-is-required' + ); + } + } + + this.isEditReady = false; + } else { + validatedPropertyIndex.name = ''; + } + + if (type.length === 0) { + !initial && + (validatedPropertyIndex.type = i18next.t( + 'addition.store.item-is-required' + )); + this.isEditReady = false; + } else { + validatedPropertyIndex.type = ''; + } + + if (Array.isArray(fields)) { + if (fields.length === 0) { + !initial && + (validatedPropertyIndex.properties = i18next.t( + 'addition.store.item-is-required' + )); + this.isEditReady = false; + } + } else { + validatedPropertyIndex.properties = ''; + } + + return validatedPropertyIndex; + } + ); + } + + @action + validateReuseData( + category: 'edgeType' | 'vertexType' | 'property' | 'property_index', + originalValue: string, + newValue: string + ) { + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(newValue)) { + if (newValue.length === 0) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.item-is-required' + ); + } else { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.rule4' + ); + } + + return false; + } + + // if value has changed + if (originalValue !== newValue) { + if (category === 'edgeType') { + if ( + !isUndefined( + this.checkedReusableData!.edgelabel_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-edge-name-notice' + ); + + return false; + } + } + + if (category === 'vertexType') { + if ( + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) || + !isUndefined( + this.checkedReusableData!.edgelabel_conflicts.find( + ({ entity }) => + entity.source_label === newValue || + entity.target_label === newValue + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-vertex-name-notice' + ); + + return false; + } + } + + if (category === 'property') { + // check if there's an existed value equals to new value + if ( + !isUndefined( + this.checkedReusableData!.propertykey_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) || + !isUndefined( + this.checkedReusableData!.propertyindex_conflicts.find( + ({ entity }) => + !isUndefined( + entity.fields.find((fieldName) => fieldName === newValue) + ) + ) + ) || + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.properties.find(({ name }) => name === newValue) + ) || + !isUndefined( + entity.primary_keys.find((key) => key === newValue) + ) || + !isUndefined( + entity.property_indexes.find( + ({ fields }) => + !isUndefined( + fields.find((fieldName) => fieldName === newValue) + ) + ) + ) + ) + ) || + !isUndefined( + this.checkedReusableData!.edgelabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.properties.find(({ name }) => name === newValue) + ) || + !isUndefined( + entity.sort_keys.find((key) => key === newValue) + ) || + !isUndefined( + entity.property_indexes.find( + ({ fields }) => + !isUndefined( + fields.find((fieldName) => fieldName === newValue) + ) + ) + ) + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-property-name-notice' + ); + + return false; + } + } + + if (category === 'property_index') { + if ( + !isUndefined( + this.checkedReusableData!.propertyindex_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) || + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.property_indexes.find(({ name }) => name === newValue) + ) + ) + ) || + !isUndefined( + this.checkedReusableData!.edgelabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.property_indexes.find(({ name }) => name === newValue) + ) + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-index-name-notice' + ); + + return false; + } + } + } + + return true; + } + + @action + mutateReuseData( + category: 'edgeType' | 'vertexType' | 'property' | 'property_index', + originalValue: string, + newValue: string + ) { + const editedCheckedReusableData = cloneDeep(this.editedCheckedReusableData); + + if (category === 'edgeType') { + } + + if (category === 'vertexType') { + editedCheckedReusableData!.edgelabel_conflicts.forEach( + ({ entity }, index) => { + if (entity.source_label === originalValue) { + entity.source_label = newValue; + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + + if (entity.target_label === originalValue) { + entity.target_label = newValue; + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + } + ); + } + + if (category === 'property') { + editedCheckedReusableData!.edgelabel_conflicts.forEach( + ({ entity }, index) => { + const mutatePropertyIndex = entity.properties.findIndex( + ({ name }) => name === originalValue + ); + + if (mutatePropertyIndex !== -1) { + entity.properties[mutatePropertyIndex].name = newValue; + // property name in current vertex label has been edited + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + + const sortKeyIndex = entity.sort_keys.findIndex( + (key) => key === originalValue + ); + + if (sortKeyIndex !== -1) { + entity.sort_keys[sortKeyIndex] = newValue; + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + + entity.property_indexes.forEach(({ fields }) => { + const mutatePropertyIndexIndex = fields.findIndex( + (fieldName) => fieldName === originalValue + ); + + if (mutatePropertyIndexIndex !== -1) { + fields[mutatePropertyIndex] = newValue; + this.reusableEdgeTypeNameChangeIndexes.add(index); + } + }); + } + ); + + editedCheckedReusableData!.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const mutatePropertyIndex = entity.properties.findIndex( + ({ name }) => name === originalValue + ); + + if (mutatePropertyIndex !== -1) { + entity.properties[mutatePropertyIndex].name = newValue; + // property name in current vertex label has been edited + this.reusableVertexTypeNameChangeIndexes.add(index); + + // current vertex belongs to which edge + const mutateEdgeIndex = editedCheckedReusableData!.edgelabel_conflicts.findIndex( + (edge) => + edge.entity.source_label === entity.name || + edge.entity.target_label === entity.name + ); + + // property name in source_label or target_label has been edited + this.reusableEdgeTypeNameChangeIndexes.add(mutateEdgeIndex); + } + + const primaryKeyIndex = entity.primary_keys.findIndex( + (key) => key === originalValue + ); + + if (primaryKeyIndex !== -1) { + entity.primary_keys[primaryKeyIndex] = newValue; + + this.reusableVertexTypeNameChangeIndexes.add(index); + } + + entity.property_indexes.forEach(({ fields }) => { + const mutatePropertyIndexIndex = fields.findIndex( + (fieldName) => fieldName === originalValue + ); + + if (mutatePropertyIndexIndex !== -1) { + fields[mutatePropertyIndex] = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + }); + } + ); + + editedCheckedReusableData!.propertyindex_conflicts.forEach( + ({ entity }, index) => { + const mutateIndex = entity.fields.findIndex( + (fieldName) => fieldName === originalValue + ); + + if (mutateIndex !== -1) { + entity.fields[mutateIndex] = newValue; + this.reusablePropertyIndexNameChangeIndexes.add(index); + } + } + ); + } + + if (category === 'property_index') { + editedCheckedReusableData!.edgelabel_conflicts.forEach( + ({ entity }, index) => { + const mutateVertexIndex = entity.property_indexes.findIndex( + ({ name }) => name === originalValue + ); + + if (mutateVertexIndex !== -1) { + entity.property_indexes[mutateVertexIndex].name = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + } + ); + + editedCheckedReusableData!.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const mutateVertexIndex = entity.property_indexes.findIndex( + ({ name }) => name === originalValue + ); + + if (mutateVertexIndex !== -1) { + entity.property_indexes[mutateVertexIndex].name = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + } + ); + } + + this.editedCheckedReusableData = editedCheckedReusableData; + this.checkedReusableData = cloneDeep(editedCheckedReusableData); + } + + @action + deleteReuseData( + category: + | 'edgelabel_conflicts' + | 'vertexlabel_conflicts' + | 'propertykey_conflicts' + | 'propertyindex_conflicts', + index: number + ) { + if (this.editedCheckedReusableData !== null) { + const editedCheckedReusableData = cloneDeep( + this.editedCheckedReusableData + ); + + if (category === 'edgelabel_conflicts') { + const deletedEdgeType = + editedCheckedReusableData.edgelabel_conflicts[index]; + const deletedPropertyNames: string[] = []; + const deletedPropertyIndexNames: string[] = []; + const deletedSourceVertexNames = deletedEdgeType.entity.source_label; + const deletedTargetVertexNames = deletedEdgeType.entity.target_label; + + deletedEdgeType.entity.properties.forEach(({ name }) => { + deletedPropertyNames.push(name); + }); + + deletedEdgeType.entity.property_indexes.forEach(({ name }) => { + deletedPropertyIndexNames.push(name); + }); + + editedCheckedReusableData.edgelabel_conflicts.splice(index, 1); + + // if there's no edge labels, return since it will move back to the previous step + if (editedCheckedReusableData.edgelabel_conflicts.length === 0) { + return; + } + + // remove source vertex + if ( + isUndefined( + editedCheckedReusableData.edgelabel_conflicts.find( + ({ entity }) => + entity.source_label === deletedSourceVertexNames || + entity.target_label === deletedSourceVertexNames + ) + ) + ) { + remove( + editedCheckedReusableData.vertexlabel_conflicts, + ({ entity }) => entity.name === deletedSourceVertexNames + ); + } + + // remove target vertex + if ( + isUndefined( + editedCheckedReusableData.edgelabel_conflicts.find( + ({ entity }) => + entity.source_label === deletedTargetVertexNames || + entity.target_label === deletedTargetVertexNames + ) + ) + ) { + remove( + editedCheckedReusableData.vertexlabel_conflicts, + ({ entity }) => entity.name === deletedTargetVertexNames + ); + } + + deletedPropertyIndexNames.forEach((propertyIndexName) => { + editedCheckedReusableData.vertexlabel_conflicts.forEach( + ({ entity }) => { + remove( + entity.property_indexes, + ({ name }) => name === propertyIndexName + ); + } + ); + + editedCheckedReusableData.edgelabel_conflicts.forEach( + ({ entity }) => { + remove( + entity.property_indexes, + ({ name }) => name === propertyIndexName + ); + } + ); + + remove( + editedCheckedReusableData.propertyindex_conflicts, + ({ entity }) => entity.name === propertyIndexName + ); + }); + + deletedPropertyNames + .filter( + (propertyName) => + !isUndefined( + editedCheckedReusableData.vertexlabel_conflicts.find( + ({ entity }) => + isUndefined( + entity.properties.find( + ({ name }) => name === propertyName + ) + ) + ) + ) && + !isUndefined( + editedCheckedReusableData.edgelabel_conflicts.find( + ({ entity }) => + isUndefined( + entity.properties.find( + ({ name }) => name === propertyName + ) + ) + ) + ) + ) + .forEach((propertyName) => { + remove( + editedCheckedReusableData.propertykey_conflicts, + ({ entity }) => entity.name === propertyName + ); + }); + } + + if (category === 'propertykey_conflicts') { + const deletedName = + editedCheckedReusableData.propertykey_conflicts[index].entity.name; + // remove property in properties + editedCheckedReusableData.propertykey_conflicts.splice(index, 1); + + // remove property in property index + editedCheckedReusableData.propertyindex_conflicts.forEach( + ({ entity }) => { + remove(entity.fields, (name) => name === deletedName); + } + ); + + remove( + editedCheckedReusableData.propertyindex_conflicts, + ({ entity }) => entity.fields.length === 0 + ); + + // remove property in vertex labels + editedCheckedReusableData.vertexlabel_conflicts.forEach( + ({ entity }, vertexlabelIndex) => { + const cb = (param: { name: string } | string) => { + const name = typeof param === 'string' ? param : param.name; + + if (name === deletedName) { + this.reusableVertexTypeNameChangeIndexes.add(vertexlabelIndex); + return true; + } + + return false; + }; + + remove(entity.properties, cb); + remove(entity.primary_keys, cb); + + entity.property_indexes.forEach(({ fields }) => { + remove(fields, cb); + }); + } + ); + + // remove property in edge labels + editedCheckedReusableData.edgelabel_conflicts.forEach( + ({ entity }, edgelabelIndex) => { + const cb = (param: { name: string } | string) => { + const name = typeof param === 'string' ? param : param.name; + + if (name === deletedName) { + this.reusableEdgeTypeNameChangeIndexes.add(edgelabelIndex); + return true; + } + + return false; + }; + + remove(entity.properties, cb); + remove(entity.sort_keys, cb); + + entity.property_indexes.forEach(({ fields }) => { + remove(fields, cb); + }); + } + ); + } + + if (category === 'propertyindex_conflicts') { + const { + name: deletedPropertyIndexName + } = editedCheckedReusableData.propertyindex_conflicts[index].entity; + + editedCheckedReusableData.propertyindex_conflicts.splice(index, 1); + + // delete property index in vertex label + editedCheckedReusableData.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const deletedIndex = entity.property_indexes.findIndex( + ({ name }) => name === deletedPropertyIndexName + ); + + if (deletedIndex !== -1) { + this.reusableVertexTypeNameChangeIndexes.add(index); + entity.property_indexes.splice(deletedIndex, 1); + } + } + ); + + editedCheckedReusableData.edgelabel_conflicts.forEach(({ entity }) => { + const deletedIndex = entity.property_indexes.findIndex( + ({ name }) => name === deletedPropertyIndexName + ); + + if (deletedIndex !== -1) { + this.reusableEdgeTypeNameChangeIndexes.add(index); + entity.property_indexes.splice(deletedIndex, 1); + } + }); + } + + this.mutateEditedReusableData(editedCheckedReusableData); + } + } + + @action + resetValidateNewEdgeTypeMessage( + category?: EdgeTypeValidateFields, + propertIndexIndex?: number, + propertIndexProperty?: keyof EdgeTypeValidatePropertyIndexes + ) { + if (isUndefined(category)) { + this.validateNewEdgeTypeErrorMessage = { + name: '', + sourceLabel: '', + targetLabel: '', + properties: '', + sortKeys: '', + propertyIndexes: [], + displayFeilds: [] + }; + + return; + } + + if (category === 'propertyIndexes') { + (this.validateNewEdgeTypeErrorMessage + .propertyIndexes as EdgeTypeValidatePropertyIndexes[])[ + propertIndexIndex as number + ][propertIndexProperty as keyof EdgeTypeValidatePropertyIndexes] = ''; + + return; + } + + this.validateNewEdgeTypeErrorMessage[category] = ''; + } + + @action + resetValidateReuseErrorMessage( + category?: 'edgeType' | 'vertexType' | 'property' | 'property_index' + ) { + if (isUndefined(category)) { + this.validateReuseErrorMessage = { + edgeType: '', + property: '', + property_index: '', + vertexType: '' + }; + + return; + } + + this.validateReuseErrorMessage[category] = ''; + } + + @action + dispose() { + this.currentTabStatus = 'list'; + this.requestStatus = { + fetchEdgeTypeList: 'pending', + addEdgeType: 'pending', + updateEdgeType: 'pending', + deleteEdgeType: 'pending', + checkConflict: 'pending', + recheckConflict: 'pending', + reuseEdgeType: 'pending' + }; + this.errorMessage = ''; + + this.isCreatedReady = false; + this.isAddNewPropertyIndexReady = true; + this.isEditReady = true; + + this.edgeTypeListPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + this.resetNewEdgeType(); + this.edgeTypes = []; + this.selectedEdgeType = null; + this.selectedEdgeTypeNames = []; + this.editedSelectedEdgeType = { + append_properties: [], + append_property_indexes: [], + remove_property_indexes: [], + style: { + color: null, + icon: null, + with_arrow: null, + thickness: 'NORMAL', + display_fields: [] + } + }; + this.resetValidateNewEdgeTypeMessage(); + this.resetReusableEdgeTypes(); + this.validateReuseErrorMessage = { + edgeType: '', + vertexType: '', + property: '', + property_index: '' + }; + } + + fetchEdgeTypeList = flow(function* fetchEdgeTypeList( + this: EdgeTypeStore, + options?: { fetchAll?: boolean; reuseId?: number } + ) { + this.requestStatus.fetchEdgeTypeList = 'pending'; + + const conn_id = + options && typeof options.reuseId === 'number' + ? options.reuseId + : this.metadataConfigsRootStore.currentId; + + try { + const result: AxiosResponse> = yield axios + .get(`${baseUrl}/${conn_id}/schema/edgelabels`, { + params: { + page_no: this.edgeTypeListPageConfig.pageNumber, + page_size: !options ? 10 : -1, + name_order: + this.edgeTypeListPageConfig.sort !== '' + ? this.edgeTypeListPageConfig.sort + : null + } + }) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + if (result.data.status === 401) { + this.validateLicenseOrMemories = false; + } + + throw new Error(result.data.message); + } + + if (options && typeof options.reuseId === 'number') { + this.reusableEdgeTypes = result.data.data.records; + } else { + this.edgeTypes = result.data.data.records; + this.edgeTypeListPageConfig.pageTotal = result.data.data.total; + } + + if (this.currentTabStatus !== 'reuse') { + result.data.data.records.length === 0 + ? (this.currentTabStatus = 'empty') + : (this.currentTabStatus = 'list'); + } + + this.requestStatus.fetchEdgeTypeList = 'success'; + } catch (error) { + this.requestStatus.fetchEdgeTypeList = 'failed'; + this.errorMessage = error.message; + } + }); + + addEdgeType = flow(function* addEdgeType(this: EdgeTypeStore) { + this.requestStatus.addEdgeType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels`, + { + name: this.newEdgeType.name, + source_label: this.newEdgeType.source_label, + target_label: this.newEdgeType.target_label, + link_multi_times: this.newEdgeType.link_multi_times, + properties: this.newEdgeType.properties, + sort_keys: this.newEdgeType.sort_keys, + property_indexes: this.newEdgeType.property_indexes, + open_label_index: this.newEdgeType.open_label_index, + style: this.newEdgeType.style + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.addEdgeType = 'success'; + } catch (error) { + this.requestStatus.addEdgeType = 'failed'; + this.errorMessage = error.message; + } + }); + + updateEdgeType = flow(function* updateEdgeType(this: EdgeTypeStore) { + this.requestStatus.updateEdgeType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .put( + `${baseUrl}/${ + this.metadataConfigsRootStore.currentId + }/schema/edgelabels/${this.selectedEdgeType!.name}`, + { + append_properties: this.editedSelectedEdgeType.append_properties, + append_property_indexes: this.editedSelectedEdgeType + .append_property_indexes, + remove_property_indexes: this.editedSelectedEdgeType + .remove_property_indexes, + style: this.editedSelectedEdgeType.style + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.updateEdgeType = 'success'; + } catch (error) { + this.requestStatus.updateEdgeType = 'failed'; + this.errorMessage = error.message; + } + }); + + deleteEdgeType = flow(function* deleteEdgeType( + this: EdgeTypeStore, + selectedEdgeTypeNames: string[] + ) { + this.requestStatus.deleteEdgeType = 'pending'; + + const combinedParams = selectedEdgeTypeNames + .map((name) => 'names=' + name) + .join('&'); + + try { + const result: AxiosResponse> = yield axios + .delete( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels?` + + combinedParams + + `&skip_using=${String( + Array.isArray(selectedEdgeTypeNames) && + selectedEdgeTypeNames.length !== 1 + )}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + if ( + selectedEdgeTypeNames.length === this.edgeTypes.length && + this.edgeTypeListPageConfig.pageNumber === + Math.ceil(this.edgeTypeListPageConfig.pageTotal / 10) && + this.edgeTypeListPageConfig.pageNumber > 1 + ) { + this.edgeTypeListPageConfig.pageNumber = + this.edgeTypeListPageConfig.pageNumber - 1; + } + + this.requestStatus.deleteEdgeType = 'success'; + } catch (error) { + this.requestStatus.deleteEdgeType = 'failed'; + this.errorMessage = error.message; + } + }); + + checkConflict = flow(function* checkConflict( + this: EdgeTypeStore, + reuseId: string, + selectedEdgeTypes: string[] + ) { + this.requestStatus.checkConflict = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/check_conflict`, + { + edgelabels: selectedEdgeTypes.map((selectedEdgeType) => + this.reusableEdgeTypes.find( + ({ name }) => name === selectedEdgeType + ) + ) + }, + { + params: { + reused_conn_id: this.metadataConfigsRootStore.graphManagementStore.idList.find( + ({ name }) => name === reuseId + )!.id + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableData = result.data.data; + this.editedCheckedReusableData = cloneDeep(result.data.data); + this.requestStatus.checkConflict = 'success'; + } catch (error) { + this.requestStatus.checkConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + recheckConflict = flow(function* recheckConflict(this: EdgeTypeStore) { + this.requestStatus.recheckConflict = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/recheck_conflict`, + { + propertykeys: this.editedCheckedReusableData!.propertykey_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ), + propertyindexes: this.editedCheckedReusableData!.propertyindex_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ), + vertexlabels: this.editedCheckedReusableData!.vertexlabel_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ), + edgelabels: this.editedCheckedReusableData!.edgelabel_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ) + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableData = result.data.data; + this.editedCheckedReusableData = cloneDeep(result.data.data); + this.requestStatus.recheckConflict = 'success'; + } catch (error) { + this.requestStatus.recheckConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + reuseEdgeType = flow(function* reuseEdgeType(this: EdgeTypeStore) { + this.requestStatus.reuseEdgeType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/edgelabels/reuse`, + this.editedCheckedReusableData + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.reuseEdgeType = 'success'; + } catch (error) { + this.requestStatus.reuseEdgeType = 'failed'; + this.errorMessage = error.message; + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts new file mode 100644 index 000000000..ee99ed87b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/graphViewStore.ts @@ -0,0 +1,334 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios from 'axios'; +import { isUndefined, cloneDeep, clone } from 'lodash-es'; + +import vis from 'vis-network'; +import { MetadataConfigsRootStore } from './metadataConfigsStore'; +import { + checkIfLocalNetworkOffline, + vertexRadiusMapping, + edgeWidthMapping +} from '../../utils'; + +import { baseUrl } from '../../types/common'; +import type { + GraphViewData, + DrawerTypes +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import i18next from '../../../i18n'; + +export class GraphViewStore { + metadataConfigsRootStore: MetadataConfigsRootStore; + + constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { + this.metadataConfigsRootStore = MetadataConfigsRootStore; + } + + @observable.ref colorMappings: Record = {}; + @observable.ref vertexSizeMappings: Record = {}; + @observable.ref vertexWritingMappings: Record = {}; + @observable.ref edgeColorMappings: Record = {}; + @observable.ref edgeWithArrowMappings: Record = {}; + @observable.ref edgeThicknessMappings: Record = {}; + @observable.ref edgeWritingMappings: Record = {}; + + @observable currentDrawer: DrawerTypes = ''; + @observable currentSelected = ''; + @observable isNodeOrEdgeClicked = false; + + // avoid to re-assign value to originalGraphViewData from re-rendering + // have to set a flag to inform data is empty + @observable isGraphVertexEmpty = true; + + @observable visNetwork: vis.Network | null = null; + @observable visDataSet: Record<'nodes' | 'edges', any> | null = null; + @observable.ref graphViewData: GraphViewData | null = null; + @observable.ref originalGraphViewData: GraphViewData | null = null; + + @observable.shallow requestStatus = { + fetchGraphViewData: 'standby' + }; + + @observable errorInfo = { + fetchGraphViewData: { + code: NaN, + message: '' + } + }; + + @computed get graphNodes() { + if (this.originalGraphViewData === null) { + return []; + } + + return this.originalGraphViewData.vertices.map( + ({ id, label, properties, primary_keys }) => { + return { + id, + label: id.length <= 15 ? id : id.slice(0, 15) + '...', + vLabel: id, + value: vertexRadiusMapping[this.vertexSizeMappings[label]], + font: { size: 16 }, + properties, + title: ` + + + ${Object.entries(properties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + const primaryKeyIndex = primary_keys.findIndex( + (primaryKey) => primaryKey === key + ); + + return ``; + }) + .join('')} + `, + color: { + background: this.colorMappings[label] || '#5c73e6', + border: this.colorMappings[label] || '#5c73e6', + highlight: { background: '#fb6a02', border: '#fb6a02' }, + hover: { background: '#ec3112', border: '#ec3112' } + }, + // reveal label when zoom to max + scaling: { + label: { + max: Infinity, + maxVisible: Infinity + } + }, + chosen: { + node( + values: any, + id: string, + selected: boolean, + hovering: boolean + ) { + if (hovering || selected) { + values.shadow = true; + values.shadowColor = 'rgba(0, 0, 0, 0.6)'; + values.shadowX = 0; + values.shadowY = 0; + values.shadowSize = 25; + } + + if (selected) { + values.size += 5; + } + } + } + }; + } + ); + } + + @computed get graphEdges() { + if (this.originalGraphViewData === null) { + return []; + } + + return this.originalGraphViewData.edges.map( + ({ id, label, source, target, properties, sort_keys }) => { + return { + id, + label: label.length < 15 ? label : label.slice(0, 15) + '...', + properties, + source, + target, + from: source, + to: target, + font: { size: 16, strokeWidth: 0, color: '#666' }, + arrows: this.edgeWithArrowMappings[label] === true ? 'to' : '', + value: edgeWidthMapping[this.edgeThicknessMappings[label]], + title: ` + + + ${Object.entries(properties) + .map(([key, value]) => { + const convertedValue = + value.toLowerCase() === 'text' + ? 'string' + : value.toLowerCase(); + + const sortKeyIndex = sort_keys.findIndex( + (sortKey) => sortKey === key + ); + + return ``; + }) + .join('')} + `, + color: this.edgeColorMappings[label] || '#5c73e6' + }; + } + ); + } + + @action + setCurrentDrawer(drawer: DrawerTypes) { + this.currentDrawer = drawer; + } + + @action + switchNodeOrEdgeClicked(flag: boolean) { + this.isNodeOrEdgeClicked = flag; + } + + @action + switchGraphDataEmpty(flag: boolean) { + this.isGraphVertexEmpty = flag; + } + + @action + setVisNetwork(visNetwork: vis.Network) { + this.visNetwork = visNetwork; + } + + @action + setVisDataSet(visDataSet: Record<'nodes' | 'edges', any>) { + this.visDataSet = visDataSet; + } + + @action + dispose() { + this.edgeColorMappings = {}; + this.currentDrawer = ''; + this.currentSelected = ''; + this.colorMappings = {}; + this.edgeColorMappings = {}; + this.graphViewData = null; + this.isNodeOrEdgeClicked = false; + this.isGraphVertexEmpty = true; + this.visNetwork = null; + this.visDataSet = null; + this.graphViewData = null; + this.originalGraphViewData = null; + this.requestStatus = { + fetchGraphViewData: 'standby' + }; + this.errorInfo = { + fetchGraphViewData: { + code: NaN, + message: '' + } + }; + } + + fetchGraphViewData = flow(function* fetchGraphViewData( + this: GraphViewStore, + colorMappings?: Record, + vertexSizeMappings?: Record, + vertexWritingMappings?: Record, + edgeColorMappings?: Record, + edgeThicknessMappings?: Record, + edgeWithArrowMappings?: Record, + edgeWritingMappings?: Record + ) { + this.requestStatus.fetchGraphViewData = 'pending'; + + if (!isUndefined(colorMappings)) { + this.colorMappings = colorMappings; + } + if (!isUndefined(vertexSizeMappings)) { + this.vertexSizeMappings = vertexSizeMappings; + } + if (!isUndefined(vertexWritingMappings)) { + this.vertexWritingMappings = vertexWritingMappings; + } + if (!isUndefined(edgeColorMappings)) { + this.edgeColorMappings = edgeColorMappings; + } + if (!isUndefined(edgeThicknessMappings)) { + this.edgeThicknessMappings = edgeThicknessMappings; + } + if (!isUndefined(edgeWithArrowMappings)) { + this.edgeWithArrowMappings = edgeWithArrowMappings; + } + if (!isUndefined(edgeWritingMappings)) { + this.edgeWritingMappings = edgeWritingMappings; + } + + try { + const result = yield axios + .get( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/graphview` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + this.errorInfo.fetchGraphViewData.code = result.data.status; + throw new Error(result.data.message); + } + + const data = result.data.data; + + if (data.vertices.length !== 0) { + this.switchGraphDataEmpty(false); + } + + this.originalGraphViewData = data; + this.graphViewData = data; + + this.requestStatus.fetchGraphViewData = 'success'; + } catch (error) { + this.requestStatus.fetchGraphViewData = 'failed'; + this.errorInfo.fetchGraphViewData.message = error.message; + console.error(error.message); + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts new file mode 100644 index 000000000..bc204b6d3 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataConfigsStore.ts @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action } from 'mobx'; + +import { MetadataPropertyStore } from './metadataPropertyStore'; +import { VertexTypeStore } from './vertexTypeStore'; +import { EdgeTypeStore } from './edgeTypeStore'; +import { MetadataPropertyIndexStore } from './metadataPropertyIndexStore'; +import { GraphViewStore } from './graphViewStore'; + +import { + GraphManagementStore, + GraphManagementStoreInstance +} from '../graphManagementStore'; + +export class MetadataConfigsRootStore { + graphManagementStore: GraphManagementStore; + metadataPropertyStore: MetadataPropertyStore; + vertexTypeStore: VertexTypeStore; + edgeTypeStore: EdgeTypeStore; + metadataPropertyIndexStore: MetadataPropertyIndexStore; + graphViewStore: GraphViewStore; + + @observable currentId: number | null = null; + + constructor(GraphManagementStore: GraphManagementStore) { + this.graphManagementStore = GraphManagementStore; + + this.metadataPropertyStore = new MetadataPropertyStore(this); + this.vertexTypeStore = new VertexTypeStore(this); + this.edgeTypeStore = new EdgeTypeStore(this); + this.metadataPropertyIndexStore = new MetadataPropertyIndexStore(this); + this.graphViewStore = new GraphViewStore(this); + } + + @action + setCurrentId(id: number | null) { + this.currentId = id; + } + + @action + dispose() { + this.currentId = null; + } +} + +export default createContext( + new MetadataConfigsRootStore(GraphManagementStoreInstance) +); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts new file mode 100644 index 000000000..eff06eb70 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyIndexStore.ts @@ -0,0 +1,245 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; + +import { MetadataConfigsRootStore } from './metadataConfigsStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +import { baseUrl, responseData } from '../../types/common'; +import { + MetadataPropertyIndex, + MetadataPropertyIndexResponse, + PageConfig +} from '../../types/GraphManagementStore/metadataConfigsStore'; + +export class MetadataPropertyIndexStore { + metadataConfigsRootStore: MetadataConfigsRootStore; + + constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { + this.metadataConfigsRootStore = MetadataConfigsRootStore; + } + + @observable validateLicenseOrMemories = true; + @observable searchWords = ''; + @observable.shallow isSearched = { + status: false, + value: '' + }; + + @observable.shallow requestStatus = { + fetchMetadataPropertIndexes: 'pending' + }; + + @observable metadataPropertyIndexPageConfig: PageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + @observable errorMessage = ''; + + @observable.ref metadataPropertyIndexes: MetadataPropertyIndex[] = [ + { + owner: 'person', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'person', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age'] + }, + { + owner: 'person', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['city'] + }, + { + owner: 'company', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'company', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'company', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'city', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'city', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'city', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + }, + { + owner: 'name', + owner_type: 'VERTEX_LABEL', + name: 'personByBorn', + type: 'RANGE', + fields: ['age', 'city'] + } + ]; + + @computed get collpaseInfo(): null | number[][] { + const collpaseNumbers: number[] = []; + + this.metadataPropertyIndexes.forEach( + ({ owner }: MetadataPropertyIndex, index: number) => { + // first owner has default rowSpanStart = 1 + if (index === 0) { + collpaseNumbers.push(1); + return; + } + + // if owner equals to the previous one, plus the owner rowSpan by 1 + // else push this different owner rowSpanStartIndex in to array + owner === this.metadataPropertyIndexes[index - 1].owner + ? ++collpaseNumbers[collpaseNumbers.length - 1] + : collpaseNumbers.push(1); + } + ); + + if (collpaseNumbers.length === this.metadataPropertyIndexes.length) { + return null; + } + + const collpaseStartIndexes: number[] = [0]; + + collpaseNumbers + .slice(0, collpaseNumbers.length - 1) + .reduce((prev, curr) => { + collpaseStartIndexes.push(prev + curr); + return prev + curr; + }, 0); + + return [collpaseStartIndexes, collpaseNumbers]; + } + + @action + mutateSearchWords(text: string) { + this.searchWords = text; + } + + @action + mutatePageNumber(pageNumber: number) { + this.metadataPropertyIndexPageConfig.pageNumber = pageNumber; + } + + @action + switchIsSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchWords) + : (this.isSearched.value = ''); + } + + @action + dispose() { + this.searchWords = ''; + this.isSearched = { + status: false, + value: '' + }; + this.requestStatus = { + fetchMetadataPropertIndexes: 'pending' + }; + this.metadataPropertyIndexPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + this.errorMessage = ''; + this.metadataPropertyIndexes = []; + } + + fetchMetadataPropertIndexes = flow(function* fetchMetadataPropertIndexes( + this: MetadataPropertyIndexStore, + indexType: 'vertex' | 'edge' + ) { + this.requestStatus.fetchMetadataPropertIndexes = 'pending'; + + try { + const result: AxiosResponse< + responseData + > = yield axios + .get( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertyindexes`, + { + params: { + page_no: this.metadataPropertyIndexPageConfig.pageNumber, + page_size: 10, + is_vertex_label: indexType === 'vertex', + content: + this.isSearched.status && this.searchWords !== '' + ? this.searchWords + : null + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + if (result.data.status === 401) { + this.validateLicenseOrMemories = false; + } + + throw new Error(result.data.message); + } + + this.metadataPropertyIndexes = result.data.data.records; + this.metadataPropertyIndexPageConfig.pageTotal = result.data.data.total; + this.requestStatus.fetchMetadataPropertIndexes = 'success'; + } catch (error) { + this.requestStatus.fetchMetadataPropertIndexes = 'failed'; + this.errorMessage = error.message; + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts new file mode 100644 index 000000000..669c1ab28 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/metadataPropertyStore.ts @@ -0,0 +1,590 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { cloneDeep } from 'lodash-es'; +import { v4 } from 'uuid'; + +import { MetadataConfigsRootStore } from './metadataConfigsStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +import { baseUrl, responseData } from '../../types/common'; +import { + MetadataProperty, + MetadataPropertyListResponse, + PageConfig, + CheckedReusableData, + NewMetadataProperty +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import i18next from '../../../i18n'; + +export class MetadataPropertyStore { + metadataConfigsRootStore: MetadataConfigsRootStore; + + constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { + this.metadataConfigsRootStore = MetadataConfigsRootStore; + } + + @observable validateLicenseOrMemories = true; + @observable currentTabStatus = 'list'; + + @observable.shallow requestStatus = { + fetchMetadataPropertyList: 'standby', + checkIfUsing: 'standby', + addMetadataProperty: 'standby', + deleteMetadataProperty: 'standby', + checkConflict: 'standby', + recheckConflict: 'standby', + reuseMetadataProperties: 'standy' + }; + + @observable errorMessage = ''; + + @observable searchWords = ''; + + @observable isSearched = { + status: false, + value: '' + }; + + @observable metadataPropertyPageConfig: PageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + @observable isCreateNewProperty = false; + // should user able to create new vertex type + @observable isCreatedReady = false; + + @observable newMetadataProperty: NewMetadataProperty = { + name: v4(), + // real input name, to handle
key problems + _name: '', + data_type: 'string', + cardinality: 'single' + }; + + @observable.ref metadataProperties: MetadataProperty[] = []; + + @observable metadataPropertyUsingStatus: Record | null = + null; + + @observable selectedMetadataProperty: MetadataProperty | null = null; + // table selection from user + @observable.ref selectedMetadataPropertyNames: string[] = []; + + // reuse + @observable reuseableProperties: MetadataProperty[] = []; + @observable + checkedReusableProperties: CheckedReusableData | null = null; + @observable + editedCheckedReusableProperties: CheckedReusableData | null = null; + @observable reusablePropertyNameChangeIndexes: Set = + new Set(); + + @observable validateNewPropertyErrorMessage = { + name: '' + }; + + @observable validateRenameReusePropertyErrorMessage = { + name: '' + }; + + @computed get reunionMetadataProperty() { + return this.metadataProperties.length < 10 + ? [this.newMetadataProperty].concat(this.metadataProperties) + : [this.newMetadataProperty].concat(this.metadataProperties.slice(0, 9)); + } + + @computed get reuseablePropertyDataMap() { + const dataMap: Record> = {}; + + this.reuseableProperties.forEach(({ name }) => { + dataMap[name] = { + key: name, + title: name + }; + }); + + return dataMap; + } + + @computed get isReadyToReuse() { + return ( + this.editedCheckedReusableProperties && + this.editedCheckedReusableProperties!.propertykey_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + // no data standingby validation + this.reusablePropertyNameChangeIndexes.size === 0 + ); + } + + @action + changeCurrentTabStatus(status: string) { + this.currentTabStatus = status; + } + + @action + mutateSearchWords(text: string) { + this.searchWords = text; + } + + @action + mutatePageNumber(pageNumber: number) { + this.metadataPropertyPageConfig.pageNumber = pageNumber; + } + + @action + mutatePageSort(sort: 'desc' | 'asc') { + this.metadataPropertyPageConfig.sort = sort; + } + + @action + switchIsSearchedStatus(isSearched: boolean) { + this.isSearched.status = isSearched; + + isSearched + ? (this.isSearched.value = this.searchWords) + : (this.isSearched.value = ''); + } + + @action + switchIsCreateNewProperty(flag: boolean) { + this.isCreateNewProperty = flag; + } + + @action + resetNewProperties() { + this.mutateNewProperty({ + name: v4(), + _name: '', + data_type: 'string', + cardinality: 'single' + }); + + this.isCreatedReady = false; + } + + @action + selectProperty(index: number | null) { + if (index === null) { + this.selectedMetadataProperty = null; + return; + } + + this.selectedMetadataProperty = cloneDeep(this.metadataProperties[index]); + } + + @action + mutateNewProperty(newMetadataProperty: NewMetadataProperty) { + this.newMetadataProperty = newMetadataProperty; + } + + @action + mutateSelectedPropertyName(name: string) { + this.selectedMetadataProperty!.name = name; + } + + @action + mutateSelectedMetadataProperyNames(names: string[]) { + this.selectedMetadataPropertyNames = names; + } + + @action + mutateEditedReusableProperties( + newEditedReusableProperties: CheckedReusableData + ) { + this.editedCheckedReusableProperties = newEditedReusableProperties; + } + + @action + mutateReusablePropertyNameChangeIndexes(index: number) { + this.reusablePropertyNameChangeIndexes.add(index); + } + + @action + clearReusablePropertyNameChangeIndexes() { + this.reusablePropertyNameChangeIndexes.clear(); + } + + @action + resetReusablePropeties() { + this.reuseableProperties = []; + } + + @action + validateNewProperty() { + let isReady = true; + + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newMetadataProperty._name!)) { + if (this.newMetadataProperty._name!.length === 0) { + this.validateNewPropertyErrorMessage.name = i18next.t( + 'addition.store.item-is-required' + ); + isReady = false; + } else { + this.validateNewPropertyErrorMessage.name = i18next.t( + 'addition.store.rule4' + ); + isReady = false; + } + } else { + this.validateNewPropertyErrorMessage.name = ''; + } + + this.isCreatedReady = isReady; + return isReady; + } + + @action + validateRenameReuseProperty(index: number) { + let isReady = true; + const propertyName = + this.editedCheckedReusableProperties!.propertykey_conflicts[index].entity + .name; + + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(propertyName)) { + if (propertyName.length === 0) { + this.validateRenameReusePropertyErrorMessage.name = i18next.t( + 'addition.store.item-is-required' + ); + isReady = false; + } else { + this.validateRenameReusePropertyErrorMessage.name = i18next.t( + 'addition.store.rule4' + ); + isReady = false; + } + } else { + this.validateRenameReusePropertyErrorMessage.name = ''; + } + + return isReady; + } + + @action + resetValidateNewProperty() { + this.validateNewPropertyErrorMessage.name = ''; + } + + @action + resetValidateRenameReuseProperty() { + this.validateRenameReusePropertyErrorMessage.name = ''; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusablePropertyName(index: number) { + this.editedCheckedReusableProperties!.propertykey_conflicts[ + index + ].entity.name = + this.checkedReusableProperties!.propertykey_conflicts[index].entity.name; + } + + @action + dispose() { + this.currentTabStatus = 'list'; + this.requestStatus = { + fetchMetadataPropertyList: 'standby', + checkIfUsing: 'standby', + addMetadataProperty: 'standby', + deleteMetadataProperty: 'standby', + checkConflict: 'standby', + recheckConflict: 'standby', + reuseMetadataProperties: 'standy' + }; + this.errorMessage = ''; + this.searchWords = ''; + this.isSearched = { + status: false, + value: '' + }; + this.metadataPropertyPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + this.isCreateNewProperty = false; + this.isCreatedReady = false; + this.resetNewProperties(); + this.metadataProperties = []; + this.metadataPropertyUsingStatus = null; + this.selectedMetadataProperty = null; + this.selectedMetadataPropertyNames = []; + + this.resetValidateNewProperty(); + this.resetValidateRenameReuseProperty(); + + // reuse + this.reuseableProperties = []; + this.checkedReusableProperties = null; + this.editedCheckedReusableProperties = null; + } + + fetchMetadataPropertyList = flow(function* fetchMetadataPropertyList( + this: MetadataPropertyStore, + options?: { fetchAll?: boolean; reuseId?: number } + ) { + this.requestStatus.fetchMetadataPropertyList = 'pending'; + const conn_id = + options && typeof options.reuseId === 'number' + ? options.reuseId + : this.metadataConfigsRootStore.currentId; + + try { + const result: AxiosResponse> = + yield axios + .get(`${baseUrl}/${conn_id}/schema/propertykeys`, { + params: { + page_no: this.metadataPropertyPageConfig.pageNumber, + page_size: !options ? 10 : -1, + name_order: + this.metadataPropertyPageConfig.sort !== '' + ? this.metadataPropertyPageConfig.sort + : null, + content: + this.isSearched.status && this.searchWords !== '' + ? this.searchWords + : null + } + }) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + if (result.data.status === 401) { + this.validateLicenseOrMemories = false; + } + + throw new Error(result.data.message); + } + + if (options && typeof options.reuseId === 'number') { + this.reuseableProperties = result.data.data.records; + } else { + this.metadataProperties = result.data.data.records; + this.metadataPropertyPageConfig.pageTotal = result.data.data.total; + } + + if (result.data.data.records.length === 0) { + if (this.isSearched.status === true) { + this.currentTabStatus = 'list'; + } else { + this.currentTabStatus = 'empty'; + } + } else if (this.currentTabStatus !== 'reuse') { + // if currentTabStatus is reuse, stay at reuse page + this.currentTabStatus = 'list'; + } + + this.requestStatus.fetchMetadataPropertyList = 'success'; + } catch (error) { + this.requestStatus.fetchMetadataPropertyList = 'failed'; + this.errorMessage = error.message; + } + }); + + checkIfUsing = flow(function* checkIfUsing( + this: MetadataPropertyStore, + selectedPropertyNames: string[] + ) { + this.requestStatus.checkIfUsing = 'pending'; + + try { + const result: AxiosResponse>> = + yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/check_using`, + { + names: selectedPropertyNames + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.metadataPropertyUsingStatus = result.data.data; + this.requestStatus.checkIfUsing = 'success'; + } catch (error) { + this.requestStatus.checkIfUsing = 'failed'; + this.errorMessage = error.message; + } + }); + + addMetadataProperty = flow(function* addMetadataProperty( + this: MetadataPropertyStore + ) { + this.requestStatus.addMetadataProperty = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys`, + { + name: this.newMetadataProperty._name, + data_type: + this.newMetadataProperty.data_type === 'string' + ? 'TEXT' + : this.newMetadataProperty.data_type.toUpperCase(), + cardinality: this.newMetadataProperty.cardinality.toUpperCase() + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.addMetadataProperty = 'success'; + } catch (error) { + this.requestStatus.addMetadataProperty = 'failed'; + this.errorMessage = error.message; + } + }); + + deleteMetadataProperty = flow(function* deleteMetadataProperty( + this: MetadataPropertyStore, + selectedPropertyNames: string[] + ) { + this.requestStatus.deleteMetadataProperty = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .delete( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys?` + + selectedPropertyNames.map((name) => 'names=' + name).join('&') + + `&skip_using=${String(selectedPropertyNames.length !== 1)}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + if ( + selectedPropertyNames.length === this.metadataProperties.length && + this.metadataPropertyPageConfig.pageNumber === + Math.ceil(this.metadataPropertyPageConfig.pageTotal / 10) && + this.metadataPropertyPageConfig.pageNumber > 1 + ) { + this.metadataPropertyPageConfig.pageNumber = + this.metadataPropertyPageConfig.pageNumber - 1; + } + + this.requestStatus.deleteMetadataProperty = 'success'; + } catch (error) { + this.requestStatus.deleteMetadataProperty = 'failed'; + this.errorMessage = error.message; + } + }); + + checkConflict = flow(function* checkConflict( + this: MetadataPropertyStore, + selectedNameList: string[] + ) { + this.requestStatus.checkConflict = 'pending'; + + try { + const result: AxiosResponse> = + yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/check_conflict`, + { + propertykeys: selectedNameList.map((selectedName) => + this.reuseableProperties.find( + ({ name }) => name === selectedName + ) + ) + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableProperties = result.data.data; + this.editedCheckedReusableProperties = cloneDeep(result.data.data); + this.requestStatus.checkConflict = 'success'; + } catch (error) { + this.requestStatus.checkConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + recheckConflict = flow(function* recheckConflict( + this: MetadataPropertyStore + ) { + this.requestStatus.recheckConflict = 'pending'; + + try { + const result: AxiosResponse> = + yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/recheck_conflict`, + { + propertykeys: + this.editedCheckedReusableProperties!.propertykey_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ) + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableProperties = result.data.data; + this.editedCheckedReusableProperties = cloneDeep(result.data.data); + this.requestStatus.recheckConflict = 'success'; + } catch (error) { + this.requestStatus.recheckConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + reuseMetadataProperties = flow(function* reuseMetadataProperties( + this: MetadataPropertyStore + ) { + this.requestStatus.reuseMetadataProperties = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/propertykeys/reuse`, + this.editedCheckedReusableProperties! + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.reuseMetadataProperties = 'success'; + } catch (error) { + this.requestStatus.reuseMetadataProperties = 'failed'; + this.errorMessage = error.message; + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts new file mode 100644 index 000000000..a91c0ad20 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/GraphManagementStore/metadataConfigsStore/vertexTypeStore.ts @@ -0,0 +1,1266 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { observable, action, flow, computed } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { cloneDeep, isUndefined, remove, size } from 'lodash-es'; + +import { MetadataConfigsRootStore } from './metadataConfigsStore'; +import { checkIfLocalNetworkOffline } from '../../utils'; + +import { baseUrl, responseData } from '../../types/common'; +import { + VertexType, + EditVertexTypeParams, + VertexTypeListResponse, + PageConfig, + CheckedReusableData, + VertexTypeValidateFields, + VertexTypeValidatePropertyIndexes +} from '../../types/GraphManagementStore/metadataConfigsStore'; +import i18next from '../../../i18n'; + +export class VertexTypeStore { + metadataConfigsRootStore: MetadataConfigsRootStore; + + constructor(MetadataConfigsRootStore: MetadataConfigsRootStore) { + this.metadataConfigsRootStore = MetadataConfigsRootStore; + } + + @observable validateLicenseOrMemories = true; + @observable currentTabStatus = 'list'; + + @observable.shallow requestStatus = { + fetchVertexTypeList: 'pending', + checkIfUsing: 'pending', + addVertexType: 'pending', + updateVertexType: 'pending', + deleteVertexType: 'pending', + checkConflict: 'pending', + recheckConflict: 'pending', + reuseVertexType: 'pending' + }; + + @observable vertexListPageConfig: PageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + + @observable errorMessage = ''; + + @observable.ref colorSchemas = [ + '#5c73e6', + '#569380', + '#8ecc93', + '#fe9227', + '#fe5b5d', + '#fd6ace', + '#4d8dda', + '#57c7e3', + '#ffe081', + '#c570ff', + '#2b65ff', + '#0eb880', + '#76c100', + '#ed7600', + '#e65055', + '#a64ee6', + '#108cee', + '#00b5d9', + '#f2ca00', + '#e048ae' + ]; + + @observable.ref vertexSizeSchemas = [ + { ch: '超小', en: 'TINY' }, + { ch: '小', en: 'SMALL' }, + { ch: '中', en: 'NORMAL' }, + { ch: '大', en: 'BIG' }, + { ch: '超大', en: 'HUGE' } + ]; + + @observable.shallow newVertexType: VertexType = { + name: '', + id_strategy: 'PRIMARY_KEY', + properties: [], + primary_keys: [], + property_indexes: [], + open_label_index: false, + style: { + color: '#5c73e6', + icon: null, + size: 'NORMAL', + display_fields: ['~id'] + } + }; + + // should user able to create new vertex type + @observable isCreatedReady = false; + // should user able to create new property index + @observable isAddNewPropertyIndexReady = true; + + // only have to check property + @observable isEditReady = true; + + @observable.ref selectedVertexType: VertexType | null = null; + @observable.ref selectedVertexTypeNames: string[] = []; + @observable.ref editedSelectedVertexType: EditVertexTypeParams = { + append_properties: [], + append_property_indexes: [], + remove_property_indexes: [], + style: { + color: '#5c73e6', + icon: null, + size: 'NORMAL', + display_fields: ['~id'] + } + }; + + @observable addedPropertiesInSelectedVertextType: Set = new Set(); + + @observable.ref vertexTypes: VertexType[] = []; + + @observable vertexTypeUsingStatus: Record | null = null; + + // reuse + @observable reusableVertexTypes: VertexType[] = []; + @observable checkedReusableData: CheckedReusableData | null = null; + @observable + editedCheckedReusableData: CheckedReusableData | null = null; + + @observable reusableVertexTypeNameChangeIndexes: Set = new Set< + number + >(); + @observable reusablePropertyNameChangeIndexes: Set = new Set< + number + >(); + @observable reusablePropertyIndexNameChangeIndexes: Set = new Set< + number + >(); + + @observable validateNewVertexTypeErrorMessage: Record< + VertexTypeValidateFields, + string | VertexTypeValidatePropertyIndexes[] + > = { + name: '', + properties: '', + primaryKeys: '', + displayFeilds: '', + propertyIndexes: [] + }; + + @observable.shallow validateEditVertexTypeErrorMessage: Record< + 'propertyIndexes', + VertexTypeValidatePropertyIndexes[] + > = { + propertyIndexes: [] + }; + + @observable validateReuseErrorMessage: Record< + 'vertexType' | 'property' | 'property_index', + string + > = { + vertexType: '', + property: '', + property_index: '' + }; + + @observable validateRenameReuseVertexErrorMessage: Record< + 'vertex' | 'property' | 'property_index', + { name: string } + > = { + vertex: { + name: '' + }, + property: { + name: '' + }, + property_index: { + name: '' + } + }; + + @computed get reusableVertexTypeDataMap() { + const dataMap: Record> = {}; + + this.reusableVertexTypes.forEach(({ name }) => { + dataMap[name] = { + key: name, + title: name + }; + }); + + return dataMap; + } + + @computed get isReadyToReuse() { + return ( + this.editedCheckedReusableData && + this.editedCheckedReusableData!.propertykey_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + this.editedCheckedReusableData!.vertexlabel_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + this.editedCheckedReusableData!.propertyindex_conflicts.every( + ({ status }) => status === 'PASSED' || status === 'EXISTED' + ) && + // no data standingby validation + this.reusableVertexTypeNameChangeIndexes.size === 0 && + this.reusablePropertyNameChangeIndexes.size === 0 && + this.reusablePropertyIndexNameChangeIndexes.size === 0 + ); + } + + @action + changeCurrentTabStatus(status: string) { + this.currentTabStatus = status; + } + + @action + mutateNewProperty(newVertexType: VertexType) { + this.newVertexType = newVertexType; + } + + @action + mutateSelectedVertexTypeNames(names: string[]) { + this.selectedVertexTypeNames = names; + } + + @action + mutatePageNumber(pageNumber: number) { + this.vertexListPageConfig.pageNumber = pageNumber; + } + + @action + mutatePageSort(sort: 'desc' | 'asc') { + this.vertexListPageConfig.sort = sort; + } + + @action + selectVertexType(index: number | null) { + if (index === null) { + this.selectedVertexType = null; + return; + } + + this.selectedVertexType = cloneDeep(this.vertexTypes[index]); + } + + @action + mutateSelectedProperty(selectedProperty: VertexType) { + this.selectedVertexType = selectedProperty; + } + + @action + mutateEditedSelectedVertexType( + editedSelectedVertexType: EditVertexTypeParams + ) { + this.editedSelectedVertexType = editedSelectedVertexType; + } + + @action + resetNewVertextType() { + this.newVertexType = { + name: '', + id_strategy: 'PRIMARY_KEY', + properties: [], + primary_keys: [], + property_indexes: [], + open_label_index: false, + style: { + color: '#5c73e6', + icon: null, + size: 'NORMAL', + display_fields: ['~id'] + } + }; + + this.isCreatedReady = false; + } + + @action + resetAddedPropertiesInSelectedVertextType() { + this.addedPropertiesInSelectedVertextType.clear(); + } + + @action + resetEditedSelectedVertexType() { + this.editedSelectedVertexType = { + append_properties: [], + append_property_indexes: [], + remove_property_indexes: [], + style: { + color: '#5c73e6', + icon: null, + size: 'NORMAL', + display_fields: ['~id'] + } + }; + + // need to clear checkbox status either + this.resetAddedPropertiesInSelectedVertextType(); + } + + // reuse + + @action + mutateEditedReusableData(newEditedReusableVertexTypes: CheckedReusableData) { + this.editedCheckedReusableData = newEditedReusableVertexTypes; + } + + @action + mutateReusableVertexTypeChangeIndexes(index: number) { + this.reusableVertexTypeNameChangeIndexes.add(index); + } + + @action + mutateReusablePropertyNameChangeIndexes(index: number) { + this.reusablePropertyNameChangeIndexes.add(index); + } + + @action + mutateReusablePropertyIndexNameChangeIndexes(index: number) { + this.reusablePropertyIndexNameChangeIndexes.add(index); + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusableVertexTypeName(index: number) { + this.editedCheckedReusableData!.vertexlabel_conflicts[ + index + ].entity.name = this.checkedReusableData!.vertexlabel_conflicts[ + index + ].entity.name; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusablePropertyName(index: number) { + this.editedCheckedReusableData!.propertykey_conflicts[ + index + ].entity.name = this.checkedReusableData!.propertykey_conflicts[ + index + ].entity.name; + } + + // if cancel clicked, reset to the original name + @action + resetEditedReusablePropertyIndexName(index: number) { + this.editedCheckedReusableData!.propertyindex_conflicts[ + index + ].entity.name = this.checkedReusableData!.propertyindex_conflicts[ + index + ].entity.name; + } + + @action + clearReusableNameChangeIndexes() { + this.reusableVertexTypeNameChangeIndexes.clear(); + this.reusablePropertyNameChangeIndexes.clear(); + this.reusablePropertyIndexNameChangeIndexes.clear(); + } + + @action + resetReusableVertexTypes() { + this.reusableVertexTypes = []; + } + + @action + validateNewVertexType(category: VertexTypeValidateFields, initial = false) { + let isReady = true; + + // if initial is true, error message won't be assigned + // which intends to not pop up error layer + if (category === 'name') { + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(this.newVertexType.name)) { + if (this.newVertexType.name.length === 0) { + !initial && + (this.validateNewVertexTypeErrorMessage.name = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } else { + !initial && + (this.validateNewVertexTypeErrorMessage.name = i18next.t( + 'addition.store.rule4' + )); + isReady = false; + } + } else { + this.validateNewVertexTypeErrorMessage.name = ''; + } + } + + if (category === 'properties') { + if ( + this.newVertexType.properties.length === 0 && + this.newVertexType.id_strategy === 'PRIMARY_KEY' + ) { + !initial && + (this.validateNewVertexTypeErrorMessage.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'primaryKeys') { + if ( + this.newVertexType.id_strategy === 'PRIMARY_KEY' && + this.newVertexType.primary_keys.length === 0 + ) { + !initial && + (this.validateNewVertexTypeErrorMessage.primaryKeys = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'displayFeilds') { + if (this.newVertexType.style.display_fields.length === 0) { + !initial && + (this.validateNewVertexTypeErrorMessage.displayFeilds = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + } + } + + if (category === 'propertyIndexes') { + this.isAddNewPropertyIndexReady = true; + + this.validateNewVertexTypeErrorMessage.propertyIndexes = this.newVertexType.property_indexes.map( + ({ name, type, fields }) => { + const validatedPropertyIndex = { + name: '', + type: '', + properties: '' + }; + + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { + if (!initial) { + if (name.length !== 0) { + validatedPropertyIndex.name = i18next.t('addition.store.rule4'); + } else { + validatedPropertyIndex.name = i18next.t( + 'addition.store.item-is-required' + ); + } + } + + isReady = false; + this.isAddNewPropertyIndexReady = false; + } else { + validatedPropertyIndex.name = ''; + } + + if (type.length === 0) { + !initial && + (validatedPropertyIndex.type = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + this.isAddNewPropertyIndexReady = false; + } else { + validatedPropertyIndex.type = ''; + } + + if (Array.isArray(fields)) { + if (fields.length === 0) { + !initial && + (validatedPropertyIndex.properties = i18next.t( + 'addition.store.item-is-required' + )); + isReady = false; + this.isAddNewPropertyIndexReady = false; + } + } else { + validatedPropertyIndex.properties = ''; + } + + return validatedPropertyIndex; + } + ); + } + + return isReady; + } + + @action + validateAllNewVertexType(initial = false) { + this.isCreatedReady = + this.validateNewVertexType('name', initial) && + this.validateNewVertexType('properties', initial) && + this.validateNewVertexType('primaryKeys', initial) && + this.validateNewVertexType('propertyIndexes', initial) && + this.validateNewVertexType('displayFeilds', initial); + } + + @action + validateEditVertexType(initial = false) { + this.isEditReady = true; + + this.validateEditVertexTypeErrorMessage.propertyIndexes = this.editedSelectedVertexType.append_property_indexes.map( + ({ name, type, fields }) => { + const validatedPropertyIndex = { + name: '', + type: '', + properties: '' + }; + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(name)) { + if (!initial) { + if (name.length !== 0) { + validatedPropertyIndex.name = i18next.t('addition.store.rule4'); + } else { + validatedPropertyIndex.name = i18next.t( + 'addition.store.item-is-required' + ); + } + } + + this.isEditReady = false; + } else { + validatedPropertyIndex.name = ''; + } + + if (type.length === 0) { + !initial && + (validatedPropertyIndex.type = i18next.t( + 'addition.store.item-is-required' + )); + this.isEditReady = false; + } else { + validatedPropertyIndex.type = ''; + } + + if (Array.isArray(fields)) { + if (fields.length === 0) { + !initial && + (validatedPropertyIndex.properties = i18next.t( + 'addition.store.item-is-required' + )); + this.isEditReady = false; + } + } else { + validatedPropertyIndex.properties = ''; + } + + return validatedPropertyIndex; + } + ); + } + + @action + validateReuseData( + category: 'vertexType' | 'property' | 'property_index', + originalValue: string, + newValue: string + ) { + if (!/^[\w\u4e00-\u9fa5]{1,128}$/.test(newValue)) { + if (newValue.length === 0) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.item-is-required' + ); + } else { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.rule4' + ); + } + + return false; + } + + // if value has changed + if (originalValue !== newValue) { + if (category === 'vertexType') { + if ( + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-vertex-name-notice' + ); + + return false; + } + } + + if (category === 'property') { + // check if there's an existed value equals to new value + if ( + !isUndefined( + this.checkedReusableData!.propertykey_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) || + !isUndefined( + this.checkedReusableData!.propertyindex_conflicts.find( + ({ entity }) => + !isUndefined( + entity.fields.find((fieldName) => fieldName === newValue) + ) + ) + ) || + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.properties.find(({ name }) => name === newValue) + ) || + !isUndefined( + entity.primary_keys.find((key) => key === newValue) + ) || + !isUndefined( + entity.property_indexes.find( + ({ fields }) => + !isUndefined( + fields.find((fieldName) => fieldName === newValue) + ) + ) + ) + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-property-name-notice' + ); + + return false; + } + } + + if (category === 'property_index') { + if ( + !isUndefined( + this.checkedReusableData!.propertyindex_conflicts.find( + ({ entity }) => entity.name === newValue + ) + ) || + !isUndefined( + this.checkedReusableData!.vertexlabel_conflicts.find( + ({ entity }) => + !isUndefined( + entity.property_indexes.find(({ name }) => name === newValue) + ) + ) + ) + ) { + this.validateReuseErrorMessage[category] = i18next.t( + 'addition.store.same-index-name-notice' + ); + + return false; + } + } + } + + return true; + } + + @action + mutateReuseData( + category: 'vertexType' | 'property' | 'property_index', + originalValue: string, + newValue: string + ) { + const editedCheckedReusableData = cloneDeep(this.editedCheckedReusableData); + + if (category === 'vertexType') { + } + + if (category === 'property') { + editedCheckedReusableData!.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const mutatePropertyIndex = entity.properties.findIndex( + ({ name }) => name === originalValue + ); + + if (mutatePropertyIndex !== -1) { + entity.properties[mutatePropertyIndex].name = newValue; + // property name in current vertex label has been edited + this.reusableVertexTypeNameChangeIndexes.add(index); + } + + const primaryKeyIndex = entity.primary_keys.findIndex( + (key) => key === originalValue + ); + + if (primaryKeyIndex !== -1) { + entity.primary_keys[primaryKeyIndex] = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + + entity.property_indexes.forEach(({ fields }) => { + const mutatePropertyIndexIndex = fields.findIndex( + (fieldName) => fieldName === originalValue + ); + + if (mutatePropertyIndexIndex !== -1) { + fields[mutatePropertyIndex] = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + }); + } + ); + + editedCheckedReusableData!.propertyindex_conflicts.forEach( + ({ entity }, index) => { + const mutateIndex = entity.fields.findIndex( + (fieldName) => fieldName === originalValue + ); + + if (mutateIndex !== -1) { + entity.fields[mutateIndex] = newValue; + this.reusablePropertyIndexNameChangeIndexes.add(index); + } + } + ); + } + + if (category === 'property_index') { + editedCheckedReusableData!.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const mutateVertexIndex = entity.property_indexes.findIndex( + ({ name }) => name === originalValue + ); + + if (mutateVertexIndex !== -1) { + entity.property_indexes[mutateVertexIndex].name = newValue; + this.reusableVertexTypeNameChangeIndexes.add(index); + } + } + ); + } + + this.editedCheckedReusableData = editedCheckedReusableData; + this.checkedReusableData = cloneDeep(editedCheckedReusableData); + } + + @action + deleteReuseData( + category: + | 'vertexlabel_conflicts' + | 'propertykey_conflicts' + | 'propertyindex_conflicts', + index: number + ) { + if (this.editedCheckedReusableData !== null) { + const editedCheckedReusableData = cloneDeep( + this.editedCheckedReusableData + ); + + if (category === 'vertexlabel_conflicts') { + const deletedVertexType = + editedCheckedReusableData.vertexlabel_conflicts[index]; + const deletedPropertyNames: string[] = []; + const deletedPropertyIndexNames: string[] = []; + + deletedVertexType.entity.properties.forEach(({ name }) => { + deletedPropertyNames.push(name); + }); + + deletedVertexType.entity.property_indexes.forEach(({ name }) => { + deletedPropertyIndexNames.push(name); + }); + + editedCheckedReusableData.vertexlabel_conflicts.splice(index, 1); + + // if there's no vertex labels, return since it will move back to the previous step + if (editedCheckedReusableData.vertexlabel_conflicts.length === 0) { + return; + } + + deletedPropertyIndexNames.forEach((propertyIndexName) => { + remove( + editedCheckedReusableData.propertyindex_conflicts, + ({ entity }) => entity.name === propertyIndexName + ); + }); + + deletedPropertyNames + .filter( + (propertyName) => + !isUndefined( + editedCheckedReusableData.vertexlabel_conflicts.find( + ({ entity }) => + isUndefined( + entity.properties.find( + ({ name }) => name === propertyName + ) + ) + ) + ) + ) + .forEach((propertyName) => { + remove( + editedCheckedReusableData.propertykey_conflicts, + ({ entity }) => entity.name === propertyName + ); + }); + } + + if (category === 'propertykey_conflicts') { + const deletedName = + editedCheckedReusableData.propertykey_conflicts[index].entity.name; + // remove property in properties + editedCheckedReusableData.propertykey_conflicts.splice(index, 1); + + // remove property in property index + editedCheckedReusableData.propertyindex_conflicts.forEach( + ({ entity }) => { + remove(entity.fields, (name) => name === deletedName); + } + ); + + remove( + editedCheckedReusableData.propertyindex_conflicts, + ({ entity }) => entity.fields.length === 0 + ); + + // remove property in vertex labels + editedCheckedReusableData.vertexlabel_conflicts.forEach( + ({ entity }, vertexlabelIndex) => { + const cb = (param: { name: string } | string) => { + const name = typeof param === 'string' ? param : param.name; + + if (name === deletedName) { + this.reusableVertexTypeNameChangeIndexes.add(vertexlabelIndex); + return true; + } + + return false; + }; + + remove(entity.properties, cb); + remove(entity.primary_keys, cb); + + entity.property_indexes.forEach(({ fields }) => { + remove(fields, cb); + }); + } + ); + } + + if (category === 'propertyindex_conflicts') { + const { + name: deletedPropertyIndexName, + fields + } = editedCheckedReusableData.propertyindex_conflicts[index].entity; + + editedCheckedReusableData.propertyindex_conflicts.splice(index, 1); + + // delete property index in vertex label + editedCheckedReusableData.vertexlabel_conflicts.forEach( + ({ entity }, index) => { + const deletedIndex = entity.property_indexes.findIndex( + ({ name }) => name === deletedPropertyIndexName + ); + + if (deletedIndex !== -1) { + this.reusableVertexTypeNameChangeIndexes.add(index); + entity.property_indexes.splice(deletedIndex, 1); + } + } + ); + } + + this.mutateEditedReusableData(editedCheckedReusableData); + } + } + + @action + resetValidateNewVertexTypeMessage( + category?: VertexTypeValidateFields, + propertIndexIndex?: number, + propertIndexProperty?: keyof VertexTypeValidatePropertyIndexes + ) { + if (isUndefined(category)) { + this.validateNewVertexTypeErrorMessage = { + name: '', + properties: '', + primaryKeys: '', + displayFeilds: '', + propertyIndexes: [] + }; + + return; + } + + if (category === 'propertyIndexes') { + (this.validateNewVertexTypeErrorMessage + .propertyIndexes as VertexTypeValidatePropertyIndexes[])[ + propertIndexIndex as number + ][propertIndexProperty as keyof VertexTypeValidatePropertyIndexes] = ''; + + return; + } + + this.validateNewVertexTypeErrorMessage[category] = ''; + } + + @action + resetValidateReuseErrorMessage( + category?: 'vertexType' | 'property' | 'property_index' + ) { + if (isUndefined(category)) { + this.validateReuseErrorMessage = { + property: '', + property_index: '', + vertexType: '' + }; + + return; + } + + this.validateReuseErrorMessage[category] = ''; + } + + @action + dispose() { + this.currentTabStatus = 'list'; + this.requestStatus = { + fetchVertexTypeList: 'pending', + checkIfUsing: 'pending', + addVertexType: 'pending', + updateVertexType: 'pending', + deleteVertexType: 'pending', + checkConflict: 'pending', + recheckConflict: 'pending', + reuseVertexType: 'pending' + }; + this.vertexListPageConfig = { + pageNumber: 1, + pageTotal: 0, + sort: '' + }; + this.errorMessage = ''; + + this.isCreatedReady = false; + this.isAddNewPropertyIndexReady = true; + this.isEditReady = true; + + this.resetNewVertextType(); + this.selectedVertexType = null; + this.selectedVertexTypeNames = []; + this.resetEditedSelectedVertexType(); + this.vertexTypes = []; + this.vertexTypeUsingStatus = null; + // reuse + this.reusableVertexTypes = []; + this.checkedReusableData = null; + this.editedCheckedReusableData = null; + this.resetValidateNewVertexTypeMessage(); + this.resetValidateReuseErrorMessage(); + } + + fetchVertexTypeList = flow(function* fetchVertexTypeList( + this: VertexTypeStore, + options?: { fetchAll?: boolean; reuseId?: number } + ) { + this.requestStatus.fetchVertexTypeList = 'pending'; + + const conn_id = + options && typeof options.reuseId === 'number' + ? options.reuseId + : this.metadataConfigsRootStore.currentId; + + try { + const result: AxiosResponse> = yield axios + .get(`${baseUrl}/${conn_id}/schema/vertexlabels`, { + params: { + page_no: this.vertexListPageConfig.pageNumber, + page_size: !options ? 10 : -1, + name_order: + this.vertexListPageConfig.sort !== '' + ? this.vertexListPageConfig.sort + : null + } + }) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + if (result.data.status === 401) { + this.validateLicenseOrMemories = false; + } + + throw new Error(result.data.message); + } + + if (options && typeof options.reuseId === 'number') { + this.reusableVertexTypes = result.data.data.records; + } else { + this.vertexTypes = result.data.data.records; + this.vertexListPageConfig.pageTotal = result.data.data.total; + } + + if (this.currentTabStatus !== 'reuse') { + result.data.data.records.length === 0 + ? (this.currentTabStatus = 'empty') + : (this.currentTabStatus = 'list'); + } + + this.requestStatus.fetchVertexTypeList = 'success'; + } catch (error) { + this.requestStatus.fetchVertexTypeList = 'failed'; + this.errorMessage = error.message; + } + }); + + checkIfUsing = flow(function* checkIfUsing( + this: VertexTypeStore, + selectedPropertyNames: string[] + ) { + this.requestStatus.checkIfUsing = 'pending'; + + try { + const result: AxiosResponse + >> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/check_using`, + { + names: selectedPropertyNames + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.vertexTypeUsingStatus = result.data.data; + this.requestStatus.checkIfUsing = 'success'; + } catch (error) { + this.requestStatus.checkIfUsing = 'failed'; + this.errorMessage = error.message; + } + }); + + addVertexType = flow(function* addVertexType(this: VertexTypeStore) { + this.requestStatus.addVertexType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels`, + { + name: this.newVertexType.name, + id_strategy: this.newVertexType.id_strategy, + properties: this.newVertexType.properties, + primary_keys: this.newVertexType.primary_keys, + property_indexes: this.newVertexType.property_indexes, + open_label_index: this.newVertexType.open_label_index, + style: this.newVertexType.style + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.addVertexType = 'success'; + } catch (error) { + this.requestStatus.addVertexType = 'failed'; + this.errorMessage = error.message; + } + }); + + updateVertexType = flow(function* updateVertexType(this: VertexTypeStore) { + this.requestStatus.updateVertexType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .put( + `${baseUrl}/${ + this.metadataConfigsRootStore.currentId + }/schema/vertexlabels/${this.selectedVertexType!.name}`, + { + append_properties: this.editedSelectedVertexType.append_properties, + append_property_indexes: this.editedSelectedVertexType + .append_property_indexes, + remove_property_indexes: this.editedSelectedVertexType + .remove_property_indexes, + style: this.editedSelectedVertexType.style + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.updateVertexType = 'success'; + } catch (error) { + this.requestStatus.updateVertexType = 'failed'; + this.errorMessage = error.message; + } + }); + + deleteVertexType = flow(function* deleteVertexType( + this: VertexTypeStore, + selectedVertexTypeNames: string[] + ) { + this.requestStatus.deleteVertexType = 'pending'; + + const combinedParams = selectedVertexTypeNames + .map((name) => 'names=' + name) + .join('&'); + + try { + const result: AxiosResponse> = yield axios + .delete( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels?` + + combinedParams + + `&skip_using=${String(size(selectedVertexTypeNames) !== 1)}` + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + if ( + selectedVertexTypeNames.length === this.vertexTypes.length && + this.vertexListPageConfig.pageNumber === + Math.ceil(this.vertexListPageConfig.pageTotal / 10) && + this.vertexListPageConfig.pageNumber > 1 + ) { + this.vertexListPageConfig.pageNumber = + this.vertexListPageConfig.pageNumber - 1; + } + + this.requestStatus.deleteVertexType = 'success'; + } catch (error) { + this.requestStatus.deleteVertexType = 'failed'; + this.errorMessage = error.message; + } + }); + + checkConflict = flow(function* checkConflict( + this: VertexTypeStore, + reuseId: string, + selectedVertexTypes: string[] + ) { + this.requestStatus.checkConflict = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/check_conflict`, + { + vertexlabels: selectedVertexTypes.map((selectedVertexType) => + this.reusableVertexTypes.find( + ({ name }) => name === selectedVertexType + ) + ) + }, + { + params: { + reused_conn_id: this.metadataConfigsRootStore.graphManagementStore.idList.find( + ({ name }) => name === reuseId + )!.id + } + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableData = result.data.data; + this.editedCheckedReusableData = cloneDeep(result.data.data); + this.requestStatus.checkConflict = 'success'; + } catch (error) { + this.requestStatus.checkConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + recheckConflict = flow(function* recheckConflict(this: VertexTypeStore) { + this.requestStatus.recheckConflict = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/recheck_conflict`, + { + propertykeys: this.editedCheckedReusableData!.propertykey_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ), + propertyindexes: this.editedCheckedReusableData!.propertyindex_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ), + vertexlabels: this.editedCheckedReusableData!.vertexlabel_conflicts.map( + ({ entity }) => ({ + ...entity + }) + ) + } + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.checkedReusableData = result.data.data; + this.editedCheckedReusableData = cloneDeep(result.data.data); + this.requestStatus.recheckConflict = 'success'; + } catch (error) { + this.requestStatus.recheckConflict = 'failed'; + this.errorMessage = error.message; + } + }); + + reuseVertexType = flow(function* reuseVertexType(this: VertexTypeStore) { + this.requestStatus.reuseVertexType = 'pending'; + + try { + const result: AxiosResponse> = yield axios + .post( + `${baseUrl}/${this.metadataConfigsRootStore.currentId}/schema/vertexlabels/reuse`, + this.editedCheckedReusableData + ) + .catch(checkIfLocalNetworkOffline); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.requestStatus.reuseVertexType = 'success'; + } catch (error) { + this.requestStatus.reuseVertexType = 'failed'; + this.errorMessage = error.message; + } + }); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/appStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/appStore.ts new file mode 100644 index 000000000..d8819211f --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/appStore.ts @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { createContext } from 'react'; +import { observable, action, flow } from 'mobx'; +import axios, { AxiosResponse } from 'axios'; +import { responseData, baseUrl } from './types/common'; + +export class AppStore { + @observable user: string = 'Hi, User name'; + @observable currentId: number | null = null; + @observable currentTab: string = 'graph-management'; + @observable errorMessage = ''; + + @observable colorList: string[] = []; + + @observable.shallow requestStatus = { + fetchColorList: 'pending' + }; + + @action.bound + setCurrentId(id: number) { + this.currentId = id; + } + + @action.bound + switchCurrentTab(tab: string) { + this.currentTab = tab; + } + + @action.bound + setUser(user: string) { + this.user = user; + } + + @action + dispose() { + this.user = 'Hi, User name'; + this.currentTab = 'graph-management'; + this.requestStatus = { + fetchColorList: 'pending' + }; + } + + fetchColorList = flow(function* fetchColorList(this: AppStore) { + this.requestStatus.fetchColorList = 'pending'; + + try { + const result: AxiosResponse> = yield axios.get( + `${baseUrl}/${this.currentId}/schema/vertexlabels/optional-colors` + ); + + if (result.data.status !== 200) { + throw new Error(result.data.message); + } + + this.colorList = result.data.data; + this.requestStatus.fetchColorList = 'success'; + } catch (error) { + this.requestStatus.fetchColorList = 'failed'; + this.errorMessage = error.message; + console.error(error.message); + } + }); +} + +export default createContext(new AppStore()); diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/asyncTasksStore.ts new file mode 100644 index 000000000..9a0a54052 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/asyncTasksStore.ts @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function initRequestStatus() { + return { + fetchAsyncTaskList: 'standby', + fetchAsyncTask: 'standby', + deleteAsyncTask: 'standby', + abortAsyncTask: 'standby' + }; +} + +export function initErrorInfo() { + return { + fetchAsyncTaskList: { + code: NaN, + message: '' + }, + fetchAsyncTask: { + code: NaN, + message: '' + }, + deleteAsyncTask: { + code: NaN, + message: '' + }, + abortAsyncTask: { + code: NaN, + message: '' + } + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/algorithmStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/algorithmStore.ts new file mode 100644 index 000000000..b58aa6cd4 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/algorithmStore.ts @@ -0,0 +1,529 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { v4 } from 'uuid'; + +export enum Algorithm { + loopDetection = 'loop-detection', + focusDetection = 'focus-detection', + shortestPath = 'shortest-path', + shortestPathAll = 'shortest-path-all', + allPath = 'all-path', + modelSimilarity = 'model-similarity', + neighborRank = 'neighbor-rank', + kStepNeighbor = 'k-step-neighbor', + kHop = 'k-hop', + customPath = 'custom-path', + radiographicInspection = 'radiographic-inspection', + sameNeighbor = 'same-neighbor', + weightedShortestPath = 'weighted-shortest-path', + singleSourceWeightedShortestPath = 'single-source-weighted-shortest-path', + jaccard = 'jaccard', + personalRankRecommendation = 'personal-rank' +} + +export function initializeRequestStatus() { + return { + fetchAlgorithmResult: 'standby' + }; +} + +export function initializeErrorInfo() { + return { + fetchAlgorithmResult: { + code: NaN, + message: '' + } + }; +} + +export function createLoopDetectionDefaultParams() { + return { + source: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + source_in_ring: true, + limit: '10', + capacity: '10000000' + }; +} + +export function createValidateLoopDetectionParamsErrorMessage() { + return { + source: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + source_in_ring: '', + limit: '', + capacity: '' + }; +} + +export function createFocusDetectionDefaultParams() { + return { + source: '', + target: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + capacity: '10000000', + limit: '10' + }; +} + +export function createValidateFocusDetectionParamsErrorMessage() { + return { + source: '', + target: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '', + limit: '' + }; +} + +export function createShortestPathDefaultParams() { + return { + source: '', + target: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + skip_degree: '0', + capacity: '10000000' + }; +} + +export function createValidateShortestPathParamsErrorMessage() { + return { + source: '', + target: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '' + }; +} + +export function createShortestPathAllDefaultParams() { + return { + source: '', + target: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + skip_degree: '0', + capacity: '10000000' + }; +} + +export function createValidateShortestPathAllParamsErrorMessage() { + return { + source: '', + target: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '' + }; +} + +export function createAllPathDefaultParams() { + return { + source: '', + target: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + skip_degree: '0', + capacity: '10000000', + limit: '10' + }; +} + +export function createValidateAllPathParamsErrorMessage() { + return { + source: '', + target: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '', + limit: '' + }; +} + +export function createModelSimilarityDefaultParams() { + return { + method: 'id', + source: '', + vertexType: '', + vertexProperty: [['', '']], + direction: 'BOTH', + least_neighbor: '', + similarity: '', + label: '__all__', + max_similar: '1', + least_similar: '1', + property_filter: '', + least_property_number: '', + max_degree: '10000', + capacity: '10000000', + limit: '10', + return_common_connection: false, + return_complete_info: false + }; +} + +export function createValidateModelSimilarParamsErrorMessage() { + return { + method: '', + source: '', + vertexType: '', + vertexProperty: '', + direction: '', + least_neighbor: '', + similarity: '', + label: '', + max_similar: '', + least_similar: '', + property_filter: '', + least_property_number: '', + max_degree: '', + capacity: '', + limit: '', + return_common_connection: '', + return_complete_info: '' + }; +} + +export function createNeighborRankDefaultParams(): { + source: string; + alpha: string; + capacity: string; + steps: { + uuid: string; + direction: string; + labels: string[]; + degree: string; + top: string; + }[]; +} { + return { + source: '', + alpha: '', + capacity: '10000000', + steps: [ + { + uuid: v4(), + direction: 'BOTH', + labels: ['__all__'], + degree: '10000', + top: '100' + } + ] + }; +} + +export function createValidateNeighborRankErrorMessage(): { + source: string; + alpha: string; + capacity: string; + steps: { + uuid: string; + direction: string; + labels: string; + degree: string; + top: string; + }[]; +} { + return { + source: '', + alpha: '', + capacity: '', + steps: [ + { + uuid: '', + direction: '', + labels: '', + degree: '', + top: '' + } + ] + }; +} + +export function createKStepNeighborDefaultParams() { + return { + source: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + limit: '10000000' + }; +} + +export function createValidateKStepNeighborParamsErrorMessage() { + return { + source: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + limit: '' + }; +} + +export function createKHopDefaultParams() { + return { + source: '', + direction: 'BOTH', + max_depth: '', + nearest: true, + label: '__all__', + max_degree: '10000', + limit: '10000000', + capacity: '10000000' + }; +} + +export function createValidateKHopParamsErrorMessage() { + return { + source: '', + direction: '', + max_depth: '', + nearest: '', + label: '', + max_degree: '', + limit: '', + capacity: '' + }; +} + +export function createCustomPathDefaultParams() { + return { + method: 'id', + source: '', + vertexType: '', + vertexProperty: [['', '']], + sort_by: 'NONE', + capacity: '10000000', + limit: '10', + steps: [ + { + uuid: v4(), + direction: 'BOTH', + labels: [], + properties: [['', '']], + weight_by: '', + default_weight: '', + degree: '10000', + sample: '100' + } + ] + }; +} + +export function createValidateCustomPathParamsErrorMessage() { + return { + method: '', + source: '', + vertexType: '', + vertexProperty: '', + sort_by: '', + capacity: '', + limit: '', + steps: [ + { + uuid: '', + direction: '', + labels: '', + properties: '', + weight_by: '', + default_weight: '', + degree: '', + sample: '' + } + ] + }; +} + +export function createRadiographicInspectionDefaultParams() { + return { + source: '', + direction: 'BOTH', + max_depth: '', + label: '__all__', + max_degree: '10000', + capacity: '1000000', + limit: '10' + }; +} + +export function createValidateRadiographicInspectionParamsErrorMessage() { + return { + source: '', + direction: '', + max_depth: '', + label: '', + max_degree: '', + capacity: '', + limit: '' + }; +} + +export function createSameNeighborDefaultParams() { + return { + vertex: '', + other: '', + direction: 'BOTH', + label: '__all__', + max_degree: '10000', + limit: '10000000' + }; +} + +export function createValidateSameNeighborParamsErrorMessage() { + return { + vertex: '', + other: '', + direction: '', + label: '', + max_degree: '', + limit: '' + }; +} + +export function createWeightedShortestPathDefaultParams() { + return { + source: '', + target: '', + direction: 'BOTH', + weight: '', + with_vertex: true, + label: '__all__', + max_degree: '10000', + skip_degree: '0', + capacity: '10000000' + }; +} + +export function createValidateWeightedShortestPathParamsErrorMessage() { + return { + source: '', + target: '', + direction: '', + weight: '', + with_vertex: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '' + }; +} + +export function createSingleSourceWeightedShortestPathDefaultParams() { + return { + source: '', + direction: 'BOTH', + weight: '', + with_vertex: true, + label: '__all__', + max_degree: '10000', + skip_degree: '0', + capacity: '10000000', + limit: '10' + }; +} + +export function createValidateSingleSourceWeightedShortestPathParamsErrorMessage() { + return { + source: '', + direction: '', + weight: '', + with_vertex: '', + label: '', + max_degree: '', + skip_degree: '', + capacity: '', + limit: '' + }; +} + +export function createJaccardDefaultParams() { + return { + vertex: '', + other: '', + direction: 'BOTH', + label: '__all__', + max_degree: '10000' + }; +} + +export function createValidateJaccardParamsErrorMessage() { + return { + vertex: '', + other: '', + direction: '', + label: '', + max_degree: '' + }; +} + +export function createPersonalRankDefaultParams() { + return { + source: '', + alpha: '', + max_depth: '', + with_label: 'SAME_LABEL', + label: '', + degree: '10000', + limit: '10000000', + sorted: true + }; +} + +export function createValidatePersonalRankParamsErrorMessage() { + return { + source: '', + alpha: '', + max_depth: '', + with_label: '', + label: '', + degree: '', + limit: '', + sorted: '' + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts new file mode 100644 index 000000000..236a95734 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataAnalyzeStore/dataAnalyzeStore.ts @@ -0,0 +1,183 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function initalizeRequestStatus() { + return { + fetchIdList: 'standby', + fetchValueTypes: 'standby', + fetchVertexTypeList: 'standby', + fetchColorSchemas: 'standby', + fetchColorList: 'standby', + fetchEdgeTypes: 'standby', + fetchAllNodeStyle: 'standby', + fetchAllEdgeStyle: 'standby', + fetchAllPropertyIndexes: 'standby', + fetchGraphs: 'standby', + createAsyncTask: 'standby', + addGraphNode: 'standby', + fetchRelatedEdges: 'standby', + addGraphEdge: 'standby', + expandGraphNode: 'standby', + filteredGraphData: 'standby', + updateGraphProperties: 'standby', + fetchRelatedVertex: 'standby', + fetchFilteredPropertyOptions: 'standby', + addQueryCollection: 'standby', + editQueryCollection: 'standby', + deleteQueryCollection: 'standby', + fetchExecutionLogs: 'standby', + fetchFavoriteQueries: 'standby' + }; +} + +export function initalizeErrorInfo() { + return { + fetchIdList: { + code: NaN, + message: '' + }, + fetchValueTypes: { + code: NaN, + message: '' + }, + fetchVertexTypeList: { + code: NaN, + message: '' + }, + fetchColorSchemas: { + code: NaN, + message: '' + }, + fetchColorList: { + code: NaN, + message: '' + }, + fetchEdgeTypes: { + code: NaN, + message: '' + }, + fetchAllNodeStyle: { + code: NaN, + message: '' + }, + fetchAllEdgeStyle: { + code: NaN, + message: '' + }, + fetchAllPropertyIndexes: { + code: NaN, + message: '' + }, + fetchGraphs: { + code: NaN, + message: '' + }, + createAsyncTask: { + code: NaN, + message: '' + }, + addGraphNode: { + code: NaN, + message: '' + }, + fetchRelatedEdges: { + code: NaN, + message: '' + }, + addGraphEdge: { + code: NaN, + message: '' + }, + expandGraphNode: { + code: NaN, + message: '' + }, + filteredGraphData: { + code: NaN, + message: '' + }, + updateGraphProperties: { + code: NaN, + message: '' + }, + fetchRelatedVertex: { + code: NaN, + message: '' + }, + filteredPropertyOptions: { + code: NaN, + message: '' + }, + addQueryCollection: { + code: NaN, + message: '' + }, + editQueryCollection: { + code: NaN, + message: '' + }, + fetchExecutionLogs: { + code: NaN, + message: '' + }, + fetchFavoriteQueries: { + code: NaN, + message: '' + }, + deleteQueryCollection: { + code: NaN, + message: '' + } + }; +} + +export function createGraphNode() { + return { + id: '', + label: '', + properties: {} + }; +} + +export function createGraphEdge() { + return { + id: '', + source: '', + target: '', + label: '', + properties: {} + }; +} + +export function createGraphEditableProperties() { + return { + primary: new Map(), + nonNullable: new Map(), + nullable: new Map() + }; +} + +export function createNewGraphDataConfig() { + return { + id: '', + label: '', + properties: { + nullable: new Map(), + nonNullable: new Map() + } + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataImportRootStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataImportRootStore.ts new file mode 100644 index 000000000..442247a3d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataImportRootStore.ts @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function initRequestStatus() { + return { + fetchFilehashes: 'standby', + uploadFiles: 'standby', + deleteFiles: 'standby', + fetchVertexTypeList: 'standby', + fetchEdgeTypeList: 'standby', + sendUploadCompleteSignal: 'standby', + sendMappingCompleteSignal: 'standby' + }; +} + +export function initErrorInfo() { + return { + fetchFilehashes: { + code: NaN, + message: '' + }, + uploadFiles: { + code: NaN, + message: '' + }, + deleteFiles: { + code: NaN, + message: '' + }, + fetchVertexTypeList: { + code: NaN, + message: '' + }, + fetchEdgeTypeList: { + code: NaN, + message: '' + }, + sendUploadCompleteSignal: { + code: NaN, + message: '' + }, + sendMappingCompleteSignal: { + code: NaN, + message: '' + } + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataMapStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataMapStore.ts new file mode 100644 index 000000000..297383095 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/dataMapStore.ts @@ -0,0 +1,99 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function initRequestStatus() { + return { + updateFileConfig: 'standby', + fetchDataMaps: 'standby', + updateVertexMap: 'standby', + updateEdgeMap: 'standby', + deleteVertexMap: 'standby', + deleteEdgeMap: 'standby' + }; +} + +export function initErrorInfo() { + return { + updateFileConfig: { + code: NaN, + message: '' + }, + fetchDataMaps: { + code: NaN, + message: '' + }, + updateVertexMap: { + code: NaN, + message: '' + }, + updateEdgeMap: { + code: NaN, + message: '' + }, + deleteVertexMap: { + code: NaN, + message: '' + }, + deleteEdgeMap: { + code: NaN, + message: '' + } + }; +} + +export function createNewVertexType() { + return { + label: '', + id_fields: [''], + field_mapping: [], + value_mapping: [], + null_values: { + checked: ['NULL', 'null'], + customized: [] + } + }; +} + +export function createNewEdgeType() { + return { + label: '', + source_fields: [''], + target_fields: [''], + field_mapping: [], + value_mapping: [], + null_values: { + checked: ['NULL', 'null'], + customized: [] + } + }; +} + +export function createValidateFileInfoErrorMessage() { + return { + delimiter: '', + charset: '', + date_format: '', + skipped_line: '' + }; +} + +export function createValidateAdvanceConfigErrorMessage() { + return { + null_values: [], + value_mapping: [] + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/importManagmentStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/importManagmentStore.ts new file mode 100644 index 000000000..08be4a12b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/importManagmentStore.ts @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function initRequestStatus() { + return { + fetchImportJobList: 'standby', + createNewJob: 'standby', + updateJobInfo: 'standby', + deleteJob: 'standby', + fetchFailedReason: 'standby' + }; +} + +export function initErrorInfo() { + return { + fetchImportJobList: { + code: NaN, + message: '' + }, + createNewJob: { + code: NaN, + message: '' + }, + updateJobInfo: { + code: NaN, + message: '' + }, + deleteJob: { + code: NaN, + message: '' + }, + fetchFailedReason: { + code: NaN, + message: '' + } + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/serverDataImportStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/serverDataImportStore.ts new file mode 100644 index 000000000..0cc588b1d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/factory/dataImportStore/serverDataImportStore.ts @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { LoadParameter } from '../../types/GraphManagementStore/dataImportStore'; + +export function initRequestStatus() { + return { + fetchImportTasks: 'standby', + fetchAllImportTasks: 'standby', + setConfigParams: 'standby', + startImport: 'standby', + pauseImport: 'standby', + resumeImport: 'standby', + abortImport: 'standby', + retryImport: 'standby', + deleteTaskImport: 'standby', + checkErrorLogs: 'standby' + }; +} + +export function initErrorInfo() { + return { + fetchImportTasks: { + code: NaN, + message: '' + }, + fetchAllImportTasks: { + code: NaN, + message: '' + }, + setConfigParams: { + code: NaN, + message: '' + }, + startImport: { + code: NaN, + message: '' + }, + pauseImport: { + code: NaN, + message: '' + }, + resumeImport: { + code: NaN, + message: '' + }, + abortImport: { + code: NaN, + message: '' + }, + retryImport: { + code: NaN, + message: '' + }, + deleteTaskImport: { + code: NaN, + message: '' + }, + checkErrorLogs: { + code: NaN, + message: '' + } + }; +} + +export function createValidateFileInfoErrorMessage(): Record< + keyof LoadParameter, + string +> { + return { + check_vertex: '', + insert_timeout: '', + max_parse_errors: '', + max_insert_errors: '', + retry_times: '', + retry_interval: '' + }; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/index.ts new file mode 100644 index 000000000..59f9b51c5 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/index.ts @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import AppStoreContext, { AppStore } from './appStore'; +import GraphManagementStoreContext, { + GraphManagementStore +} from './GraphManagementStore/graphManagementStore'; +import DataAnalyzeStoreContext, { + DataAnalyzeStore +} from './GraphManagementStore/dataAnalyzeStore/dataAnalyzeStore'; +import DataImportRootStoreContext, { + DataImportRootStore +} from './GraphManagementStore/dataImportStore/dataImportRootStore'; +import ImportManagerStoreContext, { + ImportManagerStore +} from './GraphManagementStore/dataImportStore/ImportManagerStore'; +import AsyncTasksStoreContext, { + AsyncTasksStore +} from './GraphManagementStore/asyncTasksStore'; + +export { + AppStore, + AppStoreContext, + GraphManagementStore, + GraphManagementStoreContext, + DataAnalyzeStore, + DataAnalyzeStoreContext, + DataImportRootStore, + DataImportRootStoreContext, + ImportManagerStore, + ImportManagerStoreContext, + AsyncTasksStore, + AsyncTasksStoreContext +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/asyncTasksStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/asyncTasksStore.ts new file mode 100644 index 000000000..48d31e170 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/asyncTasksStore.ts @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export interface AsyncTask { + id: number; + task_type: string; + task_name: string; + task_status: string; + task_create: string; + task_update: string; + task_result: string; +} + +export interface AsyncTaskListResponse { + records: AsyncTask[]; + total: number; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts new file mode 100644 index 000000000..7a2eed3ac --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataAnalyzeStore.ts @@ -0,0 +1,328 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { Node, Edge } from 'vis-network'; +import { dict, responseData } from '../common'; +import { EdgeType } from './metadataConfigsStore'; + +export type ColorSchemas = dict; +export type RuleMap = dict; + +export interface FetchColorSchemas { + status: number; + data: ColorSchemas; + message: string; +} + +export type FetchFilteredPropertyOptions = responseData; + +export interface GraphNode extends Node { + id: string; + label: string; + properties: dict; + chosen?: any; + vLabel?: string; + style?: dict; +} + +export interface GraphEdge extends Edge { + id: string; + label: string; + properties: dict; + source: string; + target: string; +} + +export interface GraphView { + vertices: GraphNode[]; + edges: GraphEdge[]; +} + +export interface NewGraphData { + id?: string; + label: string; + properties: { + nullable: Map; + nonNullable: Map; + }; +} + +export interface EditableProperties { + nonNullable: Map; + nullable: Map; +} + +export interface QueryResult { + table_view: { + header: string[]; + rows: dict[]; + }; + json_view: { + data: dict[]; + }; + graph_view: GraphView; + type: string; +} + +export type FetchGraphResponse = responseData; + +export interface ValueTypes { + name: string; + data_type: string; + cardinality: string; + create_time: string; +} + +export interface AddQueryCollectionParams { + name: string; + content: string; +} + +export interface ExecutionLogs { + id: number; + async_id: number; + async_status: + | 'UNKNOWN' + | 'SCHEDULING' + | 'SCHEDULED' + | 'QUEUED' + | 'RESTORING' + | 'RUNNING' + | 'SUCCESS' + | 'CANCELLING' + | 'CANCELLED' + | 'FAILED'; + type: string; + algorithm_name: string; + content: string; + status: 'SUCCESS' | 'RUNNING' | 'FAILED'; + duration: string; + create_time: string; +} + +export type ExecutionLogsResponse = responseData<{ + records: ExecutionLogs[]; + total: number; +}>; + +export interface FavoriteQuery { + id: number; + name: string; + content: string; + create_time: string; +} + +export type FavoriteQueryResponse = responseData<{ + records: FavoriteQuery[]; + total: number; +}>; + +/* algorithm store */ +export interface LoopDetectionParams { + source: string; + direction: string; + max_depth: string; + label: string; + source_in_ring: boolean; + max_degree: string; + limit: string; + capacity: string; +} + +export interface FocusDetectionParams { + source: string; + target: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + limit: string; + capacity: string; +} + +export interface ShortestPathAlgorithmParams { + source: string; + target: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + skip_degree: string; + capacity: string; +} + +// export type ShortestPathAllAlgorithmParams = ShortestPathAlgorithmParams; +export interface ShortestPathAllAlgorithmParams { + source: string; + target: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + skip_degree: string; + capacity: string; +} + +export type AllPathAlgorithmParams = { + source: string; + target: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + capacity: string; + limit: string; +}; + +export interface ModelSimilarityParams { + method: string; + source: string; + vertexType: string; + vertexProperty: string[][]; + direction: string; + least_neighbor: string; + similarity: string; + label: string; + max_similar: string; + least_similar: string; + property_filter: string; + least_property_number: string; + max_degree: string; + capacity: string; + limit: string; + return_common_connection: boolean; + return_complete_info: boolean; +} + +export interface NeighborRankRule { + uuid: string; + direction: string; + labels: string[]; + degree: string; + top: string; +} + +export interface NeighborRankParams { + source: string; + alpha: string; + capacity: string; + steps: NeighborRankRule[]; +} + +export interface KStepNeighbor { + source: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + limit: string; +} + +export interface KHop { + source: string; + direction: string; + max_depth: string; + nearest: boolean; + label: string; + max_degree: string; + limit: string; + capacity: string; +} + +export interface CustomPathParams { + method: string; + source: string; + vertexType: string; + vertexProperty: string[][]; + sort_by: string; + capacity: string; + limit: string; + steps: CustomPathRule[]; +} + +export interface CustomPathRule { + uuid: string; + direction: string; + labels: string[]; + properties: string[][]; + weight_by: string; + default_weight: string; + degree: string; + sample: string; +} + +export interface RadiographicInspection { + source: string; + direction: string; + max_depth: string; + label: string; + max_degree: string; + capacity: string; + limit: string; +} + +export interface SameNeighbor { + vertex: string; + other: string; + direction: string; + label: string; + max_degree: string; + limit: string; +} + +export interface WeightedShortestPath { + source: string; + target: string; + direction: string; + weight: string; + with_vertex: boolean; + label: string; + max_degree: string; + skip_degree: string; + capacity: string; +} + +export interface SingleSourceWeightedShortestPath { + source: string; + direction: string; + weight: string; + with_vertex: boolean; + label: string; + max_degree: string; + skip_degree: string; + capacity: string; + limit: string; +} + +export interface Jaccard { + vertex: string; + other: string; + direction: string; + label: string; + max_degree: string; +} + +export interface PersonalRank { + source: string; + alpha: string; + max_depth: string; + with_label: string; + label: string; + degree: string; + limit: string; + sorted: boolean; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataImportStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataImportStore.ts new file mode 100644 index 000000000..fbeb8c034 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/dataImportStore.ts @@ -0,0 +1,179 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { CancellablePromise } from 'mobx/lib/api/flow'; + +export interface JobGlance { + name: string; + description: string; +} + +export interface Job { + id: number; + conn_id: number; + job_name: string; + job_remarks: string; + job_size: string; + job_status: string; + job_duration: string; + update_time: string; + create_time: string; +} + +export interface JobResponse { + records: Job[]; + total: number; +} + +export interface JobFailedReason { + task_id: number; + file_id: number; + file_name: string; + reason: string; +} + +export interface FileUploadTask { + name: string; + size: number; + status: 'uploading' | 'failed' | 'success'; + chunkList: { + chunkIndex: number; + chunk: Blob; + }[]; + chunkTotal: number; + uploadedChunkTotal: number; + pendingChunkIndexes: number[]; + failedChunkIndexes: number[]; + uploadedChunksIndexes: number[]; +} + +export interface FileUploadResult { + id: string; + name: string; + size: string; + status: string; + cause: string | null; +} + +export interface FileUploadQueue { + fileName: string; + status: string; + task: CancellablePromise; +} + +export interface FileConfig { + has_header: boolean; + column_names: string[]; + column_values: string[]; + format: string; + delimiter: string; + charset: string; + date_format: string; + time_zone: string; + skipped_line: string; +} + +export type FileValidator = Pick< + FileConfig, + 'delimiter' | 'charset' | 'date_format' | 'skipped_line' +>; + +export interface FieldMapping { + column_name: string; + mapped_name: string; +} + +export interface ValueMapping { + column_name: string; + values: { + column_value: string; + mapped_value: string; + }[]; +} + +export type ValueMapValidator = { + null_values: string[]; + value_mapping: ValueMapping[]; +}; + +export interface NullValues { + checked: string[]; + customized: string[]; +} + +export interface VertexMap { + id?: string; + label: string; + id_fields: string[]; + field_mapping: FieldMapping[]; + value_mapping: ValueMapping[]; + null_values: NullValues; +} + +export interface EdgeMap { + id?: string; + label: string; + source_fields: string[]; + target_fields: string[]; + field_mapping: FieldMapping[]; + value_mapping: ValueMapping[]; + null_values: NullValues; +} + +export interface LoadParameter { + check_vertex: boolean; + insert_timeout: string; + max_parse_errors: string; + max_insert_errors: string; + retry_times: string; + retry_interval: string; +} + +export interface FileMapInfo { + id: number; + name: string; + total_lines: number; + total_size: string; + file_setting: FileConfig; + file_status: string; + vertex_mappings: VertexMap[]; + edge_mappings: EdgeMap[]; + load_parameter: LoadParameter; + last_access_time: string; +} + +export interface FileMapResult { + records: FileMapInfo[]; +} + +export interface ImportTasks { + id: number; + conn_id: number; + file_id: number; + vertices: string[]; + edges: string[]; + load_rate: number; + load_progress: number; + file_total_lines: number; + file_read_lines: number; + status: string; + duration: string; +} + +export interface AllImportTasksRecords { + records: ImportTasks[]; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/graphManagementStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/graphManagementStore.ts new file mode 100644 index 000000000..fdca50cb1 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/graphManagementStore.ts @@ -0,0 +1,61 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { responseData } from '../common'; + +export interface LincenseInfo { + name: string; + edition: string; + version: string; + allowed_graphs: number; + allowed_datasize: string; +} + +export interface GraphData { + id: number; + name: string; + graph: string; + host: string; + port: number; + create_time: string; + username: string; + enabled: boolean; + password: string; +} + +export interface GraphDataConfig { + [index: string]: string | undefined; + name: string; + graph: string; + host: string; + port: string; + username: string; + password: string; +} + +export interface GraphDataPageConfig { + pageNumber: number; + pageSize: number; + pageTotal: number; +} + +export interface GraphDataList { + records: GraphData[]; + total: number; +} + +export type GraphDataResponse = responseData; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/metadataConfigsStore.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/metadataConfigsStore.ts new file mode 100644 index 000000000..8ed2c3a8c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/GraphManagementStore/metadataConfigsStore.ts @@ -0,0 +1,219 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { dict } from '../common'; +import { VertexTypeStore } from '../../GraphManagementStore/metadataConfigsStore/vertexTypeStore'; + +export interface PageConfig { + pageNumber: number; + pageTotal: number; + sort: 'asc' | 'desc' | ''; +} + +// metadata property + +export interface MetadataProperty { + name: string; + data_type: string; + cardinality: string; + create_time?: string; +} + +export interface NewMetadataProperty extends MetadataProperty { + _name?: string; +} + +export interface MetadataPropertyListResponse { + records: MetadataProperty[]; + total: number; +} + +// vertex types + +export type VertexTypeProperty = { + name: string; + nullable: boolean; +}; + +export type VertexTypePropertyIndex = { + name: string; + type: string; + fields: string[]; +}; + +export type VertexTypeStyle = { + icon: string | null; + color: string | null; + size: string; + display_fields: string[]; +}; + +export type VertexTypeValidateFields = + | 'name' + | 'properties' + | 'primaryKeys' + | 'displayFeilds' + | 'propertyIndexes'; + +export type VertexTypeValidatePropertyIndexes = { + name: string; + type: string; + properties: string; +}; + +export interface EditVertexTypeParams { + append_properties: VertexTypeProperty[]; + append_property_indexes: VertexTypePropertyIndex[]; + remove_property_indexes: string[]; + style: { + color: string | null; + icon: null; + size: string; + display_fields: string[]; + }; +} + +export interface VertexType { + [index: string]: string | any[] | VertexTypeStyle | boolean; + + name: string; + id_strategy: string; + properties: VertexTypeProperty[]; + primary_keys: string[]; + property_indexes: VertexTypePropertyIndex[]; + open_label_index: boolean; + style: VertexTypeStyle; +} + +export interface VertexTypeListResponse { + records: VertexType[]; + total: number; +} + +export interface CheckedReusableData { + type: string; + propertykey_conflicts: { entity: MetadataProperty; status: string }[]; + propertyindex_conflicts: { entity: MetadataPropertyIndex; status: string }[]; + vertexlabel_conflicts: { entity: VertexType; status: string }[]; + edgelabel_conflicts: { entity: EdgeType; status: string }[]; +} + +export interface ReCheckedReusableData { + propertykeys: MetadataProperty[]; + propertyindexes: MetadataPropertyIndex[]; + vertexlabels: VertexType[]; +} + +// edge types + +type EdgeTypeProperty = VertexTypeProperty; +type EdgeTypePropertyIndex = VertexTypePropertyIndex; + +type EdgeTypeStyle = { + color: string | null; + icon: string | null; + with_arrow: boolean; + thickness: string; + display_fields: string[]; +}; + +export type EdgeTypeValidateFields = + | 'name' + | 'sourceLabel' + | 'targetLabel' + | 'properties' + | 'sortKeys' + | 'propertyIndexes' + | 'displayFeilds'; + +export type EdgeTypeValidatePropertyIndexes = VertexTypeValidatePropertyIndexes; + +export interface EditEdgeTypeParams { + append_properties: VertexTypeProperty[]; + append_property_indexes: VertexTypePropertyIndex[]; + remove_property_indexes: string[]; + style: { + color: string | null; + icon: null; + with_arrow: boolean | null; + thickness: string; + display_fields: string[]; + }; +} + +export interface EdgeType { + name: string; + source_label: string; + target_label: string; + link_multi_times: boolean; + properties: EdgeTypeProperty[]; + sort_keys: string[]; + property_indexes: EdgeTypePropertyIndex[]; + open_label_index: boolean; + style: EdgeTypeStyle; +} + +export interface EdgeTypeListResponse { + records: EdgeType[]; + total: number; +} + +// metadata property index + +export interface MetadataPropertyIndex { + owner: string; + owner_type: string; + name: string; + type: string; + fields: string[]; +} + +export interface MetadataPropertyIndexResponse { + records: MetadataPropertyIndex[]; + total: number; +} + +// graph view data + +export type DrawerTypes = + | 'create-property' + | 'create-vertex' + | 'create-edge' + | 'check-property' + | 'check-vertex' + | 'check-edge' + | 'edit-vertex' + | 'edit-edge' + | ''; + +export interface GraphViewData { + vertices: { + id: string; + label: string; + properties: Record; + primary_keys: string[]; + style?: dict; + }[]; + edges: { + id: string; + label: string; + source: string; + target: string; + properties: Record; + sort_keys: string[]; + }[]; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/common.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/common.ts new file mode 100644 index 000000000..ea4ec7eeb --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/types/common.ts @@ -0,0 +1,26 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export const baseUrl = '/api/v1.2/graph-connections'; + +export type dict = Record; + +export interface responseData { + status: number; + data: T; + message: string; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/utils/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/utils/index.ts new file mode 100644 index 000000000..a2d2c490c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/stores/utils/index.ts @@ -0,0 +1,273 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { isUndefined, size } from 'lodash-es'; +import isInt from 'validator/lib/isInt'; +import isFloat from 'validator/lib/isFloat'; +import isBoolean from 'validator/lib/isBoolean'; +import isISO8601 from 'validator/lib/isISO8601'; +import isUUID from 'validator/lib/isUUID'; +import isEmpty from 'validator/lib/isEmpty'; +import i18next from '../../i18n'; + +import type vis from 'vis-network'; +import type { + GraphNode, + GraphEdge +} from '../types/GraphManagementStore/dataAnalyzeStore'; +import type { + VertexTypeProperty, + MetadataProperty +} from '../types/GraphManagementStore/metadataConfigsStore'; + +/* variables */ + +export const vertexRadiusMapping: Record = { + HUGE: 40, + BIG: 30, + NORMAL: 20, + SMALL: 10, + TINY: 1 +}; + +export const edgeWidthMapping: Record = { + THICK: 45, + NORMAL: 20, + FINE: -10 +}; + +/* functions */ + +export function checkIfLocalNetworkOffline(error: any) { + if (error.request) { + throw new Error(i18next.t('addition.store.network-error')); + } +} + +export function mapMetadataProperties( + properties: VertexTypeProperty[], + propertyCollection: MetadataProperty[] +) { + const mappedProperties: Record = {}; + + properties.forEach(({ name }) => { + const value = propertyCollection.find( + ({ name: propertyName }) => propertyName === name + )!.data_type; + + mappedProperties[name] = value; + }); + + return mappedProperties; +} + +export function generateGraphModeId( + id: string, + source: string, + target: string +): string { + return `${source}-${id}->${target}`; +} + +export function convertArrayToString( + values: any[] | any, + separtor: string = ',' +) { + return Array.isArray(values) + ? values.filter((value) => value !== '').join(separtor) + : String(values); +} + +export function validateGraphProperty( + type: string, + value: string, + premitEmpty: boolean = false +) { + if (premitEmpty) { + if (value === '') { + return true; + } + } + + switch (type) { + case 'BOOLEAN': + return isBoolean(value); + case 'BYTE': + return isInt(value) && Number(value) > -128 && Number(value) <= 127; + case 'INT': + case 'LONG': + return isInt(value); + case 'FLOAT': + case 'DOUBLE': + return isFloat(value); + case 'TEXT': + case 'BLOB': + return !isEmpty(value); + case 'DATE': + return isISO8601(value); + case 'UUID': + return isUUID(value); + } +} + +export function addGraphNodes( + collection: GraphNode[], + visGraphNodes: vis.data.DataSet, + vertexSizeMapping: Record, + colorMappings: Record, + displayFieldMappings: Record +) { + collection.forEach(({ id, label, properties }) => { + const joinedLabel = !isUndefined(displayFieldMappings[label]) + ? displayFieldMappings[label] + .map((field) => (field === '~id' ? id : properties[field])) + .filter((label) => label !== undefined && label !== null) + .join('-') + : id; + + visGraphNodes.add({ + id, + label: + size(joinedLabel) <= 15 + ? joinedLabel + : joinedLabel.slice(0, 15) + '...', + vLabel: label, + value: vertexRadiusMapping[vertexSizeMapping[label]], + font: { size: 16 }, + properties, + title: ` +
+
${i18next.t('addition.common.vertex-type')}:
+
${label}
+
+
+
${i18next.t('addition.common.vertex-id')}:
+
${id}
+
+ ${Object.entries(properties) + .map(([key, value]) => { + return `
+
${key}:
+
${convertArrayToString(value)}
+
`; + }) + .join('')} + `, + color: { + background: colorMappings[label] || '#5c73e6', + border: colorMappings[label] || '#5c73e6', + highlight: { background: '#fb6a02', border: '#fb6a02' }, + hover: { background: '#ec3112', border: '#ec3112' } + }, + // reveal label when zoom to max + scaling: { + label: { + max: Infinity, + maxVisible: Infinity + } + }, + chosen: { + node(values: any, id: string, selected: boolean, hovering: boolean) { + if (hovering || selected) { + values.shadow = true; + values.shadowColor = 'rgba(0, 0, 0, 0.6)'; + values.shadowX = 0; + values.shadowY = 0; + values.shadowSize = 25; + } + + if (selected) { + values.size += 5; + } + } + } + }); + }); +} + +export function addGraphEdges( + collection: GraphEdge[], + visGraphEdges: vis.data.DataSet, + colorMappings: Record, + edgeThicknessMappings: Record, + edgeWithArrowMappings: Record, + displayFieldMappings: Record +) { + collection.forEach(({ id, label, source, target, properties }) => { + const joinedLabel = displayFieldMappings[label] + .map((field) => (field === '~id' ? label : properties[field])) + .join('-'); + + visGraphEdges.add({ + id, + label: + joinedLabel.length <= 15 + ? joinedLabel + : joinedLabel.slice(0, 15) + '...', + properties, + source, + target, + from: source, + to: target, + font: { size: 16, strokeWidth: 0, color: '#666' }, + arrows: edgeWithArrowMappings[label] ? 'to' : '', + color: colorMappings[label], + value: edgeWidthMapping[edgeThicknessMappings[label]], + title: ` +
+
${i18next.t('addition.common.edge-type')}:
+
${label}
+
+
+
${i18next.t('addition.common.edge-id')}:
+
${id}
+
+ ${Object.entries(properties) + .map(([key, value]) => { + return `
+
${key}:
+
${convertArrayToString(value)}
+
`; + }) + .join('')} + ` + }); + }); +} + +export function formatVertexIdText( + text: string, + replacedText: string, + revert: boolean = false +) { + if (!revert) { + return text === '~id' ? replacedText : text; + } else { + return text === replacedText ? '~id' : text; + } +} + +export function isGtNegativeOneButZero(value: string | number) { + if (typeof value === 'number') { + value = String(value); + } + + return !( + !isEmpty(value) && + (!isInt(value as string, { min: -1 }) || String(Number(value)) === '0') + ); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/third-party.d.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/third-party.d.ts new file mode 100644 index 000000000..9e63323ba --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/third-party.d.ts @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +declare module 'hubble-ui'; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/calcAlgorithmFormWidth.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/calcAlgorithmFormWidth.ts new file mode 100644 index 000000000..76e1a896c --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/calcAlgorithmFormWidth.ts @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export function calcAlgorithmFormWidth( + expand: boolean, + min: number, + max: number +) { + return expand ? min : max; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/convertStringToJSON.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/convertStringToJSON.ts new file mode 100644 index 000000000..975563027 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/convertStringToJSON.ts @@ -0,0 +1,32 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export default function convertStringToJSON(text: any): object | null { + if (typeof text !== 'string') { + return null; + } + + let context; + + try { + context = JSON.parse(text); + } catch (e) { + return null; + } + + return typeof context === 'object' && context !== null ? context : null; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/filterEmptyAlgorightmParams.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/filterEmptyAlgorightmParams.ts new file mode 100644 index 000000000..6918ddc0a --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/filterEmptyAlgorightmParams.ts @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { omitBy, cloneDeep, isEmpty } from 'lodash-es'; + +export function removeLabelKey>( + params: T, + isCloned = true, + key = 'label' +) { + const paramObject = isCloned ? params : cloneDeep(params); + + if (paramObject[key] === '__all__') { + delete paramObject[key]; + } + + return paramObject; +} + +export function filterEmptyAlgorightmParams(params: object, keys: string[]) { + return omitBy(params, (value, key) => keys.includes(key) && isEmpty(value)); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/formatAlgorithmStatement.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/formatAlgorithmStatement.ts new file mode 100644 index 000000000..56b46cc93 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/formatAlgorithmStatement.ts @@ -0,0 +1,271 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import { + isUndefined, + cloneDeep, + trimEnd, + isEmpty, + isObject, + fromPairs +} from 'lodash-es'; + +import type { TFunction, i18n } from 'i18next'; +import type { + NeighborRankParams, + CustomPathParams +} from '../stores/types/GraphManagementStore/dataAnalyzeStore'; + +export const AlgorithmInternalNameMapping: Record = { + rings: 'loop-detection', + crosspoints: 'focus-detection', + shortpath: 'shortest-path', + allshortpath: 'shortest-path-all', + paths: 'all-path', + fsimilarity: 'model-similarity', + neighborrank: 'neighbor-rank', + kneighbor: 'k-step-neighbor', + kout: 'k-hop', + customizedpaths: 'custom-path', + rays: 'radiographic-inspection', + sameneighbors: 'same-neighbor', + weightedshortpath: 'weighted-shortest-path', + singleshortpath: 'single-source-weighted-shortest-path', + jaccardsimilarity: 'jaccard', + personalrank: 'personal-rank' +}; + +export function formatAlgorithmStatement( + content: string, + algorithmType: string | undefined, + translator: TFunction, + i18n: i18n +) { + if (isUndefined(algorithmType)) { + return ['']; + } + + const algorithmName = translator( + `data-analyze.algorithm-forms.api-name-mapping.${algorithmType}` + ); + let algorithmParams = JSON.parse(content); + const statements: string[] = [algorithmName]; + + if (algorithmType === 'fsimilarity') { + let convertedParams: Record; + + if (!isUndefined(algorithmParams.sources)) { + convertedParams = { + source: algorithmParams.sources.ids ?? [], + 'vertex-type': algorithmParams.sources.label ?? '', + 'vertex-property': algorithmParams.sources.properties ?? [], + direction: algorithmParams.direction, + least_neighbor: algorithmParams.min_neighbors, + similarity: algorithmParams.alpha, + label: + algorithmParams.label === null || algorithmParams.label === '__all__' + ? translator( + `data-analyze.algorithm-forms.model-similarity.pre-value` + ) + : algorithmParams.label, + max_similar: algorithmParams.top, + least_similar: algorithmParams.min_similars, + property_filter: algorithmParams.group_property, + least_property_number: algorithmParams.min_groups, + max_degree: algorithmParams.max_degree, + capacity: algorithmParams.capacity, + limit: algorithmParams.limit, + return_common_connection: algorithmParams.with_intermediary, + return_complete_info: algorithmParams.with_vertex + }; + } else { + // no need to convert relative fields in temp log (which sources field is undefined) + convertedParams = { ...algorithmParams }; + convertedParams['vertex-type'] = convertedParams.vertexType; + convertedParams['vertex-property'] = convertedParams.vertexProperty; + convertedParams.label = + algorithmParams.label === null || algorithmParams.label === '__all__' + ? translator( + `data-analyze.algorithm-forms.model-similarity.pre-value` + ) + : algorithmParams.label; + + delete convertedParams.vertexType; + delete convertedParams.vertexProperty; + } + + algorithmParams = convertedParams; + } + + if (algorithmType === 'neighborrank') { + const convertedParams = cloneDeep(algorithmParams); + + convertedParams.steps = []; + + (algorithmParams as NeighborRankParams).steps.forEach( + ({ degree, direction, labels, top }, stepIndex) => { + const step: Record = {}; + + step[ + trimEnd( + translator( + 'data-analyze.algorithm-forms.neighbor-rank.options.degree' + ), + ':' + ) + ] = degree; + step[ + trimEnd( + translator( + 'data-analyze.algorithm-forms.neighbor-rank.options.direction' + ), + ':' + ) + ] = direction; + step[ + trimEnd( + translator( + 'data-analyze.algorithm-forms.neighbor-rank.options.label' + ), + ':' + ) + ] = isEmpty(labels) + ? translator('data-analyze.algorithm-forms.neighbor-rank.pre-value') + : labels.map((label) => + // value may be "__all__" from temp log (local) + label === '__all__' + ? translator( + 'data-analyze.algorithm-forms.neighbor-rank.pre-value' + ) + : label + ); + step[ + trimEnd( + translator( + 'data-analyze.algorithm-forms.neighbor-rank.options.top' + ), + ':' + ) + ] = top; + + convertedParams.steps[stepIndex] = step; + } + ); + + algorithmParams = convertedParams; + } + + // params struct fetched from server is not as consistent as front end + if (algorithmType === 'kout' && algorithmParams.hasOwnProperty('step')) { + algorithmParams.direction = algorithmParams.step.direction; + algorithmParams.max_degree = algorithmParams.step.degree; + algorithmParams.skip_degree = algorithmParams.step.skip_degree; + algorithmParams.label = algorithmParams.step.labels[0] ?? null; + + delete algorithmParams.step; + } + + if (algorithmType === 'customizedpaths') { + let convertedParams: Record; + + if (!isUndefined(algorithmParams.sources)) { + convertedParams = { + source: algorithmParams.sources.ids ?? [], + 'vertex-type': algorithmParams.sources.label ?? '', + 'vertex-property': algorithmParams.sources.properties ?? [], + capacity: algorithmParams.capacity, + limit: algorithmParams.limit, + sort_by: algorithmParams.sort_by, + steps: [] + }; + } else { + convertedParams = { + ...algorithmParams, + source: algorithmParams.source.split(','), + 'vertex-type': algorithmParams.vertexType, + 'vertex-property': fromPairs( + algorithmParams.vertexProperty.map( + ([key, value]: [string, string]) => [key, value.split(',')] + ) + ) + }; + + delete convertedParams.vertexType; + delete convertedParams.vertexProperty; + } + + (algorithmParams as CustomPathParams).steps.forEach((step, stepIndex) => { + const convertedStep: Record = {}; + + delete step.uuid; + + if (step.default_weight !== '') { + step.weight_by = step.default_weight; + } + + delete step.default_weight; + + Object.entries(step).forEach(([key, value]) => { + convertedStep[ + trimEnd( + translator( + `data-analyze.algorithm-forms.custom-path.options.${key}` + ), + ':' + ) + ] = value; + }); + + convertedParams.steps[stepIndex] = convertedStep; + }); + + algorithmParams = convertedParams; + } + + Object.entries(algorithmParams).forEach(([key, value]) => { + value = isObject(value) ? JSON.stringify(value, null, 4) : value; + + // label value could be null when it means all + if (key === 'label' && (value === null || value === '__all__')) { + value = translator( + `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.pre-value` + ); + } + + // personal rank customized + if (algorithmType === 'personalrank' && key === 'with_label') { + value = translator( + `data-analyze.algorithm-forms.personal-rank.with-label-radio-value.${(value as string).toLowerCase()}` + ); + } + + const fullPathKey = `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.options.${key}`; + + // remove redundant key from server + if (!i18n.exists(fullPathKey)) { + return; + } + + key = translator( + `data-analyze.algorithm-forms.${AlgorithmInternalNameMapping[algorithmType]}.options.${key}` + ); + + statements.push(`${key} ${value}`); + }); + + return statements; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/getUnicodeLength.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/getUnicodeLength.ts new file mode 100644 index 000000000..35b920f1b --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/getUnicodeLength.ts @@ -0,0 +1,24 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export default function getUnicodeLength(str?: string) { + if (typeof str === 'undefined') { + return 0; + } + + return str.replace(/[^\x00-\xff]/g, '01').length; +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/index.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/index.ts new file mode 100644 index 000000000..0caa170cd --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/index.ts @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +import convertStringToJSON from './convertStringToJSON'; +import getUnicodeLength from './getUnicodeLength'; +import { + AlgorithmInternalNameMapping, + formatAlgorithmStatement +} from './formatAlgorithmStatement'; +import isDataTypeNumeric from './isDataTypeNumeric'; +import { calcAlgorithmFormWidth } from './calcAlgorithmFormWidth'; +import { + removeLabelKey, + filterEmptyAlgorightmParams +} from './filterEmptyAlgorightmParams'; + +export { + convertStringToJSON, + getUnicodeLength, + AlgorithmInternalNameMapping, + formatAlgorithmStatement, + isDataTypeNumeric, + calcAlgorithmFormWidth, + removeLabelKey, + filterEmptyAlgorightmParams +}; diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/isDataTypeNumeric.ts b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/isDataTypeNumeric.ts new file mode 100644 index 000000000..8b9d0e408 --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/src/utils/isDataTypeNumeric.ts @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with this + * work for additional information regarding copyright ownership. The ASF + * licenses this file to You under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ + +export default function isDataTypeNumeric(type: string | undefined) { + return ( + type === 'BYTE' || + type === 'INT' || + type === 'LONG' || + type === 'FLOAT' || + type === 'DOUBLE' || + type === 'DATE' + ); +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig-extend.json b/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig-extend.json new file mode 100644 index 000000000..5d35b2a3d --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig-extend.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "hubble-ui": ["src/components/hubble-ui"] + } + } +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig.json b/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig.json new file mode 100644 index 000000000..0acd731ef --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "downlevelIteration": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "experimentalDecorators": true + }, + "include": [ + "src" + ], + "extends": "./tsconfig-extend.json" +} diff --git a/hugegraph-hubble/hubble-fe-old(legacy)/yarn.lock b/hugegraph-hubble/hubble-fe-old(legacy)/yarn.lock new file mode 100644 index 000000000..712d00e2e --- /dev/null +++ b/hugegraph-hubble/hubble-fe-old(legacy)/yarn.lock @@ -0,0 +1,13380 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ant-design/colors@^6.0.0": + version "6.0.0" + resolved "https://registry.npmmirror.com/@ant-design/colors/download/@ant-design/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" + integrity sha1-m5NmJXz/zEfbQrnQIDu1ksE8Apg= + dependencies: + "@ctrl/tinycolor" "^3.4.0" + +"@ant-design/icons-svg@^4.2.1": + version "4.2.1" + resolved "https://registry.npmmirror.com/@ant-design/icons-svg/download/@ant-design/icons-svg-4.2.1.tgz?cache=0&sync_timestamp=1632478308697&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons-svg%2Fdownload%2F%40ant-design%2Ficons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a" + integrity sha1-hjDajrRHGkqr2u19H/apfcss8Fo= + +"@ant-design/icons@^4.7.0": + version "4.7.0" + resolved "https://registry.npmmirror.com/@ant-design/icons/download/@ant-design/icons-4.7.0.tgz?cache=0&sync_timestamp=1632478665145&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40ant-design%2Ficons%2Fdownload%2F%40ant-design%2Ficons-4.7.0.tgz#8c3cbe0a556ba92af5dc7d1e70c0b25b5179af0f" + integrity sha1-jDy+ClVrqSr13H0ecMCyW1F5rw8= + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-svg" "^4.2.1" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-util "^5.9.4" + +"@ant-design/react-slick@~0.28.1": + version "0.28.4" + resolved "https://registry.npmmirror.com/@ant-design/react-slick/download/@ant-design/react-slick-0.28.4.tgz#8b296b87ad7c7ae877f2a527b81b7eebd9dd29a9" + integrity sha1-iylrh618euh38qUnuBt+69ndKak= + dependencies: + "@babel/runtime" "^7.10.4" + classnames "^2.2.5" + json2mq "^0.2.0" + lodash "^4.17.21" + resize-observer-polyfill "^1.5.0" + +"@babel/code-frame@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4= + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.9.0": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" + integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== + +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@>=7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.16.12" + resolved "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.16.7" + "@babel/parser" "^7.16.12" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.16.8", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== + dependencies: + "@babel/types" "^7.16.8" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" + integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.8.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.16.10" + resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" + integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + +"@babel/helper-create-regexp-features-plugin@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" + integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/download/@babel/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-explode-assignable-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" + integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" + integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" + integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz?cache=0&sync_timestamp=1635567064131&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk= + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== + dependencies: + "@babel/helper-function-name" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helpers@^7.16.7", "@babel/helpers@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.7.tgz#7e3504d708d50344112767c3542fc5e357fffefc" + integrity sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/highlight@^7.16.7", "@babel/highlight@^7.8.3": + version "7.16.10" + resolved "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.16.10", "@babel/parser@^7.16.12", "@babel/parser@^7.16.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": + version "7.16.12" + resolved "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/download/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" + integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" + integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + +"@babel/plugin-proposal-async-generator-functions@^7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-class-properties@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-class-static-block@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" + integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.16.7", "@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" + integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" + integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.16.7", "@babel/plugin-proposal-json-strings@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" + integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" + integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" + integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.7", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" + integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.7", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" + integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.7" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.7", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" + integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.16.7", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" + integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.10" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-private-property-in-object@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" + integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha1-GV34mxRrS3izv4l/16JXyEZZ1AY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.16.7.tgz#f66a0199f16de7c1ef5192160ccf5d069739e3d3" + integrity sha512-vQ+PxL+srA7g6Rx6I1e15m55gftknl2X8GCUW1JTlkTaXZLJOS0UcaY0eK9jYT7IYf4awn6qwyghVHLDz1WyMw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-flow/download/@babel/plugin-syntax-flow-7.16.7.tgz#202b147e5892b8452bbb0bb269c7ed2539ab8832" + integrity sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-json-strings@^7.8.0", "@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" + integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" + integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-arrow-functions@^7.16.7", "@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-async-to-generator@^7.16.8", "@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + +"@babel/plugin-transform-block-scoped-functions@^7.16.7", "@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-block-scoping@^7.16.7", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-classes@^7.16.7", "@babel/plugin-transform-classes@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.7", "@babel/plugin-transform-computed-properties@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-destructuring@^7.16.7", "@babel/plugin-transform-destructuring@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" + integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-duplicate-keys@^7.16.7", "@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" + integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-exponentiation-operator@^7.16.7", "@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" + integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha1-ijU4qkBDTgALj0Sjxcmscim9I5I= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.16.7", "@babel/plugin-transform-for-of@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-function-name@^7.16.7", "@babel/plugin-transform-function-name@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== + dependencies: + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-literals@^7.16.7", "@babel/plugin-transform-literals@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-member-expression-literals@^7.16.7", "@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-modules-amd@^7.16.7", "@babel/plugin-transform-modules-amd@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" + integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.16.8", "@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" + integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.7", "@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" + integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== + dependencies: + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.7", "@babel/plugin-transform-modules-umd@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" + integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== + dependencies: + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + +"@babel/plugin-transform-new-target@^7.16.7", "@babel/plugin-transform-new-target@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" + integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-object-super@^7.16.7", "@babel/plugin-transform-object-super@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + +"@babel/plugin-transform-parameters@^7.16.7", "@babel/plugin-transform-parameters@^7.8.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-property-literals@^7.16.7", "@babel/plugin-transform-property-literals@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.16.7.tgz#19e9e4c2df2f6c3e6b3aea11778297d81db8df62" + integrity sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-display-name@7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-display-name@^7.16.7", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" + integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx-development@^7.16.7", "@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" + integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.16.7" + +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" + integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" + integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.9.1": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4" + integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/plugin-transform-react-pure-annotations@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" + integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-regenerator@^7.16.7", "@babel/plugin-transform-regenerator@^7.8.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" + integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.7", "@babel/plugin-transform-reserved-words@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" + integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.16.7", "@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-spread@^7.16.7", "@babel/plugin-transform-spread@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.7", "@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" + integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-template-literals@^7.16.7", "@babel/plugin-transform-template-literals@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typeof-symbol@^7.16.7", "@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" + integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-typescript@^7.9.0": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.16.8.tgz#591ce9b6b83504903fa9dd3652c357c2ba7a1ee0" + integrity sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/plugin-syntax-typescript" "^7.16.7" + +"@babel/plugin-transform-unicode-escapes@^7.16.7": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" + integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-unicode-regex@^7.16.7", "@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" + integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/preset-env@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha1-pfxCSA6VCuj12fjyu8A/UnIt86g= + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-env@^7.4.5": + version "7.16.11" + resolved "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== + dependencies: + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" + "@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-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.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.8" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.5.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.20.2" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha1-75Odbn8miCfhhBY43G/5VRXhFdk= + dependencies: + "@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/preset-react@7.9.1": + version "7.9.1" + resolved "https://registry.npmmirror.com/@babel/preset-react/download/@babel/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha1-s0ZAPDbVjDu1RBSCcqDO/ZwoZ3o= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-react@^7.0.0": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/preset-react/download/@babel/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" + integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-transform-react-display-name" "^7.16.7" + "@babel/plugin-transform-react-jsx" "^7.16.7" + "@babel/plugin-transform-react-jsx-development" "^7.16.7" + "@babel/plugin-transform-react-pure-annotations" "^7.16.7" + +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/preset-typescript/download/@babel/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/runtime-corejs3@^7.12.1": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7" + integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg== + dependencies: + core-js-pure "^3.20.2" + regenerator-runtime "^0.13.4" + +"@babel/runtime@7.9.0": + version "7.9.0" + resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha1-M37aZ0AfWwZqbyBaMRPUrBi6SVs= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.7", "@babel/template@^7.4.0", "@babel/template@^7.8.6": + version "7.16.7" + resolved "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.10", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": + version "7.16.10" + resolved "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.10" + "@babel/types" "^7.16.8" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0": + version "7.16.8" + resolved "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.npmmirror.com/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha1-rUldxBsS511YjG24uYNPCPoTHrc= + +"@csstools/normalize.css@^10.1.0": + version "10.1.0" + resolved "https://registry.npmmirror.com/@csstools/normalize.css/download/@csstools/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" + integrity sha1-8JULuhiBlRLUL3GX5WxRiqSRzxg= + +"@ctrl/tinycolor@^3.4.0": + version "3.4.0" + resolved "https://registry.npmmirror.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz#c3c5ae543c897caa9c2a68630bed355be5f9990f" + integrity sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8= + +"@emotion/is-prop-valid@^0.8.2": + version "0.8.8" + resolved "https://registry.npmmirror.com/@emotion/is-prop-valid/download/@emotion/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha1-2yixxDaKJZtgqXMR1qlS1P0BrBo= + dependencies: + "@emotion/memoize" "0.7.4" + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://registry.npmmirror.com/@emotion/memoize/download/@emotion/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha1-Gb8PWvGRSREcQNmLsM+CEZ9dnus= + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npmmirror.com/@hapi/address/download/@hapi/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.npmmirror.com/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.npmmirror.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.npmmirror.com/@hapi/joi/download/@hapi/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.npmmirror.com/@hapi/topo/download/@hapi/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@hypnosphi/create-react-context@^0.3.1": + version "0.3.1" + resolved "https://registry.npmmirror.com/@hypnosphi/create-react-context/download/@hypnosphi/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" + integrity sha1-+L/r3HZl9dQmy6N1Pg6cfTFU18Y= + dependencies: + gud "^1.0.0" + warning "^4.0.3" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/console/download/@jest/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/core/download/@jest/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.3.0", "@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/environment/download/@jest/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.3.0", "@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/reporters/download/@jest/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/source-map/download/@jest/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/test-result/download/@jest/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/transform/download/@jest/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.3.0", "@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.npmmirror.com/@jest/types/download/@jest/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U= + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos= + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po= + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@react-dnd/asap@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@react-dnd/asap/download/@react-dnd/asap-4.0.0.tgz#b300eeed83e9801f51bd66b0337c9a6f04548651" + integrity sha1-swDu7YPpgB9RvWawM3yabwRUhlE= + +"@react-dnd/invariant@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@react-dnd/invariant/download/@react-dnd/invariant-2.0.0.tgz#09d2e81cd39e0e767d7da62df9325860f24e517e" + integrity sha1-CdLoHNOeDnZ9faYt+TJYYPJOUX4= + +"@react-dnd/shallowequal@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@react-dnd/shallowequal/download/@react-dnd/shallowequal-2.0.0.tgz#a3031eb54129f2c66b2753f8404266ec7bf67f0a" + integrity sha1-owMetUEp8sZrJ1P4QEJm7Hv2fwo= + +"@stylelint/postcss-css-in-js@^0.37.2": + version "0.37.2" + resolved "https://registry.npmmirror.com/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz#7e5a84ad181f4234a2480803422a47b8749af3d2" + integrity sha1-flqErRgfQjSiSAgDQipHuHSa89I= + dependencies: + "@babel/core" ">=7.9.0" + +"@stylelint/postcss-markdown@^0.36.2": + version "0.36.2" + resolved "https://registry.npmmirror.com/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz#0a540c4692f8dcdfc13c8e352c17e7bfee2bb391" + integrity sha1-ClQMRpL43N/BPI41LBfnv+4rs5E= + dependencies: + remark "^13.0.0" + unist-util-find-all-after "^3.0.2" + +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha1-2ty2IYUDUy1ohLIQ5/PFAsqqRLE= + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha1-KXVQuajAxzN76hK9/IqAu2b4Wrw= + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha1-wZYwLz5o6ragXpivnKhXC8ExMcc= + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha1-MQ7Ad13oCKai5P1CaMJF/XNMEWU= + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha1-LN7ddH5bGyntTCQeRiVqrIEQ3ZM= + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha1-mpR5HJoogQjSCp0sxkysgg8UE5E= + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha1-FRSHMihDNZocqGsho4Ff0hqItxc= + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha1-Xx4viGsshcZ+dtpC8Pa+Gxdntpc= + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.npmmirror.com/@svgr/babel-preset/download/@svgr/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha1-p12MLyAqwOV3Tmv8Fl0CizmhMWw= + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/core@^4.3.3": + version "4.3.3" + resolved "https://registry.npmmirror.com/@svgr/core/download/@svgr/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha1-s3uJ1bdX3Gbox0FW0Aw2gzjSQpM= + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha1-HVoIL3uSnvjx9XiVAjj2MOFFMrg= + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.npmmirror.com/@svgr/plugin-jsx/download/@svgr/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha1-4rqRPb376FJSo02xAavH69UJkvo= + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.npmmirror.com/@svgr/plugin-svgo/download/@svgr/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha1-2qwKPYcuP1WTXGWI3TcDNoZenjI= + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + +"@svgr/webpack@4.3.3": + version "4.3.3" + resolved "https://registry.npmmirror.com/@svgr/webpack/download/@svgr/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017" + integrity sha1-E8wkI789/y1JTxaxfrfqy4aJUBc= + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-transform-react-constant-elements" "^7.0.0" + "@babel/preset-env" "^7.4.5" + "@babel/preset-react" "^7.0.0" + "@svgr/core" "^4.3.3" + "@svgr/plugin-jsx" "^4.3.3" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" + +"@types/babel__core@^7.1.0": + version "7.1.18" + resolved "https://registry.npmmirror.com/@types/babel__core/download/@types/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" + integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.npmmirror.com/@types/babel__generator/download/@types/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.npmmirror.com/@types/babel__template/download/@types/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha1-PRpI/Z1sDt/Vby/1eNrtSPNsiWk= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.npmmirror.com/@types/babel__traverse/download/@types/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha1-/81HC7s/i/MEgWePtVAieMqDOkM= + dependencies: + "@babel/types" "^7.3.0" + +"@types/classnames@^2.2.10": + version "2.3.1" + resolved "https://registry.npmmirror.com/@types/classnames/download/@types/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + integrity sha1-PCRnqg8ak/HwIeO5vPk4vV39wN0= + dependencies: + classnames "*" + +"@types/codemirror@^0.0.96": + version "0.0.96" + resolved "https://registry.npmmirror.com/@types/codemirror/download/@types/codemirror-0.0.96.tgz#73b52e784a246cebef31d544fef45ea764de5bad" + integrity sha1-c7UueEokbOvvMdVE/vRep2TeW60= + dependencies: + "@types/tern" "*" + +"@types/d3-array@^1": + version "1.2.9" + resolved "https://registry.npmmirror.com/@types/d3-array/download/@types/d3-array-1.2.9.tgz#c7dc78992cd8ca5c850243a265fd257ea56df1fa" + integrity sha1-x9x4mSzYylyFAkOiZf0lfqVt8fo= + +"@types/d3-axis@^1": + version "1.0.16" + resolved "https://registry.npmmirror.com/@types/d3-axis/download/@types/d3-axis-1.0.16.tgz#93d7a28795c2f8b0e2fd550fcc4d29b7f174e693" + integrity sha1-k9eih5XC+LDi/VUPzE0pt/F05pM= + dependencies: + "@types/d3-selection" "^1" + +"@types/d3-brush@^1": + version "1.1.5" + resolved "https://registry.npmmirror.com/@types/d3-brush/download/@types/d3-brush-1.1.5.tgz#c7cfb58decbfd53ad3e47f0376345e3640a68186" + integrity sha1-x8+1jey/1TrT5H8DdjReNkCmgYY= + dependencies: + "@types/d3-selection" "^1" + +"@types/d3-chord@^1": + version "1.0.11" + resolved "https://registry.npmmirror.com/@types/d3-chord/download/@types/d3-chord-1.0.11.tgz#5760765db1b1a4b936c0d9355a821dde9dd25da2" + integrity sha1-V2B2XbGxpLk2wNk1WoId3p3SXaI= + +"@types/d3-collection@*": + version "1.0.10" + resolved "https://registry.npmmirror.com/@types/d3-collection/download/@types/d3-collection-1.0.10.tgz#bca161e336156968f267c077f7f2bfa8ff224e58" + integrity sha1-vKFh4zYVaWjyZ8B39/K/qP8iTlg= + +"@types/d3-color@^1": + version "1.4.2" + resolved "https://registry.npmmirror.com/@types/d3-color/download/@types/d3-color-1.4.2.tgz#944f281d04a0f06e134ea96adbb68303515b2784" + integrity sha1-lE8oHQSg8G4TTqlq27aDA1FbJ4Q= + +"@types/d3-contour@^1": + version "1.3.3" + resolved "https://registry.npmmirror.com/@types/d3-contour/download/@types/d3-contour-1.3.3.tgz#44529d498bbc1db78b195d75e1c9bb889edd647a" + integrity sha1-RFKdSYu8HbeLGV114cm7iJ7dZHo= + dependencies: + "@types/d3-array" "^1" + "@types/geojson" "*" + +"@types/d3-dispatch@^1": + version "1.0.9" + resolved "https://registry.npmmirror.com/@types/d3-dispatch/download/@types/d3-dispatch-1.0.9.tgz#c5a180f1e251de853b399cfbfbb6dd7f8bf842ae" + integrity sha1-xaGA8eJR3oU7OZz7+7bdf4v4Qq4= + +"@types/d3-drag@^1": + version "1.2.5" + resolved "https://registry.npmmirror.com/@types/d3-drag/download/@types/d3-drag-1.2.5.tgz#0b1b852cb41577075aa625ae6149379ea6c34dfd" + integrity sha1-CxuFLLQVdwdapiWuYUk3nqbDTf0= + dependencies: + "@types/d3-selection" "^1" + +"@types/d3-dsv@^1": + version "1.2.1" + resolved "https://registry.npmmirror.com/@types/d3-dsv/download/@types/d3-dsv-1.2.1.tgz#1524fee9f19d689c2f76aa0e24e230762bf96994" + integrity sha1-FST+6fGdaJwvdqoOJOIwdiv5aZQ= + +"@types/d3-ease@^1": + version "1.0.11" + resolved "https://registry.npmmirror.com/@types/d3-ease/download/@types/d3-ease-1.0.11.tgz#c4728639f5703dcb75b216dfa0860b2720f26898" + integrity sha512-wUigPL0kleGZ9u3RhzBP07lxxkMcUjL5IODP42mN/05UNL+JJCDnpEPpFbJiPvLcTeRKGIRpBBJyP/1BNwYsVA== + +"@types/d3-fetch@^1": + version "1.2.2" + resolved "https://registry.npmmirror.com/@types/d3-fetch/download/@types/d3-fetch-1.2.2.tgz#b93bfe248b8b761af82f4dac57959c989f67da3e" + integrity sha1-uTv+JIuLdhr4L02sV5WcmJ9n2j4= + dependencies: + "@types/d3-dsv" "^1" + +"@types/d3-force@^1": + version "1.2.4" + resolved "https://registry.npmmirror.com/@types/d3-force/download/@types/d3-force-1.2.4.tgz#6e274c72288c2db08fbdb8f5b87b9aa83e55a9e8" + integrity sha1-bidMciiMLbCPvbj1uHuaqD5Vqeg= + +"@types/d3-format@^1": + version "1.4.2" + resolved "https://registry.npmmirror.com/@types/d3-format/download/@types/d3-format-1.4.2.tgz#ea17bf559b71d9afd569ae9bfe4c544dab863baa" + integrity sha1-6he/VZtx2a/Vaa6b/kxUTauGO6o= + +"@types/d3-geo@^1": + version "1.12.3" + resolved "https://registry.npmmirror.com/@types/d3-geo/download/@types/d3-geo-1.12.3.tgz#512ebe735cb1cdf5f87ad59608416e2e9e868c5a" + integrity sha1-US6+c1yxzfX4etWWCEFuLp6GjFo= + dependencies: + "@types/geojson" "*" + +"@types/d3-hierarchy@^1": + version "1.1.8" + resolved "https://registry.npmmirror.com/@types/d3-hierarchy/download/@types/d3-hierarchy-1.1.8.tgz#50657f420d565a06c0b950a4b82eee0a369f2dea" + integrity sha1-UGV/Qg1WWgbAuVCkuC7uCjafLeo= + +"@types/d3-interpolate@^1": + version "1.4.2" + resolved "https://registry.npmmirror.com/@types/d3-interpolate/download/@types/d3-interpolate-1.4.2.tgz#88902a205f682773a517612299a44699285eed7b" + integrity sha1-iJAqIF9oJ3OlF2EimaRGmShe7Xs= + dependencies: + "@types/d3-color" "^1" + +"@types/d3-path@^1": + version "1.0.9" + resolved "https://registry.npmmirror.com/@types/d3-path/download/@types/d3-path-1.0.9.tgz#73526b150d14cd96e701597cbf346cfd1fd4a58c" + integrity sha1-c1JrFQ0UzZbnAVl8vzRs/R/UpYw= + +"@types/d3-polygon@^1": + version "1.0.8" + resolved "https://registry.npmmirror.com/@types/d3-polygon/download/@types/d3-polygon-1.0.8.tgz#127ee83fccda5bf57384011da90f31367fea1530" + integrity sha1-En7oP8zaW/VzhAEdqQ8xNn/qFTA= + +"@types/d3-quadtree@^1": + version "1.0.9" + resolved "https://registry.npmmirror.com/@types/d3-quadtree/download/@types/d3-quadtree-1.0.9.tgz#c7c3b795b5af06e5b043d1d34e754a434b3bae59" + integrity sha1-x8O3lbWvBuWwQ9HTTnVKQ0s7rlk= + +"@types/d3-random@^1": + version "1.1.3" + resolved "https://registry.npmmirror.com/@types/d3-random/download/@types/d3-random-1.1.3.tgz#8f7fdc23f92d1561e0694eb49567e8ab50537a19" + integrity sha1-j3/cI/ktFWHgaU60lWfoq1BTehk= + +"@types/d3-scale-chromatic@^1": + version "1.5.1" + resolved "https://registry.npmmirror.com/@types/d3-scale-chromatic/download/@types/d3-scale-chromatic-1.5.1.tgz#e2b7c3401e5c13809f831911eb820e444f4fc67a" + integrity sha1-4rfDQB5cE4CfgxkR64IORE9Pxno= + +"@types/d3-scale@^2": + version "2.2.6" + resolved "https://registry.npmmirror.com/@types/d3-scale/download/@types/d3-scale-2.2.6.tgz#28540b4dfc99d978970e873e4138a6bea2ea6ab8" + integrity sha1-KFQLTfyZ2XiXDoc+QTimvqLqarg= + dependencies: + "@types/d3-time" "^1" + +"@types/d3-selection@^1": + version "1.4.3" + resolved "https://registry.npmmirror.com/@types/d3-selection/download/@types/d3-selection-1.4.3.tgz#36928bbe64eb8e0bbcbaa01fb05c21ff6c71fa93" + integrity sha1-NpKLvmTrjgu8uqAfsFwh/2xx+pM= + +"@types/d3-shape@^1": + version "1.3.8" + resolved "https://registry.npmmirror.com/@types/d3-shape/download/@types/d3-shape-1.3.8.tgz#c3c15ec7436b4ce24e38de517586850f1fea8e89" + integrity sha1-w8Fex0NrTOJOON5RdYaFDx/qjok= + dependencies: + "@types/d3-path" "^1" + +"@types/d3-time-format@^2": + version "2.3.1" + resolved "https://registry.npmmirror.com/@types/d3-time-format/download/@types/d3-time-format-2.3.1.tgz#87a30e4513b9d1d53b920327a361f87255bf3372" + integrity sha1-h6MORRO50dU7kgMno2H4clW/M3I= + +"@types/d3-time@^1": + version "1.1.1" + resolved "https://registry.npmmirror.com/@types/d3-time/download/@types/d3-time-1.1.1.tgz#6cf3a4242c3bbac00440dfb8ba7884f16bedfcbf" + integrity sha1-bPOkJCw7usAEQN+4uniE8Wvt/L8= + +"@types/d3-timer@^1": + version "1.0.10" + resolved "https://registry.npmmirror.com/@types/d3-timer/download/@types/d3-timer-1.0.10.tgz#329c51c2c931f44ed0acff78b8c84571acf0ed21" + integrity sha1-MpxRwskx9E7QrP94uMhFcazw7SE= + +"@types/d3-transition@^1": + version "1.3.2" + resolved "https://registry.npmmirror.com/@types/d3-transition/download/@types/d3-transition-1.3.2.tgz#ed59beca7b4d679cfa52f88a6a50e5bbeb7e0a3c" + integrity sha1-7Vm+yntNZ5z6UviKalDlu+t+Cjw= + dependencies: + "@types/d3-selection" "^1" + +"@types/d3-voronoi@*": + version "1.1.9" + resolved "https://registry.npmmirror.com/@types/d3-voronoi/download/@types/d3-voronoi-1.1.9.tgz#7bbc210818a3a5c5e0bafb051420df206617c9e5" + integrity sha1-e7whCBijpcXguvsFFCDfIGYXyeU= + +"@types/d3-zoom@^1": + version "1.8.3" + resolved "https://registry.npmmirror.com/@types/d3-zoom/download/@types/d3-zoom-1.8.3.tgz#00237900c6fdc2bb4fe82679ee4d74eb8fbe7b3c" + integrity sha1-ACN5AMb9wrtP6CZ57k1064++ezw= + dependencies: + "@types/d3-interpolate" "^1" + "@types/d3-selection" "^1" + +"@types/d3@^5.7.2": + version "5.16.4" + resolved "https://registry.npmmirror.com/@types/d3/download/@types/d3-5.16.4.tgz#a7dc24a3dc1c19922eee72ba16144fd5bcea987a" + integrity sha1-p9wko9wcGZIu7nK6FhRP1bzqmHo= + dependencies: + "@types/d3-array" "^1" + "@types/d3-axis" "^1" + "@types/d3-brush" "^1" + "@types/d3-chord" "^1" + "@types/d3-collection" "*" + "@types/d3-color" "^1" + "@types/d3-contour" "^1" + "@types/d3-dispatch" "^1" + "@types/d3-drag" "^1" + "@types/d3-dsv" "^1" + "@types/d3-ease" "^1" + "@types/d3-fetch" "^1" + "@types/d3-force" "^1" + "@types/d3-format" "^1" + "@types/d3-geo" "^1" + "@types/d3-hierarchy" "^1" + "@types/d3-interpolate" "^1" + "@types/d3-path" "^1" + "@types/d3-polygon" "^1" + "@types/d3-quadtree" "^1" + "@types/d3-random" "^1" + "@types/d3-scale" "^2" + "@types/d3-scale-chromatic" "^1" + "@types/d3-selection" "^1" + "@types/d3-shape" "^1" + "@types/d3-time" "^1" + "@types/d3-time-format" "^2" + "@types/d3-timer" "^1" + "@types/d3-transition" "^1" + "@types/d3-voronoi" "*" + "@types/d3-zoom" "^1" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.npmmirror.com/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= + +"@types/estree@*": + version "0.0.50" + resolved "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM= + +"@types/file-saver@^2.0.1": + version "2.0.5" + resolved "https://registry.npmmirror.com/@types/file-saver/download/@types/file-saver-2.0.5.tgz#9ee342a5d1314bb0928375424a2f162f97c310c7" + integrity sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ== + +"@types/geojson@*": + version "7946.0.8" + resolved "https://registry.npmmirror.com/@types/geojson/download/@types/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca" + integrity sha1-MHRK/bOF4pReIvOwM/iX92sfEso= + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha1-vBtb86qS8lvV3TnzXFc2G9zlsus= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://registry.npmmirror.com/@types/hoist-non-react-statics/download/@types/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.4" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmmirror.com/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz?cache=0&sync_timestamp=1637266271645&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fistanbul-lib-report%2Fdownload%2F%40types%2Fistanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/jest-diff@*": + version "24.3.0" + resolved "https://registry.npmmirror.com/@types/jest-diff/download/@types/jest-diff-24.3.0.tgz#29e237a3d954babfe6e23cc59b57ecd8ca8d858d" + integrity sha1-KeI3o9lUur/m4jzFm1fs2MqNhY0= + dependencies: + jest-diff "*" + +"@types/jest@24.0.15": + version "24.0.15" + resolved "https://registry.npmmirror.com/@types/jest/download/@types/jest-24.0.15.tgz#6c42d5af7fe3b44ffff7cc65de7bf741e8fa427f" + integrity sha1-bELVr3/jtE//98xl3nv3Qej6Qn8= + dependencies: + "@types/jest-diff" "*" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.9" + resolved "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha1-l+3JA36gw4WFMgsolk3eOznkZg0= + +"@types/lodash-es@^4.17.3": + version "4.17.5" + resolved "https://registry.npmmirror.com/@types/lodash-es/download/@types/lodash-es-4.17.5.tgz#1c3fdd16849d84aea43890b1c60da379fb501353" + integrity sha1-HD/dFoSdhK6kOJCxxg2jeftQE1M= + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.14.178" + resolved "https://registry.npmmirror.com/@types/lodash/download/@types/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" + integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== + +"@types/mdast@^3.0.0": + version "3.0.10" + resolved "https://registry.npmmirror.com/@types/mdast/download/@types/mdast-3.0.10.tgz?cache=0&sync_timestamp=1637267171178&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fmdast%2Fdownload%2F%40types%2Fmdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + integrity sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8= + dependencies: + "@types/unist" "*" + +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1637267467935&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.npmmirror.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1637267478331&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w= + +"@types/node@*": + version "17.0.13" + resolved "https://registry.npmmirror.com/@types/node/download/@types/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" + integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== + +"@types/node@14.11.8": + version "14.11.8" + resolved "https://registry.npmmirror.com/@types/node/download/@types/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" + integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz?cache=0&sync_timestamp=1637268963320&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE= + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= + +"@types/prop-types@*": + version "15.7.4" + resolved "https://registry.npmmirror.com/@types/prop-types/download/@types/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha1-/PcgXCXf95Xuea8eMNosl5CAjxE= + +"@types/q@^1.5.1": + version "1.5.5" + resolved "https://registry.npmmirror.com/@types/q/download/@types/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + +"@types/react-dom@16.9.8": + version "16.9.8" + resolved "https://registry.npmmirror.com/@types/react-dom/download/@types/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" + integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== + dependencies: + "@types/react" "*" + +"@types/react-highlight-words@^0.16.1": + version "0.16.4" + resolved "https://registry.npmmirror.com/@types/react-highlight-words/download/@types/react-highlight-words-0.16.4.tgz#441b6f05c27ce6ab76833803a84bc385f0a1e8f2" + integrity sha512-KITBX3xzheQLu2s3bUgLmRE7ekmhc52zRjRTwkKayQARh30L4fjEGzGm7ULK9TuX2LgxWWavZqyQGDGjAHbL3w== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "17.0.38" + resolved "https://registry.npmmirror.com/@types/react/download/@types/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" + integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@16.9.52": + version "16.9.52" + resolved "https://registry.npmmirror.com/@types/react/download/@types/react-16.9.52.tgz#c46c72d1a1d8d9d666f4dd2066c0e22600ccfde1" + integrity sha512-EHRjmnxiNivwhGdMh9sz1Yw9AUxTSZFxKqdBWAAzyZx3sufWwx6ogqHYh/WB1m/I4ZpjkoZLExF5QTy2ekVi/Q== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.npmmirror.com/@types/scheduler/download/@types/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha1-GmL4lSVyPd4kuhsBsJK/XfitTTk= + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.npmmirror.com/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= + +"@types/tern@*": + version "0.23.4" + resolved "https://registry.npmmirror.com/@types/tern/download/@types/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" + integrity sha1-A5JusT2+rzrg05DK9wayZDoBJ/s= + dependencies: + "@types/estree" "*" + +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": + version "2.0.6" + resolved "https://registry.npmmirror.com/@types/unist/download/@types/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0= + +"@types/uuid@^8.3.0": + version "8.3.4" + resolved "https://registry.npmmirror.com/@types/uuid/download/@types/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + +"@types/validator@^13.1.0": + version "13.7.1" + resolved "https://registry.npmmirror.com/@types/validator/download/@types/validator-13.7.1.tgz#cdab1b4779f6b1718a08de89d92d2603b71950cb" + integrity sha512-I6OUIZ5cYRk5lp14xSOAiXjWrfVoMZVjDuevBYgQDYzZIjsf2CAISpEcXOkFAtpAHbmWIDLcZObejqny/9xq5Q== + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.npmmirror.com/@types/yargs-parser/download/@types/yargs-parser-20.2.1.tgz?cache=0&sync_timestamp=1637271401361&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha1-O5ziSJkZ2eT+pDm3aRarw0st8Sk= + +"@types/yargs@^13.0.0": + version "13.0.12" + resolved "https://registry.npmmirror.com/@types/yargs/download/@types/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha1-2JWojHA7eK8EZaneiKqSxhQwsJI= + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.10.0": + version "2.34.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha1-b4zopGx96kpvHRcdK7j7rm2sK+k= + dependencies: + "@typescript-eslint/experimental-utils" "2.34.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.34.0": + version "2.34.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha1-01JLZEzbQO687KZ/jPPkzJyPmA8= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^2.10.0": + version "2.34.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha1-UCUmMMoxloVCDpo5ygX+GFola8g= + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha1-FK62NTs57wcyzH8bgoUpSTfPN9U= + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz?cache=0&sync_timestamp=1625473466896&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +abab@^2.0.0: + version "2.0.5" + resolved "https://registry.npmmirror.com/abab/download/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-globals@^4.1.0, acorn-globals@^4.3.0: + version "4.3.4" + resolved "https://registry.npmmirror.com/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.npmmirror.com/acorn-walk/download/acorn-walk-6.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.npmmirror.com/acorn/download/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: + version "6.4.2" + resolved "https://registry.npmmirror.com/acorn/download/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +address@1.1.2, address@^1.0.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/adjust-sourcemap-loader/download/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha1-ZHEUOvdewCM0shn1S8eXDFL7KaQ= + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/aggregate-error/download/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo= + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.9.0" + resolved "https://registry.npmmirror.com/ajv/download/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" + integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npmmirror.com/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmmirror.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.npmmirror.com/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/download/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/ansi-styles/download/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +antd@^4.18.5: + version "4.18.5" + resolved "https://registry.npmmirror.com/antd/download/antd-4.18.5.tgz#e5ffbe238fd6fdfcd1ed39ba96e4b1bd5f589757" + integrity sha512-5fN3C2lWAzonhOYYlNpzIw2OHl7vxFZ+4cJ7DK/XZrV+75OY61Y+OkanqMJwrFtDDamIez35OM7cAezGko9tew== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons" "^4.7.0" + "@ant-design/react-slick" "~0.28.1" + "@babel/runtime" "^7.12.5" + "@ctrl/tinycolor" "^3.4.0" + classnames "^2.2.6" + copy-to-clipboard "^3.2.0" + lodash "^4.17.21" + memoize-one "^6.0.0" + moment "^2.25.3" + rc-cascader "~3.2.1" + rc-checkbox "~2.3.0" + rc-collapse "~3.1.0" + rc-dialog "~8.6.0" + rc-drawer "~4.4.2" + rc-dropdown "~3.2.0" + rc-field-form "~1.22.0-2" + rc-image "~5.2.5" + rc-input-number "~7.3.0" + rc-mentions "~1.6.1" + rc-menu "~9.2.1" + rc-motion "^2.4.4" + rc-notification "~4.5.7" + rc-pagination "~3.1.9" + rc-picker "~2.5.17" + rc-progress "~3.2.1" + rc-rate "~2.9.0" + rc-resize-observer "^1.2.0" + rc-select "~14.0.0-alpha.15" + rc-slider "~9.7.4" + rc-steps "~4.1.0" + rc-switch "~3.2.0" + rc-table "~7.22.2" + rc-tabs "~11.10.0" + rc-textarea "~0.3.0" + rc-tooltip "~5.1.1" + rc-tree "~5.4.3" + rc-tree-select "~5.1.1" + rc-trigger "^5.2.10" + rc-upload "~4.3.0" + rc-util "^5.14.0" + scroll-into-view-if-needed "^2.2.25" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/anymatch/download/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmmirror.com/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/aria-query/download/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/arity-n/download/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.4" + resolved "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-tree-filter/download/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha1-hzrAD+yDdJ8lWsjdCDgUtPYykZA= + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-union/download/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha1-t5hCCtvrHego2ErNii4j0+/oXo0= + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.1: + version "1.2.5" + resolved "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asap@~2.0.3, asap@~2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npmmirror.com/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz?cache=0&sync_timestamp=1635986760581&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasn1%2Fdownload%2Fasn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/assert/download/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npmmirror.com/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npmmirror.com/ast-types-flow/download/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/astral-regex/download/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha1-SDFDxWeu7UeFdZwIZXhtx319LjE= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async-validator@^4.0.2: + version "4.0.7" + resolved "https://registry.npmmirror.com/async-validator/download/async-validator-4.0.7.tgz?cache=0&sync_timestamp=1634529502627&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasync-validator%2Fdownload%2Fasync-validator-4.0.7.tgz#034a0fd2103a6b2ebf010da75183bec299247afe" + integrity sha1-A0oP0hA6ay6/AQ2nUYO+wpkkev4= + +async@^2.6.2: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.6.1, autoprefixer@^9.8.6: + version "9.8.8" + resolved "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== + dependencies: + 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" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.npmmirror.com/aws4/download/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= + +axios@^0.19.0: + version "0.19.2" + resolved "https://registry.npmmirror.com/axios/download/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" + integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + dependencies: + follow-redirects "1.5.10" + +axobject-query@^2.0.2: + version "2.2.0" + resolved "https://registry.npmmirror.com/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-eslint@10.1.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/babel-eslint/download/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= + dependencies: + "@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-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= + dependencies: + babylon "^6.18.0" + +babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/babel-jest/download/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/babel-loader/download/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + dependencies: + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" + pify "^4.0.1" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= + dependencies: + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.6: + version "0.3.8" + resolved "https://registry.npmmirror.com/babel-plugin-named-asset-import/download/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== + +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" + integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.1" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" + integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.20.0" + +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" + integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.1" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.npmmirror.com/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz?cache=0&sync_timestamp=1624608042865&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-transform-object-rest-spread%2Fdownload%2Fbabel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/download/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha1-8u2vm0xqX75cHWeL+1MQeMFVXzo= + +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-preset-react-app@^9.1.2: + version "9.1.2" + resolved "https://registry.npmmirror.com/babel-preset-react-app/download/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha1-VHddl2WIqKbRqZIBpwK+/sr0gDA= + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npmmirror.com/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= + +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.npmmirror.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1636274807479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/download/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= + +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/balanced-match/download/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k= + +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/base16/download/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" + integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1624607950711&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmmirror.com/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + 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" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/binary-extensions/download/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npmmirror.com/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmmirror.com/bn.js/download/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +bn.js@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/bn.js/download/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.2: + version "1.20.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" + integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npmmirror.com/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + 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" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + 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" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.npmmirror.com/browser-resolve/download/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npmmirror.com/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0= + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" + integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== + dependencies: + bn.js "^5.2.1" + browserify-rsa "^4.1.0" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.4" + inherits "^2.0.4" + parse-asn1 "^5.1.6" + readable-stream "^3.6.2" + safe-buffer "^5.2.1" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@4.10.0: + version "4.10.0" + resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" + integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== + dependencies: + caniuse-lite "^1.0.30001035" + electron-to-chromium "^1.3.378" + node-releases "^1.1.52" + pkg-up "^3.1.0" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.19.1, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: + version "4.19.1" + resolved "https://registry.npmmirror.com/browserslist/download/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npmmirror.com/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.npmmirror.com/cacache/download/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + 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" + +cacache@^13.0.1: + version "13.0.1" + resolved "https://registry.npmmirror.com/cacache/download/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" + integrity sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw= + dependencies: + chownr "^1.1.2" + figgy-pudding "^3.5.1" + fs-minipass "^2.0.0" + glob "^7.1.4" + graceful-fs "^4.2.2" + infer-owner "^1.0.4" + lru-cache "^5.1.1" + minipass "^3.0.0" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + p-map "^3.0.0" + promise-inflight "^1.0.1" + rimraf "^2.7.1" + ssri "^7.0.0" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237308360&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + 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" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind/download/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1633674944097&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/camel-case/download/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha1-lygHKpVPgFIoIlpt7qazhGHhvVo= + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1633332938539&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A= + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + +camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286: + version "1.0.30001303" + resolved "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001303.tgz#9b168e4f43ccfc372b86f4bc5a551d9b909c95c9" + integrity sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" + integrity sha1-I6xhPMmoVuT4j/i7c7u16YmCXPc= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmmirror.com/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + 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" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/download/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.npmmirror.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha1-lLwYRdznClu50uzHSHJWYSk9j8E= + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.npmmirror.com/character-entities/download/character-entities-1.2.4.tgz?cache=0&sync_timestamp=1635868846406&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities%2Fdownload%2Fcharacter-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs= + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.npmmirror.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz?cache=0&sync_timestamp=1636446259053&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-reference-invalid%2Fdownload%2Fcharacter-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA= + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1634639163489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + 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" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.3.0, chokidar@^3.4.1: + version "3.5.3" + resolved "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1, chownr@^1.1.2: + version "1.1.4" + resolved "https://registry.npmmirror.com/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw= + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmmirror.com/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@*, classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/classnames/download/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@^4.2.3: + version "4.2.4" + resolved "https://registry.npmmirror.com/clean-css/download/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha1-czv0brpOYHxokepXwkqYk1aDEXg= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/clean-stack/download/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha1-7oRy27Ep5yezHooQpCfe6d/kAIs= + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/cliui/download/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/cliui/download/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.npmmirror.com/clone-deep/download/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/clone-regexp/download/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428= + dependencies: + is-regexp "^2.0.0" + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/clone/download/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmmirror.com/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +codemirror@^5.55.0: + version "5.65.1" + resolved "https://registry.npmmirror.com/codemirror/download/codemirror-5.65.1.tgz#5988a812c974c467f964bcc1a00c944e373de502" + integrity sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.3: + version "1.9.3" + resolved "https://registry.npmmirror.com/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.6.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/color-string/download/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa" + integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.2.1" + resolved "https://registry.npmmirror.com/color/download/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npmmirror.com/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@^2.11.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/commander/download/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.npmmirror.com/common-tags/download/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/compose-function/download/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmmirror.com/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmmirror.com/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + 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" + +compute-scroll-into-view@^1.0.17: + version "1.0.17" + resolved "https://registry.npmmirror.com/compute-scroll-into-view/download/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab" + integrity sha1-aojxis2dQunPS6pr7H4FImB6t6s= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.npmmirror.com/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.npmmirror.com/confusing-browser-globals/download/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmmirror.com/convert-source-map/download/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.npmmirror.com/copy-anything/download/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npmmirror.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + 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@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-to-clipboard@^3.2.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/copy-to-clipboard/download/copy-to-clipboard-3.3.1.tgz?cache=0&sync_timestamp=1624607975240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcopy-to-clipboard%2Fdownload%2Fcopy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" + integrity sha1-EVqhqZmP+rYZb5MHatbaO5E2Yq4= + dependencies: + toggle-selection "^1.0.6" + +core-js-compat@^3.20.0, core-js-compat@^3.20.2, core-js-compat@^3.6.2: + version "3.20.3" + resolved "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" + integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== + dependencies: + browserslist "^4.19.1" + semver "7.0.0" + +core-js-pure@^3.20.2: + version "3.20.3" + resolved "https://registry.npmmirror.com/core-js-pure/download/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02" + integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA== + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmmirror.com/core-js/download/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.5.0: + version "3.20.3" + resolved "https://registry.npmmirror.com/core-js/download/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" + integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/download/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0= + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npmmirror.com/create-ecdh/download/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/create-hash/download/create-hash-1.2.0.tgz?cache=0&sync_timestamp=1624607951398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcreate-hash%2Fdownload%2Fcreate-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npmmirror.com/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + 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-fetch@^3.0.4: + version "3.1.5" + resolved "https://registry.npmmirror.com/cross-fetch/download/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + dependencies: + node-fetch "2.6.7" + +cross-spawn@7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" + integrity sha1-CrVihuD3wk4VPQTMKqAn5DqaXRQ= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npmmirror.com/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npmmirror.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + 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-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha1-3979MlS/ioICeZNnTM81SDv8s8U= + dependencies: + postcss "^7.0.5" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npmmirror.com/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.npmmirror.com/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@3.4.2: + version "3.4.2" + resolved "https://registry.npmmirror.com/css-loader/download/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" + integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== + dependencies: + 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.23" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.1.1" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.0.2" + schema-utils "^2.6.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ= + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.2.1" + resolved "https://registry.npmmirror.com/css-select/download/css-select-4.2.1.tgz#9e665d6ae4c7f9d65dbe69d0316e3221fb274cdd" + integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== + dependencies: + boolbase "^1.0.0" + css-what "^5.1.0" + domhandler "^4.3.0" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.npmmirror.com/css-tree/download/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0= + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmmirror.com/css-what/download/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= + +css-what@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha1-P3tweq32M7r2LCzrhXm1RbtA9/4= + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npmmirror.com/css/download/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.npmmirror.com/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha1-O/LypowQ9cagir2SN4Mx7oA83bA= + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/cssesc/download/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha1-kgYisfwelaNOiDggPxOXpQTy0/8= + dependencies: + 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" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.npmmirror.com/cssnano/download/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.npmmirror.com/csso/download/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: + version "0.3.8" + resolved "https://registry.npmmirror.com/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= + +cssstyle@^1.0.0, cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.npmmirror.com/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= + dependencies: + cssom "0.3.x" + +csstype@^3.0.2: + version "3.0.10" + resolved "https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + +customize-cra@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/customize-cra/download/customize-cra-0.9.1.tgz#76b42c4f537c16329eccc09cfefd804d04c81550" + integrity sha1-drQsT1N8FjKezMCc/v2ATQTIFVA= + dependencies: + lodash.flow "^3.5.0" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.4: + version "1.0.8" + resolved "https://registry.npmmirror.com/damerau-levenshtein/download/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npmmirror.com/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +date-fns@2.x: + version "2.28.0" + resolved "https://registry.npmmirror.com/date-fns/download/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== + +dayjs@1.x: + version "1.10.7" + resolved "https://registry.npmmirror.com/dayjs/download/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@=3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/debug/download/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.5, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.3" + resolved "https://registry.npmmirror.com/debug/download/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deep-equal@^1.0.1, deep-equal@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + 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@~0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/download/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmmirror.com/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/del/download/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@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" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-node/download/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha1-yccHdaScPQO8LAbZpzvlUPl4+LE= + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.npmmirror.com/detect-port-alt/download/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha1-JHB96r6TLUo89iEwICfCsmZWgnU= + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + +diff-sequences@^27.4.0: + version "27.4.0" + resolved "https://registry.npmmirror.com/diff-sequences/download/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" + integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npmmirror.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/dir-glob/download/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= + dependencies: + path-type "^4.0.0" + +dnd-core@^11.1.3: + version "11.1.3" + resolved "https://registry.npmmirror.com/dnd-core/download/dnd-core-11.1.3.tgz#f92099ba7245e49729d2433157031a6267afcc98" + integrity sha1-+SCZunJF5Jcp0kMxVwMaYmevzJg= + dependencies: + "@react-dnd/asap" "^4.0.0" + "@react-dnd/invariant" "^2.0.0" + redux "^4.0.4" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.npmmirror.com/dns-packet/download/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha1-40VQZYJKJQe6iGxVqJljuxB97G8= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-align@^1.7.0: + version "1.12.2" + resolved "https://registry.npmmirror.com/dom-align/download/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" + integrity sha1-D4Fk69DJwhsMeQMQSTzYVYkqzUs= + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/dom-serializer/download/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha1-YgZDfTLO767HFhgDIwx6ILwbTZE= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/domelementtype/download/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc= + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npmmirror.com/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/domhandler/download/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU= + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/dot-case/download/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha1-mytnDQCkMWZ6inW6Kc0bmICc51E= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/dot-prop/download/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/dotenv-expand/download/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@8.2.0: + version "8.2.0" + resolved "https://registry.npmmirror.com/dotenv/download/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npmmirror.com/duplexify/download/duplexify-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.3.378, electron-to-chromium@^1.4.17: + version "1.4.56" + resolved "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.56.tgz#f660fd2c6739b341d8922fe3a441a5a2804911a1" + integrity sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g== + +elliptic@^6.5.3, elliptic@^6.5.4: + version "6.5.4" + resolved "https://registry.npmmirror.com/elliptic/download/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + 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" + +emoji-regex@^7.0.1, emoji-regex@^7.0.2: + version "7.0.3" + resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmmirror.com/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1624607958717&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508126700&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.npmmirror.com/errno/download/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8= + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha1-1IhXlodpFpWd547aoN9FZicRXsM= + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@^0.10.62, es5-ext@~0.10.14: + version "0.10.63" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.63.tgz#9c222a63b6a332ac80b1e373b426af723b895bd6" + integrity sha512-hUCZd2Byj/mNKjfP9jXrdVZ62B8KuA/VoK7X8nUh5qT+AxDmcbvZz041oDVZdbIN1qW6XY9VDNwzkvKnZvK2TQ== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + esniff "^2.0.1" + next-tick "^1.1.0" + +es6-iterator@2.0.3, es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/escalade/download/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.11.0, escodegen@^1.9.1: + version "1.14.3" + resolved "https://registry.npmmirror.com/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/eslint-config-react-app/download/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha1-aYv3ru4n8M6gE56u8mHHv33WI98= + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.2: + version "0.3.6" + resolved "https://registry.npmmirror.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha1-QEi5WDldqJZoJSAB29nsprg7rL0= + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-loader@3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/eslint-loader/download/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca" + integrity sha1-4Bjj0nIjgdmCsSAa21aBnHO0gMo= + dependencies: + fs-extra "^8.1.0" + loader-fs-cache "^1.0.2" + loader-utils "^1.2.3" + object-hash "^2.0.1" + schema-utils "^2.6.1" + +eslint-module-utils@^2.4.1: + version "2.7.3" + resolved "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" + integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + +eslint-plugin-flowtype@4.6.0: + version "4.6.0" + resolved "https://registry.npmmirror.com/eslint-plugin-flowtype/download/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" + integrity sha1-grK9byF3Dg5d7t4CKORWyzUwhFE= + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@2.20.1: + version "2.20.1" + resolved "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.20.1.tgz#802423196dcb11d9ce8435a5fc02a6d3b46939b3" + integrity sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw== + dependencies: + array-includes "^3.0.3" + array.prototype.flat "^1.2.1" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.1" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.12.0" + +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.npmmirror.com/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha1-YhC21aNyBfC5KFj4laToJwIKfQQ= + +eslint-plugin-react@7.19.0: + version "7.19.0" + resolved "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" + integrity sha1-bQj5ZzYoqmnFVZ0zSJ6FXYNVFmY= + dependencies: + array-includes "^3.1.1" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.2.3" + object.entries "^1.1.1" + object.fromentries "^2.0.2" + object.values "^1.1.1" + prop-types "^15.7.2" + resolve "^1.15.1" + semver "^6.3.0" + string.prototype.matchall "^4.0.2" + xregexp "^4.3.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-utils/download/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint@^6.6.0: + version "6.8.0" + resolved "https://registry.npmmirror.com/eslint/download/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@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" + +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.npmmirror.com/espree/download/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1: + version "1.4.0" + resolved "https://registry.npmmirror.com/esquery/download/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha1-LupSkHAvJquP5TcDcP+GyWXSESM= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmmirror.com/eventemitter3/download/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/download/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.npmmirror.com/eventsource/download/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.npmmirror.com/exec-sh/download/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha1-/yZPnjJVGaYMteJzaSlDSDzKY7w= + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1637147199964&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + 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" + +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/execall/download/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U= + dependencies: + clone-regexp "^2.1.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmmirror.com/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + 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" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/expect/download/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.17.1: + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.2" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.6.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" + +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.npmmirror.com/ext/download/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha1-OHHVBkHodMwXLitT+RmELRnbTFI= + dependencies: + type "^2.5.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npmmirror.com/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + 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" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635889863507&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.4.1.tgz?cache=0&sync_timestamp=1635889863507&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha1-jRcsBkhn8jXAyEpZaAbSeb9LzAc= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-glob@^2.0.2: + version "2.2.7" + resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@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" + +fast-glob@^3.2.5, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.npmmirror.com/fast-glob/download/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.npmmirror.com/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha1-mZD306iMxan/0fF0V0UlFwDUl+I= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.npmmirror.com/fastq/download/fastq-1.13.0.tgz?cache=0&sync_timestamp=1631609698424&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffastq%2Fdownload%2Ffastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw= + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npmmirror.com/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.4" + resolved "https://registry.npmmirror.com/faye-websocket/download/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo= + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/fb-watchman/download/fb-watchman-2.0.1.tgz?cache=0&sync_timestamp=1624607942135&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffb-watchman%2Fdownload%2Ffb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= + dependencies: + bser "2.1.1" + +fbemitter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/fbemitter/download/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" + integrity sha1-ALKhr1QRJUqrQWzXX55iib7kv/M= + dependencies: + fbjs "^3.0.0" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/fbjs-css-vars/download/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha1-IWVRE2rgL+JVkyw+yHdfGOLAeLg= + +fbjs@^3.0.0, fbjs@^3.0.1: + version "3.0.2" + resolved "https://registry.npmmirror.com/fbjs/download/fbjs-3.0.2.tgz#dfae08a85c66a58372993ce2caf30863f569ff94" + integrity sha512-qv+boqYndjElAJHNN3NoM8XuwQZ1j2m3kEvTgdle8IDjr6oUbkEpvABWtj/rQl3vq4ew7dnElBxL4YJAwTVqQQ== + dependencies: + cross-fetch "^3.0.4" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.30" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npmmirror.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/download/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= + dependencies: + flat-cache "^3.0.4" + +file-loader@4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/file-loader/download/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" + integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-saver@^2.0.2: + version "2.0.5" + resolved "https://registry.npmmirror.com/file-saver/download/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/filesize/download/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" + integrity sha1-+FC1CZCcfIb35FDqGQBsMcLtPS8= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.2.0: + version "3.3.2" + resolved "https://registry.npmmirror.com/find-cache-dir/download/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/flat-cache/download/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE= + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.npmmirror.com/flatted/download/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +flux@^4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/flux/download/flux-4.0.3.tgz#573b504a24982c4768fdfb59d8d2ea5637d72ee7" + integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== + dependencies: + fbemitter "^3.0.0" + fbjs "^3.0.1" + +follow-redirects@1.5.10: + version "1.5.10" + resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" + integrity sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio= + dependencies: + debug "=3.1.0" + +follow-redirects@^1.0.0: + version "1.14.7" + resolved "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmmirror.com/for-each/download/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha1-abRH6IoKXTLD5whPPxcQA0shN24= + dependencies: + is-callable "^1.1.3" + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.npmmirror.com/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.npmmirror.com/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" + integrity sha1-oWQsDT5l9QwswXQunAqA9EH4axk= + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^3.3.0" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npmmirror.com/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +framer-motion@^2.1.2: + version "2.9.5" + resolved "https://registry.npmmirror.com/framer-motion/download/framer-motion-2.9.5.tgz#bbb185325d531c57f494cf3f6cf7719fc2c225c7" + integrity sha1-u7GFMl1THFf0lM8/bPdxn8LCJcc= + dependencies: + framesync "^4.1.0" + hey-listen "^1.0.8" + popmotion "9.0.0-rc.20" + style-value-types "^3.1.9" + tslib "^1.10.0" + optionalDependencies: + "@emotion/is-prop-valid" "^0.8.2" + +framesync@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/framesync/download/framesync-4.1.0.tgz#69a8db3ca432dc70d6a76ba882684a1497ef068a" + integrity sha1-aajbPKQy3HDWp2uogmhKFJfvBoo= + dependencies: + hey-listen "^1.0.5" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.npmmirror.com/fs-extra/download/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA= + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fs-minipass/download/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs= + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npmmirror.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha1-TAofs0vGjlQ7S4Kp7Dkr+9qECAU= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro= + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmmirror.com/gensync/download/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-intrinsic@^1.0.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y= + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/get-stdin/download/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha1-y61qc/63X27rIrqeAfiaooqpelM= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/get-stream/download/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha1-f9uByQAQH71WTdXxowr1qtweWNY= + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npmmirror.com/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + 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" + +global-modules@2.0.0, global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A= + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c= + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npmmirror.com/globals/download/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@8.0.2: + version "8.0.2" + resolved "https://registry.npmmirror.com/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^11.0.3: + version "11.1.0" + resolved "https://registry.npmmirror.com/globby/download/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/globjoin/download/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + +gonzales-pe@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/gonzales-pe/download/gonzales-pe-4.3.0.tgz#fe9dec5f3c557eead09ff868c65826be54d067b3" + integrity sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M= + dependencies: + minimist "^1.2.5" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2: + version "4.2.9" + resolved "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/gud/download/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha1-pIlYGxfmpwvsqavjrlfeekmYUsA= + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/hard-rejection/download/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM= + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.npmmirror.com/harmony-reflect/download/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha1-Mey9MuZIo00DDYattn1NR1R/5xA= + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&sync_timestamp=1631558652943&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/has-bigints/download/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/has-symbols/download/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU= + dependencies: + has-symbols "^1.0.2" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmmirror.com/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +hey-listen@^1.0.5, hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.npmmirror.com/hey-listen/download/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha1-jllWH/ckkI3hqpJO1uzISlapqmg= + +highlight-words-core@^1.2.0: + version "1.2.2" + resolved "https://registry.npmmirror.com/highlight-words-core/download/highlight-words-core-1.2.2.tgz#1eff6d7d9f0a22f155042a00791237791b1eeaaa" + integrity sha1-Hv9tfZ8KIvFVBCoAeRI3eRse6qo= + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.3.0: + version "3.3.2" + resolved "https://registry.npmmirror.com/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz?cache=0&sync_timestamp=1627566706387&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhoist-non-react-statics%2Fdownload%2Fhoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= + dependencies: + react-is "^16.7.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.npmmirror.com/hosted-git-info/download/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmmirror.com/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.1: + version "1.4.0" + resolved "https://registry.npmmirror.com/html-entities/download/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" + integrity sha1-z70bAdKvr5rcobEK59/6uYxx0tw= + +html-escaper@^2.0.0, html-escaper@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/html-escaper/download/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= + +html-minifier-terser@^5.0.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/html-minifier-terser/download/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" + integrity sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ= + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/html-parse-stringify/download/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha1-38EBc0fOn3fIFBpQfyMwQMWcVdI= + dependencies: + void-elements "3.1.0" + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/html-tags/download/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA= + +html-webpack-plugin@4.0.0-beta.11: + version "4.0.0-beta.11" + resolved "https://registry.npmmirror.com/html-webpack-plugin/download/html-webpack-plugin-4.0.0-beta.11.tgz#3059a69144b5aecef97708196ca32f9e68677715" + integrity sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg== + dependencies: + html-minifier-terser "^5.0.1" + loader-utils "^1.2.3" + lodash "^4.17.15" + pretty-error "^2.1.1" + tapable "^1.1.3" + util.promisify "1.0.0" + +htmlparser2@^3.10.0: + version "3.10.1" + resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640945377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1636640945377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha1-xNditsM3GgXb5l6UrkOp+EX7j7c= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmmirror.com/http-errors/download/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.5" + resolved "https://registry.npmmirror.com/http-parser-js/download/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" + integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npmmirror.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.npmmirror.com/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178703812&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +i18next@^19.5.3: + version "19.9.2" + resolved "https://registry.npmmirror.com/i18next/download/i18next-19.9.2.tgz#ea5a124416e3c5ab85fddca2c8e3c3669a8da397" + integrity sha1-6loSRBbjxauF/dyiyOPDZpqNo5c= + dependencies: + "@babel/runtime" "^7.12.0" + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/identity-obj-proxy/download/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/download/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npmmirror.com/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npmmirror.com/ignore/download/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.8, ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/ignore/download/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npmmirror.com/image-size/download/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.npmmirror.com/immer/download/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/import-fresh/download/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/import-lazy/download/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha1-6OtidIOgpD2jwD8+NVSL5csMwVM= + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/indent-string/download/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.npmmirror.com/ini/download/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw= + +inquirer@7.0.4: + version "7.0.4" + resolved "https://registry.npmmirror.com/inquirer/download/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" + integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.npmmirror.com/inquirer/download/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + 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" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/internal-slot/download/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw= + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmmirror.com/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/invert-kv/download/invert-kv-2.0.0.tgz?cache=0&sync_timestamp=1630996775723&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finvert-kv%2Fdownload%2Finvert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.9" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396" + integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ== + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npmmirror.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0= + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1636009291782&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha1-frmiQx+FX2se8aeOMm31FWlsTb8= + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.npmmirror.com/is-arguments/download/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npmmirror.com/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-bigint/download/is-bigint-1.0.4.tgz?cache=0&sync_timestamp=1628747500062&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-bigint%2Fdownload%2Fis-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM= + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.0.2, is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.npmmirror.com/is-buffer/download/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE= + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/is-callable/download/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU= + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + 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@^2.5.0, is-core-module@^2.8.1: + version "2.8.1" + resolved "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/is-date-object/download/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8= + dependencies: + has-tostringtag "^1.0.0" + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-decimal/download/is-decimal-1.0.4.tgz?cache=0&sync_timestamp=1636008960795&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-decimal%2Fdownload%2Fis-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npmmirror.com/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/is-docker/download/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-generator-fn/download/is-generator-fn-2.1.0.tgz?cache=0&sync_timestamp=1628686122487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-generator-fn%2Fdownload%2Fis-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ= + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha1-zDXJdYjaS9Saju3WvECC1E3LI6c= + +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/is-negative-zero/download/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/is-number-object/download/is-number-object-1.0.6.tgz?cache=0&sync_timestamp=1628221744591&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-number-object%2Fdownload%2Fis-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha1-anqvg4x/BoalC0VT9+VKlklOifA= + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686723402&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-path-inside/download/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-plain-obj/download/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha1-ReQuN/zPH0Dajl927iFRWEDAkoc= + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/is-regex/download/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg= + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-regexp/download/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-root/download/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha1-l7DIX72stZycRG/mU7gs8rW3z+Y= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-stream/download/is-stream-1.1.0.tgz?cache=0&sync_timestamp=1628592752355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-stream%2Fdownload%2Fis-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/is-string/download/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0= + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/is-symbol/download/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1625294654260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc= + +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-weakref/download/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-wsl/download/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE= + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&sync_timestamp=1634527209200&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.npmmirror.com/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz?cache=0&sync_timestamp=1634004113980&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-source-maps%2Fdownload%2Fistanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.npmmirror.com/istanbul-reports/download/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= + dependencies: + html-escaper "^2.0.0" + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-changed-files/download/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-cli/download/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-config/download/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@*: + version "27.4.6" + resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-27.4.6.tgz#93815774d2012a2cbb6cf23f84d48c7a2618f98d" + integrity sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.4.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.6" + +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-diff/download/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-each/download/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fourteen@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/jest-environment-jsdom-fourteen/download/jest-environment-jsdom-fourteen-1.0.1.tgz#4cd0042f58b4ab666950d96532ecb2fc188f96fb" + integrity sha1-TNAEL1i0q2ZpUNllMuyy/BiPlvs= + dependencies: + "@jest/environment" "^24.3.0" + "@jest/fake-timers" "^24.3.0" + "@jest/types" "^24.3.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" + jsdom "^14.1.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-environment-node/download/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + +jest-get-type@^27.4.0: + version "27.4.0" + resolved "https://registry.npmmirror.com/jest-get-type/download/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" + integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-message-util/download/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.0.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.npmmirror.com/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@24.9.0, jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-runner/download/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-runtime/download/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-snapshot/download/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-util@^24.0.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-validate/download/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.4.2: + version "0.4.2" + resolved "https://registry.npmmirror.com/jest-watch-typeahead/download/jest-watch-typeahead-0.4.2.tgz#e5be959698a7fa2302229a5082c488c3c8780a4a" + integrity sha1-5b6Vlpin+iMCIppQgsSIw8h4Cko= + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.1" + jest-regex-util "^24.9.0" + jest-watcher "^24.3.0" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-watcher/download/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest-worker/download/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest-worker@^25.1.0: + version "25.5.0" + resolved "https://registry.npmmirror.com/jest-worker/download/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha1-JhHQcbec6g9D7lej0RhZOsFUfbE= + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/jest/download/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" + integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== + dependencies: + import-local "^2.0.0" + jest-cli "^24.9.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/js-yaml/download/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.npmmirror.com/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^14.1.0: + version "14.1.0" + resolved "https://registry.npmmirror.com/jsdom/download/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" + integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== + dependencies: + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.1.3" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmmirror.com/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha1-rnvLNlard6c7pcSb9lTzjmtoYOI= + +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/json-schema/download/json-schema-0.4.0.tgz?cache=0&sync_timestamp=1636423476647&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/json2mq/download/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= + dependencies: + string-convert "^0.2.0" + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.npmmirror.com/json5/download/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.npmmirror.com/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/jsprim/download/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: + version "2.4.1" + resolved "https://registry.npmmirror.com/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" + integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= + dependencies: + array-includes "^3.1.1" + object.assign "^4.1.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= + dependencies: + is-buffer "^1.0.2" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/kleur/download/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + +known-css-properties@^0.21.0: + version "0.21.0" + resolved "https://registry.npmmirror.com/known-css-properties/download/known-css-properties-0.21.0.tgz#15fbd0bbb83447f3ce09d8af247ed47c68ede80d" + integrity sha1-FfvQu7g0R/POCdivJH7UfGjt6A0= + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.npmmirror.com/lazy-cache/download/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/less-loader/download/less-loader-5.0.0.tgz#498dde3a6c6c4f887458ee9ed3f086a12ad1b466" + integrity sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg== + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.11.3: + version "3.13.1" + resolved "https://registry.npmmirror.com/less/download/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-2.0.0.tgz?cache=0&sync_timestamp=1631508607226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fload-json-file%2Fdownload%2Fload-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/load-json-file/download/load-json-file-4.0.0.tgz?cache=0&sync_timestamp=1631508607226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fload-json-file%2Fdownload%2Fload-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/download/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash-es@^4.17.15: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash-es/download/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.curry@^4.0.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.curry/download/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" + integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.flow@^3.3.0, lodash.flow@^3.5.0: + version "3.5.0" + resolved "https://registry.npmmirror.com/lodash.flow/download/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmmirror.com/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.truncate/download/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/download/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/log-symbols/download/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha1-P727lbRoOsn8eFER55LlWNSr1QM= + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +loglevel@^1.6.6: + version "1.8.0" + resolved "https://registry.npmmirror.com/loglevel/download/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== + +longest-streak@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1636446222992&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ= + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/loose-envify/download/loose-envify-1.4.0.tgz?cache=0&sync_timestamp=1627566748051&other_urls=https%3A%2F%2Fregistry.nlark.com%2Floose-envify%2Fdownload%2Floose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/lower-case/download/lower-case-2.0.2.tgz?cache=0&sync_timestamp=1624607698082&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flower-case%2Fdownload%2Flower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha1-b6I3xj29xKgsoP2ILkci3F5jTig= + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/lru-cache/download/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ= + dependencies: + yallist "^4.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/make-dir/download/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmmirror.com/makeerror/download/makeerror-1.0.12.tgz?cache=0&sync_timestamp=1635238315869&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmakeerror%2Fdownload%2Fmakeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha1-Pl3SB5qC6BLpg8xmEMSiyw6qgBo= + dependencies: + tmpl "1.0.5" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.npmmirror.com/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmmirror.com/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/map-obj/download/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha1-kwT5Buk/qucIgNoQKp8d8OqLsFo= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +mathml-tag-names@^2.1.3: + version "2.1.3" + resolved "https://registry.npmmirror.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" + integrity sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM= + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npmmirror.com/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdast-util-from-markdown@^0.8.0: + version "0.8.5" + resolved "https://registry.npmmirror.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha1-0e8spCvDd+ywRjqYeRDa6JvZoow= + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string "^2.0.0" + micromark "~2.11.0" + parse-entities "^2.0.0" + unist-util-stringify-position "^2.0.0" + +mdast-util-to-markdown@^0.6.0: + version "0.6.5" + resolved "https://registry.npmmirror.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" + integrity sha1-sz9nyoINaebMUnqT1AOSSbUEvr4= + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs= + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/memoize-one/download/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha1-ojh8WMA//yfKOQwxt2Snmt3z+QY= + +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/memoize-one/download/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha1-slkbhx7YKUiu5HJ9xqvO7qyMEEU= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1637477490247&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q= + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-deep@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/merge-deep/download/merge-deep-3.0.3.tgz#1a2b2ae926da8b2ae93a0ac15d90cd1922766003" + integrity sha1-Gisq6SbaiyrpOgrBXZDNGSJ2YAM= + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/microevent.ts/download/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A= + +micromark@~2.11.0: + version "2.11.4" + resolved "https://registry.npmmirror.com/micromark/download/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" + integrity sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo= + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmmirror.com/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + 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" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.npmmirror.com/micromatch/download/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k= + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": + version "1.51.0" + resolved "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz?cache=0&sync_timestamp=1636426033377&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-db%2Fdownload%2Fmime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19: + version "2.1.34" + resolved "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.4: + version "2.6.0" + resolved "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha1-oqaCqVzU0MsdYlfij4PafjWAA2c= + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/min-indent/download/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha1-pj9oFnOzBXH76LwlaGrnRu76mGk= + +mini-css-extract-plugin@0.9.0: + version "0.9.0" + resolved "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" + integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/minimist-options/download/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk= + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/minipass-collect/download/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc= + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/minipass-flush/download/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M= + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.npmmirror.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw= + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.6" + resolved "https://registry.npmmirror.com/minipass/download/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== + dependencies: + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + 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@^1.2.0: + version "1.3.2" + resolved "https://registry.npmmirror.com/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/mixin-object/download/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +mobx-react-lite@^2.2.0: + version "2.2.2" + resolved "https://registry.npmmirror.com/mobx-react-lite/download/mobx-react-lite-2.2.2.tgz#87c217dc72b4e47b22493daf155daf3759f868a6" + integrity sha1-h8IX3HK05HsiST2vFV2vN1n4aKY= + +mobx-react@^6.2.2: + version "6.3.1" + resolved "https://registry.npmmirror.com/mobx-react/download/mobx-react-6.3.1.tgz#204f9756e42e19d91cb6598837063b7e7de87c52" + integrity sha1-IE+XVuQuGdkctlmINwY7fn3ofFI= + dependencies: + mobx-react-lite "^2.2.0" + +mobx@^5.13.0: + version "5.15.7" + resolved "https://registry.npmmirror.com/mobx/download/mobx-5.15.7.tgz#b9a5f2b6251f5d96980d13c78e9b5d8d4ce22665" + integrity sha1-uaXytiUfXZaYDRPHjptdjUziJmU= + +moment@^2.24.0, moment@^2.25.3: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + 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@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/download/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha1-V0yBOM4dK1hh8LRFedut1gxmFbI= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1633354996608&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.npmmirror.com/nan/download/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmmirror.com/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + 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" + +native-request@^1.0.5: + version "1.1.0" + resolved "https://registry.npmmirror.com/native-request/download/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" + integrity sha1-rNsw/i7vo+G8jFSzpoUunFwNPLA= + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/download/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/no-case/download/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha1-02H9XJgA9VhVGoNp/A3NRmK2Ek0= + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npmmirror.com/node-forge/download/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + 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" + +node-notifier@^5.4.2: + version "5.4.5" + resolved "https://registry.npmmirror.com/node-notifier/download/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" + integrity sha1-DLwaKw9lhJO0Ald1oTrZOOlgke8= + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.52: + version "1.1.77" + resolved "https://registry.npmmirror.com/node-releases/download/node-releases-1.1.77.tgz?cache=0&sync_timestamp=1634807933091&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha1-ULDP7ehV3TdOdYW/Io/zTlfBwy4= + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634807933091&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha1-PR05XyBPHy8ppUNYuftnh2WtL8U= + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.npmmirror.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha1-28w+LaWVCaCYNCKITNFy7v36Ul4= + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/normalize-selector/download/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= + +normalize-url@1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/normalize-url/download/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&sync_timestamp=1633420566316&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/nth-check/download/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I= + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.0.7, nwsapi@^2.1.3: + version "2.2.0" + resolved "https://registry.npmmirror.com/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npmmirror.com/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^2.0.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/object-hash/download/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" + integrity sha1-WtUYWB7vxEO9djRyuP8unCwNVKU= + +object-inspect@^1.11.0: + version "1.12.0" + resolved "https://registry.npmmirror.com/object-inspect/download/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + +object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.npmmirror.com/object-is/download/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha1-ud7qpfx/GEag+uzc7sE45XePU6w= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-path@0.11.4: + version "0.11.4" + resolved "https://registry.npmmirror.com/object-path/download/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/object.assign/download/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.0, object.entries@^1.1.1: + version "1.1.5" + resolved "https://registry.npmmirror.com/object.entries/download/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha1-4azdF8TeLNltWghIfPuduE2IGGE= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.2: + version "2.0.5" + resolved "https://registry.npmmirror.com/object.fromentries/download/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha1-ezeyBRCcIedB5gVyf+iwrV+gglE= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha1-siPPOOF/77l6Y8EMkd9yzLOG354= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.5" + resolved "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz?cache=0&sync_timestamp=1633327208193&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.values%2Fdownload%2Fobject.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/download/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= + dependencies: + mimic-fn "^2.1.0" + +open@^7.0.2: + version "7.4.2" + resolved "https://registry.npmmirror.com/open/download/open-7.4.2.tgz?cache=0&sync_timestamp=1635049636729&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fopen%2Fdownload%2Fopen-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE= + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.npmmirror.com/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + 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" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/p-limit/download/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/download/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1629892708584&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/p-map/download/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha1-1wTZr4orpoTiYA2aIVmD1BQal50= + dependencies: + aggregate-error "^3.0.0" + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npmmirror.com/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1627560187062&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpako%2Fdownload%2Fpako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@^3.0.3: + version "3.0.4" + resolved "https://registry.npmmirror.com/param-case/download/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha1-fRf+SqEr3jTUp32RrPtiGcqtAcU= + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&sync_timestamp=1633337488003&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.6: + version "5.1.6" + resolved "https://registry.npmmirror.com/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= + dependencies: + 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-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/parse-entities/download/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha1-U8brW5MUofTsmfoP33zgHs2gy+g= + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/parse5/download/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/pascal-case/download/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha1-tI4O8rmOIF58Ha50fQsVCCN2YOs= + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/download/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/download/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.npmmirror.com/pbkdf2/download/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU= + dependencies: + 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@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8= + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/download/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.5" + resolved "https://registry.npmmirror.com/pirates/download/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +pkg-up@3.1.0, pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/pkg-up/download/pkg-up-3.1.0.tgz?cache=0&sync_timestamp=1636035118070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-up%2Fdownload%2Fpkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU= + dependencies: + find-up "^3.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= + +pnp-webpack-plugin@1.6.4: + version "1.6.4" + resolved "https://registry.npmmirror.com/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" + integrity sha1-yXEaxNxIpoXauvyG+Lbdn434QUk= + dependencies: + ts-pnp "^1.1.6" + +popmotion@9.0.0-rc.20: + version "9.0.0-rc.20" + resolved "https://registry.npmmirror.com/popmotion/download/popmotion-9.0.0-rc.20.tgz#f3550042ae31957b5416793ae8723200951ad39d" + integrity sha1-81UAQq4xlXtUFnk66HIyAJUa050= + dependencies: + framesync "^4.1.0" + hey-listen "^1.0.8" + style-value-types "^3.1.9" + tslib "^1.10.0" + +popper.js@^1.14.4: + version "1.16.1" + resolved "https://registry.npmmirror.com/popper.js/download/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== + +portfinder@^1.0.25: + version "1.0.28" + resolved "https://registry.npmmirror.com/portfinder/download/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-browser-comments/download/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" + integrity sha1-EkjS2TX7cgU8jh9hqEpXKS2fZek= + dependencies: + postcss "^7" + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.npmmirror.com/postcss-calc/download/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.npmmirror.com/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g= + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.npmmirror.com/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha1-//0T/+/61zYhvl84cHaiiwApTgw= + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.npmmirror.com/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha1-bjpBd9Dts6vMhf22+7HCbauuq6I= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4= + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/postcss-env-function/download/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha1-Dz49PFfwlKksK69LYkHwsNpTZdc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha1-4JSp3xeD4iALexn4ddytOzr/iyA= + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha1-R30QcROt5gJLFBKDF63ivR4XBG4= + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha1-djuHiFls7puHTJmSAc3egGWe9oA= + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE= + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU= + dependencies: + postcss "^7.0.2" + +postcss-html@^0.36.0: + version "0.36.0" + resolved "https://registry.npmmirror.com/postcss-html/download/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" + integrity sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ= + dependencies: + htmlparser2 "^3.10.0" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha1-KJIKLymUW+1MMZjX32SW1BDT8og= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.4" + resolved "https://registry.npmmirror.com/postcss-initial/download/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha1-nTIGmhBTH+Lsr6C2rHUO4Lx+/FM= + dependencies: + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha1-u1GmhWzRIomrSuINseOCHvE9fS4= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-less@^3.1.4: + version "3.1.4" + resolved "https://registry.npmmirror.com/postcss-less/download/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" + integrity sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0= + dependencies: + postcss "^7.0.14" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.npmmirror.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-logical/download/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha1-JJXQ+LgunyYnJfdflAGzTntF1bU= + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU= + dependencies: + postcss "^7.0.2" + +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.npmmirror.com/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + 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" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" + integrity sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A= + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" + integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.npmmirror.com/postcss-nesting/download/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI= + dependencies: + postcss "^7.0.2" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/postcss-normalize/download/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" + integrity sha1-kOgKd2PX/fLaby8Pgr6DLOT2Z3Y= + dependencies: + "@csstools/normalize.css" "^10.1.0" + browserslist "^4.6.2" + postcss "^7.0.17" + postcss-browser-comments "^3.0.0" + sanitize.css "^10.0.0" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha1-MezzUOnG9t3CUKePDD4RHzLdTDA= + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/postcss-page-break/download/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8= + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-place/download/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.npmmirror.com/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha1-w03az4+QI4OzWtHgMPF49M3xGKU= + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha1-LtPu05OzcCh53sSocDKyENrrBNE= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw= + dependencies: + postcss "^7.0.2" + +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-safe-parser/download/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha1-h1bZ5MNv3OLHKwkbvIyhdqsfzeo= + dependencies: + postcss "^7.0.0" + +postcss-safe-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" + integrity sha1-ptTkjw832ffBGypYG/APi6SHC5Y= + dependencies: + postcss "^7.0.26" + +postcss-sass@^0.4.4: + version "0.4.4" + resolved "https://registry.npmmirror.com/postcss-sass/download/postcss-sass-0.4.4.tgz#91f0f3447b45ce373227a98b61f8d8f0785285a3" + integrity sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM= + dependencies: + gonzales-pe "^4.3.0" + postcss "^7.0.21" + +postcss-scss@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/postcss-scss/download/postcss-scss-2.1.1.tgz#ec3a75fa29a55e016b90bf3269026c53c1d2b383" + integrity sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M= + dependencies: + postcss "^7.0.6" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-selector-not/download/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha1-JjAW7vHPIZ4K3pqRN4D8H0ggTL8= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.5: + version "6.0.9" + resolved "https://registry.npmmirror.com/postcss-selector-parser/download/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-syntax@^0.36.2: + version "0.36.2" + resolved "https://registry.npmmirror.com/postcss-syntax/download/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" + integrity sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw= + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0: + version "3.3.1" + resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-value-parser/download/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha1-2otHLZAdoeIFtHvcmGN7np5VDl8= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.21: + version "7.0.21" + resolved "https://registry.npmmirror.com/postcss/download/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/prepend-http/download/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier@^2.0.5: + version "2.5.1" + resolved "https://registry.npmmirror.com/prettier/download/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== + +pretty-bytes@^5.1.0: + version "5.6.0" + resolved "https://registry.npmmirror.com/pretty-bytes/download/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha1-NWJW9kOAR3PIL2RyP+eMksYr6us= + +pretty-error@^2.1.1: + version "2.1.2" + resolved "https://registry.npmmirror.com/pretty-error/download/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y= + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +pretty-format@^27.4.6: + version "27.4.6" + resolved "https://registry.npmmirror.com/pretty-format/download/pretty-format-27.4.6.tgz#1b784d2f53c68db31797b2348fa39b49e31846b7" + integrity sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmmirror.com/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmmirror.com/promise/download/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078= + dependencies: + asap "~2.0.3" + +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.npmmirror.com/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= + dependencies: + asap "~2.0.6" + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmmirror.com/prompts/download/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha1-e1fnOzpIAprRDr1E90sBcipMsGk= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.5.8, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.npmmirror.com/prop-types/download/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npmmirror.com/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + 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" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/pump/download/pump-2.0.1.tgz?cache=0&sync_timestamp=1624607960506&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpump%2Fdownload%2Fpump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pump/download/pump-3.0.0.tgz?cache=0&sync_timestamp=1624607960506&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpump%2Fdownload%2Fpump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npmmirror.com/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmmirror.com/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npmmirror.com/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +pure-color@^1.2.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/pure-color/download/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" + integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npmmirror.com/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.npmmirror.com/qs/download/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.npmmirror.com/query-string/download/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q== + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.npmmirror.com/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/download/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha1-SSkii7xyTfrEPg77BYyve2z7YkM= + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1637478663596&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha1-W4h48ROlgheEjGSCAmxz4bpXcn8= + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.npmmirror.com/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc-align@^4.0.0: + version "4.0.11" + resolved "https://registry.npmmirror.com/rc-align/download/rc-align-4.0.11.tgz?cache=0&sync_timestamp=1628678366435&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-align%2Fdownload%2Frc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e" + integrity sha1-gZjGLbJmvBuO8F5WwTJ1v3Jiil4= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + lodash "^4.17.21" + rc-util "^5.3.0" + resize-observer-polyfill "^1.5.1" + +rc-cascader@~3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/rc-cascader/download/rc-cascader-3.2.1.tgz#fc928d67d96c3d9f358263e4a9127bcf4257cc6b" + integrity sha512-Raxam9tFzBL4TCgHoyVcf7+Q2KSFneUk3FZXi9w1tfxEihLlezSH0oCNMjHJN8hxWwwx9ZbI9UzWTfFImjXc0Q== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.0.0-alpha.23" + rc-tree "~5.4.3" + rc-util "^5.6.1" + +rc-checkbox@~2.3.0: + version "2.3.2" + resolved "https://registry.npmmirror.com/rc-checkbox/download/rc-checkbox-2.3.2.tgz#f91b3678c7edb2baa8121c9483c664fa6f0aefc1" + integrity sha1-+Rs2eMftsrqoEhyUg8Zk+m8K78E= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + +rc-collapse@~3.1.0: + version "3.1.2" + resolved "https://registry.npmmirror.com/rc-collapse/download/rc-collapse-3.1.2.tgz#76028a811b845d03d9460ccc409c7ea8ad09db14" + integrity sha1-dgKKgRuEXQPZRgzMQJx+qK0J2xQ= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.3.4" + rc-util "^5.2.1" + shallowequal "^1.1.0" + +rc-dialog@~8.6.0: + version "8.6.0" + resolved "https://registry.npmmirror.com/rc-dialog/download/rc-dialog-8.6.0.tgz?cache=0&sync_timestamp=1627272166293&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frc-dialog%2Fdownload%2Frc-dialog-8.6.0.tgz#3b228dac085de5eed8c6237f31162104687442e7" + integrity sha1-OyKNrAhd5e7YxiN/MRYhBGh0Quc= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-motion "^2.3.0" + rc-util "^5.6.1" + +rc-drawer@~4.4.2: + version "4.4.3" + resolved "https://registry.npmmirror.com/rc-drawer/download/rc-drawer-4.4.3.tgz?cache=0&sync_timestamp=1637134392366&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frc-drawer%2Fdownload%2Frc-drawer-4.4.3.tgz#2094937a844e55dc9644236a2d9fba79c344e321" + integrity sha512-FYztwRs3uXnFOIf1hLvFxIQP9MiZJA+0w+Os8dfDh/90X7z/HqP/Yg+noLCIeHEbKln1Tqelv8ymCAN24zPcfQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.7.0" + +rc-dropdown@^3.2.0, rc-dropdown@~3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/rc-dropdown/download/rc-dropdown-3.2.2.tgz#0fee9a66f100d686ddaa8d09717d090f72e1ce29" + integrity sha512-oA9VYYg+jQaPRdFoYFfBn5EAQk2NlL6H0vR2v6JG/8i4HEfUq8p1TTt6HyQ/dGxLe8lpnK+nM7WCjgZT/cpSRQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-trigger "^5.0.4" + +rc-field-form@~1.22.0-2: + version "1.22.1" + resolved "https://registry.npmmirror.com/rc-field-form/download/rc-field-form-1.22.1.tgz#0bd2f4e730ff2f071529d00bef28e062362890f5" + integrity sha512-LweU7nBeqmC5r3HDUjRprcOXXobHXp/TGIxD7ppBq5FX6Iptt3ibdpRVg4RSyNulBNGHOuknHlRcguuIpvVMVg== + dependencies: + "@babel/runtime" "^7.8.4" + async-validator "^4.0.2" + rc-util "^5.8.0" + +rc-image@~5.2.5: + version "5.2.5" + resolved "https://registry.npmmirror.com/rc-image/download/rc-image-5.2.5.tgz#44e6ffc842626827960e7ab72e1c0d6f3a8ce440" + integrity sha1-ROb/yEJiaCeWDnq3LhwNbzqM5EA= + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-dialog "~8.6.0" + rc-util "^5.0.6" + +rc-input-number@~7.3.0: + version "7.3.4" + resolved "https://registry.npmmirror.com/rc-input-number/download/rc-input-number-7.3.4.tgz#674aea98260250287d36e330a7e065b174486e9d" + integrity sha512-W9uqSzuvJUnz8H8vsVY4kx+yK51SsAxNTwr8SNH4G3XqQNocLVmKIibKFRjocnYX1RDHMND9FFbgj2h7E7nvGA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.9.8" + +rc-mentions@~1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/rc-mentions/download/rc-mentions-1.6.1.tgz#46035027d64aa33ef840ba0fbd411871e34617ae" + integrity sha1-RgNQJ9ZKoz74QLoPvUEYceNGF64= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-menu "^9.0.0" + rc-textarea "^0.3.0" + rc-trigger "^5.0.4" + rc-util "^5.0.1" + +rc-menu@^9.0.0: + version "9.3.1" + resolved "https://registry.npmmirror.com/rc-menu/download/rc-menu-9.3.1.tgz#a0e502938d2b7467ea8d343ae00c4af6019ba412" + integrity sha512-D9ZHlwtTpch0v15LXt7PRbAl+FCxXNEllly9fl1GhLzz52iTL2NVqzofecV5Yv3ekLUOojg+gkykv4elLNBKWg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.2.0" + rc-trigger "^5.1.2" + rc-util "^5.12.0" + shallowequal "^1.1.0" + +rc-menu@~9.2.1: + version "9.2.1" + resolved "https://registry.npmmirror.com/rc-menu/download/rc-menu-9.2.1.tgz#6fbe47f4846363bb81a5a21f0960026c3ada497a" + integrity sha512-UbEtn3rflJ8zS+etYGTVQuzy7Fm+yWXR5c0Rl6ecNTS/dPknRyWAyhJcbeR0Hu1+RdQT+0VCqrUPrgKnm4iY+w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.2.0" + rc-trigger "^5.1.2" + rc-util "^5.12.0" + shallowequal "^1.1.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4: + version "2.4.4" + resolved "https://registry.npmmirror.com/rc-motion/download/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0" + integrity sha1-6ZXV+iT8kwZcJPcUhXzyZ31lW7A= + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.2.1" + +rc-notification@~4.5.7: + version "4.5.7" + resolved "https://registry.npmmirror.com/rc-notification/download/rc-notification-4.5.7.tgz#265e6e6a0c1a0fac63d6abd4d832eb8ff31522f1" + integrity sha1-Jl5uagwaD6xj1qvU2DLrj/MVIvE= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.2.0" + rc-util "^5.0.1" + +rc-overflow@^1.0.0, rc-overflow@^1.2.0: + version "1.2.2" + resolved "https://registry.npmmirror.com/rc-overflow/download/rc-overflow-1.2.2.tgz#95b0222016c0cdbdc0db85f569c262e7706a5f22" + integrity sha1-lbAiIBbAzb3A24X1acJi53BqXyI= + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.5.1" + +rc-pagination@~3.1.9: + version "3.1.15" + resolved "https://registry.npmmirror.com/rc-pagination/download/rc-pagination-3.1.15.tgz#e05eddf4c15717a5858290bed0857e27e2f957ff" + integrity sha512-4L3fot8g4E+PjWEgoVGX0noFCg+8ZFZmeLH4vsnZpB3O2T2zThtakjNxG+YvSaYtyMVT4B+GLayjKrKbXQpdAg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + +rc-picker@~2.5.17: + version "2.5.19" + resolved "https://registry.npmmirror.com/rc-picker/download/rc-picker-2.5.19.tgz#73d07546fac3992f0bfabf2789654acada39e46f" + integrity sha1-c9B1RvrDmS8L+r8niWVKyto55G8= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + date-fns "2.x" + dayjs "1.x" + moment "^2.24.0" + rc-trigger "^5.0.4" + rc-util "^5.4.0" + shallowequal "^1.1.0" + +rc-progress@~3.2.1: + version "3.2.4" + resolved "https://registry.npmmirror.com/rc-progress/download/rc-progress-3.2.4.tgz#4036acdae2566438545bc4df2203248babaf7549" + integrity sha512-M9WWutRaoVkPUPIrTpRIDpX0SPSrVHzxHdCRCbeoBFrd9UFWTYNWRlHsruJM5FH1AZI+BwB4wOJUNNylg/uFSw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.16.1" + +rc-rate@~2.9.0: + version "2.9.1" + resolved "https://registry.npmmirror.com/rc-rate/download/rc-rate-2.9.1.tgz#e43cb95c4eb90a2c1e0b16ec6614d8c43530a731" + integrity sha1-5Dy5XE65CiweCxbsZhTYxDUwpzE= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.0.1" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/rc-resize-observer/download/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7" + integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.15.0" + resize-observer-polyfill "^1.5.1" + +rc-select@~14.0.0-alpha.15, rc-select@~14.0.0-alpha.23, rc-select@~14.0.0-alpha.8: + version "14.0.0-alpha.25" + resolved "https://registry.npmmirror.com/rc-select/download/rc-select-14.0.0-alpha.25.tgz#9e6ca83b090e020a730fdfdab07c1050549426e4" + integrity sha512-U9AMzXsOCCdtn96YIZdUrYbxk+5u6uWUCaYH2129X3FTjQITqAjEPYHfPcxU/G7+lwiD0pIaU95W0NMkg+26qw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.0.0" + rc-trigger "^5.0.4" + rc-util "^5.16.1" + rc-virtual-list "^3.2.0" + +rc-slider@~9.7.4: + version "9.7.5" + resolved "https://registry.npmmirror.com/rc-slider/download/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4" + integrity sha512-LV/MWcXFjco1epPbdw1JlLXlTgmWpB9/Y/P2yinf8Pg3wElHxA9uajN21lJiWtZjf5SCUekfSP6QMJfDo4t1hg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-tooltip "^5.0.1" + rc-util "^5.16.1" + shallowequal "^1.1.0" + +rc-steps@~4.1.0: + version "4.1.4" + resolved "https://registry.npmmirror.com/rc-steps/download/rc-steps-4.1.4.tgz#0ba82db202d59ca52d0693dc9880dd145b19dc23" + integrity sha1-C6gtsgLVnKUtBpPcmIDdFFsZ3CM= + dependencies: + "@babel/runtime" "^7.10.2" + classnames "^2.2.3" + rc-util "^5.0.1" + +rc-switch@~3.2.0: + version "3.2.2" + resolved "https://registry.npmmirror.com/rc-switch/download/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8" + integrity sha1-0AH3fxJmTVJZW09vtCXdnmb7qOg= + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.0.1" + +rc-table@~7.22.2: + version "7.22.2" + resolved "https://registry.npmmirror.com/rc-table/download/rc-table-7.22.2.tgz#218f3f53bc91660560a344c8290a91a841a60b0a" + integrity sha512-Ng2gNkGi6ybl6dzneRn2H4Gp8XhIbRa5rXQ7ZhZcgWVmfVMok70UHGPXcf68tXW6O0/qckTf/eOVsoviSvK4sw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-resize-observer "^1.1.0" + rc-util "^5.14.0" + shallowequal "^1.1.0" + +rc-tabs@~11.10.0: + version "11.10.5" + resolved "https://registry.npmmirror.com/rc-tabs/download/rc-tabs-11.10.5.tgz#53bbb642d04b307f8ce86e318ab99d519507b29b" + integrity sha512-DDuUdV6b9zGRYLtjI5hyejWLKoz1QiLWNgMeBzc3aMeQylZFhTYnFGdDc6HRqj5IYearNTsFPVSA+6VIT8g5cg== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "2.x" + rc-dropdown "^3.2.0" + rc-menu "^9.0.0" + rc-resize-observer "^1.0.0" + rc-util "^5.5.0" + +rc-textarea@^0.3.0, rc-textarea@~0.3.0: + version "0.3.7" + resolved "https://registry.npmmirror.com/rc-textarea/download/rc-textarea-0.3.7.tgz#987142891efdedb774883c07e2f51b318fde5a11" + integrity sha512-yCdZ6binKmAQB13hc/oehh0E/QRwoPP1pjF21aHBxlgXO3RzPF6dUu4LG2R4FZ1zx/fQd2L1faktulrXOM/2rw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.7.0" + shallowequal "^1.1.0" + +rc-tooltip@^5.0.1, rc-tooltip@~5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/rc-tooltip/download/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" + integrity sha1-lBeO0WLQJSvEmTtyX13CrA/M8VQ= + dependencies: + "@babel/runtime" "^7.11.2" + rc-trigger "^5.0.0" + +rc-tree-select@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/rc-tree-select/download/rc-tree-select-5.1.2.tgz#0dfe12f01b9b0dc9ce658b96501692d4421b8366" + integrity sha512-sTulyQZB1SgF2HzAR49i4vjMNvV/tfPxCTc+qNuWOwaAtSm2bwGH6/wfi3k3Dw2/5PPOGpRRpgCMltoP9aG0+w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-select "~14.0.0-alpha.8" + rc-tree "~5.4.3" + rc-util "^5.16.1" + +rc-tree@~5.4.3: + version "5.4.3" + resolved "https://registry.npmmirror.com/rc-tree/download/rc-tree-5.4.3.tgz#8674644964e17e5ab9b111c5aa18676f673e7bd0" + integrity sha512-WAHV8FkBerulj9J/+61+Qn0TD/Zo37PrDG8/45WomzGTYavxFMur9YguKjQj/J+NxjVJzrJL3lvdSZsumfdbiA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.4.1" + +rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.2.10: + version "5.2.10" + resolved "https://registry.npmmirror.com/rc-trigger/download/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1" + integrity sha1-igBXqUCxuQJ+qjO+7IpuzYXM4rE= + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.5.0" + +rc-upload@~4.3.0: + version "4.3.3" + resolved "https://registry.npmmirror.com/rc-upload/download/rc-upload-4.3.3.tgz#e237aa525e5313fa16f4d04d27f53c2f0e157bb8" + integrity sha512-YoJ0phCRenMj1nzwalXzciKZ9/FAaCrFu84dS5pphwucTC8GUWClcDID/WWNGsLFcM97NqIboDqrV82rVRhW/w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.2.0" + +rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.0.7, rc-util@^5.12.0, rc-util@^5.14.0, rc-util@^5.15.0, rc-util@^5.16.1, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.4.0, rc-util@^5.5.0, rc-util@^5.5.1, rc-util@^5.6.1, rc-util@^5.7.0, rc-util@^5.8.0, rc-util@^5.9.4, rc-util@^5.9.8: + version "5.17.0" + resolved "https://registry.npmmirror.com/rc-util/download/rc-util-5.17.0.tgz#6b0788038075c3d5c215541539573a4a03827070" + integrity sha512-HWuTIKzBeZQQ7IBqdokE0wMp/xx39/KfUJ0gcquBigoldDCrf3YBcWFHrrQlJG7sI82Wg8mwp1uAKV3zMGfAgg== + dependencies: + "@babel/runtime" "^7.12.5" + react-is "^16.12.0" + shallowequal "^1.1.0" + +rc-virtual-list@^3.2.0, rc-virtual-list@^3.4.1: + version "3.4.2" + resolved "https://registry.npmmirror.com/rc-virtual-list/download/rc-virtual-list-3.4.2.tgz#1078327aa7230b5e456d679ed2ce99f3c036ebd1" + integrity sha1-EHgyeqcjC15FbWee0s6Z88A269E= + dependencies: + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.0.7" + +react-app-polyfill@^1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/react-app-polyfill/download/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha1-iQ+NfyhCzmBz8DCxF96RMKXzhfA= + dependencies: + core-js "^3.5.0" + object-assign "^4.1.1" + promise "^8.0.3" + raf "^3.4.1" + regenerator-runtime "^0.13.3" + whatwg-fetch "^3.0.0" + +react-app-rewired@^2.1.6: + version "2.1.11" + resolved "https://registry.npmmirror.com/react-app-rewired/download/react-app-rewired-2.1.11.tgz#ad5781e3ef5e506be935898bb7642f7f9d50b61a" + integrity sha512-zRIqJUPsCoPnfYtea3xgPbKR42vx0NoH5oo8R8FELXqzkjJHa39V6zD8CAdkLJoYL8V3JScWHAfKMZOzi1Ydmw== + dependencies: + semver "^5.6.0" + +react-base16-styling@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/react-base16-styling/download/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" + integrity sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw= + dependencies: + base16 "^1.0.0" + lodash.curry "^4.0.1" + lodash.flow "^3.3.0" + pure-color "^1.2.0" + +react-dev-utils@^10.2.1: + version "10.2.1" + resolved "https://registry.npmmirror.com/react-dev-utils/download/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" + integrity sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ== + dependencies: + "@babel/code-frame" "7.8.3" + address "1.1.2" + browserslist "4.10.0" + chalk "2.4.2" + cross-spawn "7.0.1" + detect-port-alt "1.1.6" + escape-string-regexp "2.0.0" + filesize "6.0.1" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "3.1.1" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "7.0.4" + is-root "2.1.0" + loader-utils "1.2.3" + open "^7.0.2" + pkg-up "3.1.0" + react-error-overlay "^6.0.7" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + strip-ansi "6.0.0" + text-table "0.2.0" + +react-dnd-html5-backend@^11.1.3: + version "11.1.3" + resolved "https://registry.npmmirror.com/react-dnd-html5-backend/download/react-dnd-html5-backend-11.1.3.tgz#2749f04f416ec230ea193f5c1fbea2de7dffb8f7" + integrity sha1-J0nwT0FuwjDqGT9cH76i3n3/uPc= + dependencies: + dnd-core "^11.1.3" + +react-dnd@^11.1.3: + version "11.1.3" + resolved "https://registry.npmmirror.com/react-dnd/download/react-dnd-11.1.3.tgz#f9844f5699ccc55dfc81462c2c19f726e670c1af" + integrity sha1-+YRPVpnMxV38gUYsLBn3JuZwwa8= + dependencies: + "@react-dnd/shallowequal" "^2.0.0" + "@types/hoist-non-react-statics" "^3.3.1" + dnd-core "^11.1.3" + hoist-non-react-statics "^3.3.0" + +react-dom@^16.13.1: + version "16.14.0" + resolved "https://registry.npmmirror.com/react-dom/download/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-error-overlay@^6.0.7: + version "6.0.10" + resolved "https://registry.npmmirror.com/react-error-overlay/download/react-error-overlay-6.0.10.tgz#0fe26db4fa85d9dbb8624729580e90e7159a59a6" + integrity sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA== + +react-highlight-words@^0.16.0: + version "0.16.0" + resolved "https://registry.npmmirror.com/react-highlight-words/download/react-highlight-words-0.16.0.tgz#4b4b9824e3d2b98789d3e3b3aedb5e961ae1b7cf" + integrity sha1-S0uYJOPSuYeJ0+Ozrttelhrht88= + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-i18next@^11.7.3: + version "11.15.3" + resolved "https://registry.npmmirror.com/react-i18next/download/react-i18next-11.15.3.tgz#7608fb3cacc02ac75a62fc2d68b579f140b198dd" + integrity sha512-RSUEM4So3Tu2JHV0JsZ5Yje+4nz66YViMfPZoywxOy0xyn3L7tE2CHvJ7Y9LUsrTU7vGmZ5bwb8PpjnkatdIxg== + dependencies: + "@babel/runtime" "^7.14.5" + html-escaper "^2.0.2" + html-parse-stringify "^3.0.1" + +react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.npmmirror.com/react-is/download/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.npmmirror.com/react-is/download/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha1-5pHUqOnHiTZWVVOas3J2Kw77VPA= + +react-json-view@^1.19.1: + version "1.21.3" + resolved "https://registry.npmmirror.com/react-json-view/download/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" + integrity sha1-8YQgnujxvzdPsMQbCBPP9UVJxHU= + dependencies: + flux "^4.0.1" + react-base16-styling "^0.6.0" + react-lifecycles-compat "^3.0.4" + react-textarea-autosize "^8.3.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/react-lifecycles-compat/download/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-popper-tooltip@^2.11.1: + version "2.11.1" + resolved "https://registry.npmmirror.com/react-popper-tooltip/download/react-popper-tooltip-2.11.1.tgz#3c4bdfd8bc10d1c2b9a162e859bab8958f5b2644" + integrity sha1-PEvf2LwQ0cK5oWLoWbq4lY9bJkQ= + dependencies: + "@babel/runtime" "^7.9.2" + react-popper "^1.3.7" + +react-popper@^1.3.7: + version "1.3.11" + resolved "https://registry.npmmirror.com/react-popper/download/react-popper-1.3.11.tgz#a2cc3f0a67b75b66cfa62d2c409f9dd1fcc71ffd" + integrity sha1-osw/Cme3W2bPpi0sQJ+d0fzHH/0= + dependencies: + "@babel/runtime" "^7.1.2" + "@hypnosphi/create-react-context" "^0.3.1" + deep-equal "^1.1.1" + popper.js "^1.14.4" + prop-types "^15.6.1" + typed-styles "^0.0.7" + warning "^4.0.2" + +react-scripts@3.4.1: + version "3.4.1" + resolved "https://registry.npmmirror.com/react-scripts/download/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a" + integrity sha1-9VEpi1xxmFzEkbms88jowK462go= + dependencies: + "@babel/core" "7.9.0" + "@svgr/webpack" "4.3.3" + "@typescript-eslint/eslint-plugin" "^2.10.0" + "@typescript-eslint/parser" "^2.10.0" + babel-eslint "10.1.0" + babel-jest "^24.9.0" + babel-loader "8.1.0" + babel-plugin-named-asset-import "^0.3.6" + babel-preset-react-app "^9.1.2" + camelcase "^5.3.1" + case-sensitive-paths-webpack-plugin "2.3.0" + css-loader "3.4.2" + dotenv "8.2.0" + dotenv-expand "5.1.0" + eslint "^6.6.0" + eslint-config-react-app "^5.2.1" + eslint-loader "3.0.3" + eslint-plugin-flowtype "4.6.0" + eslint-plugin-import "2.20.1" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.19.0" + eslint-plugin-react-hooks "^1.6.1" + file-loader "4.3.0" + fs-extra "^8.1.0" + html-webpack-plugin "4.0.0-beta.11" + identity-obj-proxy "3.0.0" + jest "24.9.0" + jest-environment-jsdom-fourteen "1.0.1" + jest-resolve "24.9.0" + jest-watch-typeahead "0.4.2" + mini-css-extract-plugin "0.9.0" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.6.4" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-normalize "8.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.1" + react-app-polyfill "^1.0.6" + react-dev-utils "^10.2.1" + resolve "1.15.0" + resolve-url-loader "3.1.1" + sass-loader "8.0.2" + semver "6.3.0" + style-loader "0.23.1" + terser-webpack-plugin "2.3.5" + ts-pnp "1.1.6" + url-loader "2.3.0" + webpack "4.42.0" + webpack-dev-server "3.10.3" + webpack-manifest-plugin "2.2.0" + workbox-webpack-plugin "4.3.1" + optionalDependencies: + fsevents "2.1.2" + +react-textarea-autosize@^8.3.2: + version "8.3.3" + resolved "https://registry.npmmirror.com/react-textarea-autosize/download/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8" + integrity sha1-9wkTlFNp2kU/1VTBaPa6rNH6BNg= + dependencies: + "@babel/runtime" "^7.10.2" + use-composed-ref "^1.0.0" + use-latest "^1.0.0" + +react@^16.13.1: + version "16.14.0" + resolved "https://registry.npmmirror.com/react/download/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc= + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/download/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + 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" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/download/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc= + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= + dependencies: + util.promisify "^1.0.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.npmmirror.com/recursive-readdir/download/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha1-mUb7MnThYo3m42svZxSVO0hFCU8= + dependencies: + minimatch "3.0.4" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/redent/download/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8= + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +redux@^4.0.4: + version "4.1.2" + resolved "https://registry.npmmirror.com/redux/download/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" + integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== + dependencies: + "@babel/runtime" "^7.9.2" + +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY= + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/regenerate/download/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.npmmirror.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.npmmirror.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.npmmirror.com/regex-parser/download/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha1-nmao9z2JoQdhbmOznU3t3+6RKzc= + +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/regexp.prototype.flags/download/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpp@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/download/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha1-BCWido2PI7rXDKS5BGH6LxIT4bI= + +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.npmmirror.com/regexpu-core/download/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha1-5WBbo2G2excYR4UBMnUC9EeamPA= + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.npmmirror.com/regjsparser/download/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha1-prZntUyIXhi1JVTLSWDvcRh+mWg= + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmmirror.com/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remark-parse@^9.0.0: + version "9.0.0" + resolved "https://registry.npmmirror.com/remark-parse/download/remark-parse-9.0.0.tgz?cache=0&sync_timestamp=1637259966298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark-parse%2Fdownload%2Fremark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" + integrity sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA= + dependencies: + mdast-util-from-markdown "^0.8.0" + +remark-stringify@^9.0.0: + version "9.0.1" + resolved "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" + integrity sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ= + dependencies: + mdast-util-to-markdown "^0.6.0" + +remark@^13.0.0: + version "13.0.0" + resolved "https://registry.npmmirror.com/remark/download/remark-13.0.0.tgz?cache=0&sync_timestamp=1637260202521&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-13.0.0.tgz#d15d9bf71a402f40287ebe36067b66d54868e425" + integrity sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU= + dependencies: + remark-parse "^9.0.0" + remark-stringify "^9.0.0" + unified "^9.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmmirror.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.npmmirror.com/renderkid/download/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha1-Rk8namvc7mBvShWZP5sp/HTKhgk= + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmmirror.com/repeat-element/download/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek= + +repeat-string@^1.0.0, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmmirror.com/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/request-promise-core/download/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.5: + version "1.0.9" + resolved "https://registry.npmmirror.com/request-promise-native/download/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.npmmirror.com/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + 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@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/require-from-string/download/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.0, resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/resolve-from/download/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha1-w1IlhD3493bfIcV1V7wIfp39/Gk= + +resolve-url-loader@3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/resolve-url-loader/download/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" + integrity sha1-KJMYlfoeq5vgZH07KVjBAK48C/A= + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.3.1" + compose-function "3.0.3" + convert-source-map "1.7.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.21" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.npmmirror.com/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.15.0: + version "1.15.0" + resolved "https://registry.npmmirror.com/resolve/download/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" + integrity sha1-G3ypYHPrtS50H/15n2s56kYsZ/U= + dependencies: + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.15.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: + version "1.22.0" + resolved "https://registry.npmmirror.com/resolve/download/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmmirror.com/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmmirror.com/retry/download/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/download/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/rework-visit/download/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/rework/download/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.3, rimraf@^2.7.1: + version "2.7.1" + resolved "https://registry.npmmirror.com/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/download/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.npmmirror.com/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= + +run-async@^2.2.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npmmirror.com/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/download/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4= + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.5.3, rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.npmmirror.com/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sanitize.css@^10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/sanitize.css/download/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" + integrity sha1-tcslR+lthimmCUdURmUkOx3DZXo= + +sass-loader@8.0.2: + version "8.0.2" + resolved "https://registry.npmmirror.com/sass-loader/download/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" + integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.2.3" + neo-async "^2.6.1" + schema-utils "^2.6.1" + semver "^6.3.0" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.npmmirror.com/saxes/download/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.npmmirror.com/scheduler/download/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmmirror.com/schema-utils/download/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +scroll-into-view-if-needed@^2.2.25: + version "2.2.28" + resolved "https://registry.npmmirror.com/scroll-into-view-if-needed/download/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a" + integrity sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo= + dependencies: + compute-scroll-into-view "^1.0.17" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.7: + version "1.10.14" + resolved "https://registry.npmmirror.com/selfsigned/download/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574" + integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA== + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" + integrity sha1-7OxTsOAxe9yV73arcHS3OEeF+mE= + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + 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" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1631437838608&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npmmirror.com/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/shallow-clone/download/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/shallowequal/download/shallowequal-1.1.0.tgz?cache=0&sync_timestamp=1624608058307&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshallowequal%2Fdownload%2Fshallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha1-GI1SHelbkIdAT9TctosT3wrk5/g= + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896660639&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.npmmirror.com/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.npmmirror.com/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.6" + resolved "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npmmirror.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/slash/download/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/download/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms= + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmmirror.com/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + 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" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/sockjs-client/download/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.npmmirror.com/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/sort-keys/download/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.npmmirror.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + 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@^0.5.6, source-map-support@~0.5.12: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmmirror.com/source-map-url/download/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmmirror.com/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/spdx-correct/download/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.11" + resolved "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-3.0.11.tgz?cache=0&sync_timestamp=1636978442514&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + 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" + +spdy@^4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/specificity/download/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha1-qrXmRQEtsIuhguFRFlc40AiHsBk= + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmmirror.com/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.npmmirror.com/sshpk/download/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + 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@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/ssri/download/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha1-FXk5E08gRk5zAd26PpD/qPdyisU= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^7.0.0: + version "7.1.1" + resolved "https://registry.npmmirror.com/ssri/download/ssri-7.1.1.tgz#33e44f896a967158e3c63468e47ec46613b95b5f" + integrity sha1-M+RPiWqWcVjjxjRo5H7EZhO5W18= + dependencies: + figgy-pudding "^3.5.1" + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.npmmirror.com/stack-utils/download/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha1-oZsLAZR+ACnI5FHV1hpJj1uxRxs= + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmmirror.com/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmmirror.com/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npmmirror.com/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npmmirror.com/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.npmmirror.com/string-convert/download/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/string-length/download/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha1-EH74wjRW4Yeoq9SmEWL/SsbiWDc= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.2, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.2: + version "4.0.6" + resolved "https://registry.npmmirror.com/string.prototype.matchall/download/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha1-Wrtdq8lMew6iOA9lumELOlRLFfo= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk= + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1624608094529&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/strip-indent/download/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha1-wy4c7pQLazQyx3G8LFS8znPNMAE= + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +style-loader@0.23.1: + version "0.23.1" + resolved "https://registry.npmmirror.com/style-loader/download/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" + integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== + dependencies: + loader-utils "^1.1.0" + schema-utils "^1.0.0" + +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/style-search/download/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + +style-value-types@^3.1.9: + version "3.2.0" + resolved "https://registry.npmmirror.com/style-value-types/download/style-value-types-3.2.0.tgz#eb89cab1340823fa7876f3e289d29d99c92111bb" + integrity sha1-64nKsTQII/p4dvPiidKdmckhEbs= + dependencies: + hey-listen "^1.0.8" + tslib "^1.10.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/stylehacks/download/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +stylelint-config-recommended@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/stylelint-config-recommended/download/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657" + integrity sha1-4OVHQ0AWxVOf4mUK/VgEmi/R1lc= + +stylelint-config-standard@^20.0.0: + version "20.0.0" + resolved "https://registry.npmmirror.com/stylelint-config-standard/download/stylelint-config-standard-20.0.0.tgz?cache=0&sync_timestamp=1636911768470&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylelint-config-standard%2Fdownload%2Fstylelint-config-standard-20.0.0.tgz#06135090c9e064befee3d594289f50e295b5e20d" + integrity sha1-BhNQkMngZL7+49WUKJ9Q4pW14g0= + dependencies: + stylelint-config-recommended "^3.0.0" + +stylelint@^13.6.1: + version "13.13.1" + resolved "https://registry.npmmirror.com/stylelint/download/stylelint-13.13.1.tgz#fca9c9f5de7990ab26a00f167b8978f083a18f3c" + integrity sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ== + dependencies: + "@stylelint/postcss-css-in-js" "^0.37.2" + "@stylelint/postcss-markdown" "^0.36.2" + autoprefixer "^9.8.6" + balanced-match "^2.0.0" + chalk "^4.1.1" + cosmiconfig "^7.0.0" + debug "^4.3.1" + execall "^2.0.0" + fast-glob "^3.2.5" + fastest-levenshtein "^1.0.12" + file-entry-cache "^6.0.1" + get-stdin "^8.0.0" + global-modules "^2.0.0" + globby "^11.0.3" + globjoin "^0.1.4" + html-tags "^3.1.0" + ignore "^5.1.8" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + known-css-properties "^0.21.0" + lodash "^4.17.21" + log-symbols "^4.1.0" + mathml-tag-names "^2.1.3" + meow "^9.0.0" + micromatch "^4.0.4" + normalize-selector "^0.2.0" + postcss "^7.0.35" + postcss-html "^0.36.0" + postcss-less "^3.1.4" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.2" + postcss-sass "^0.4.4" + postcss-scss "^2.1.1" + postcss-selector-parser "^6.0.5" + postcss-syntax "^0.36.2" + postcss-value-parser "^4.1.0" + resolve-from "^5.0.0" + slash "^3.0.0" + specificity "^0.4.1" + string-width "^4.2.2" + strip-ansi "^6.0.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^6.6.0" + v8-compile-cache "^2.3.0" + write-file-atomic "^3.0.3" + +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/sugarss/download/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + integrity sha1-3dduASSyl9QL88yjHIsi7LQ7xh0= + dependencies: + postcss "^7.0.2" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/download/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha1-/cLinhOVFzYUC3bLEiyO5mMOtrU= + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^1.0.0, svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.npmmirror.com/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + 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" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.npmmirror.com/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.npmmirror.com/table/download/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +table@^6.6.0: + version "6.8.0" + resolved "https://registry.npmmirror.com/table/download/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +terser-webpack-plugin@2.3.5: + version "2.3.5" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" + integrity sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w== + dependencies: + cacache "^13.0.1" + find-cache-dir "^3.2.0" + jest-worker "^25.1.0" + p-limit "^2.2.2" + schema-utils "^2.6.4" + serialize-javascript "^2.1.2" + source-map "^0.6.1" + terser "^4.4.3" + webpack-sources "^1.4.3" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + 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" + +terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: + version "4.8.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.npmmirror.com/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npmmirror.com/through2/download/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npmmirror.com/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.npmmirror.com/timers-browserify/download/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npmmirror.com/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/tmpl/download/tmpl-1.0.5.tgz?cache=0&sync_timestamp=1630997304688&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftmpl%2Fdownload%2Ftmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha1-hoPguQK7nCDE9ybjwLafNlGMB8w= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/toggle-selection/download/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/trim-newlines/download/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ= + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.npmmirror.com/trough/download/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY= + +ts-pnp@1.1.6: + version "1.1.6" + resolved "https://registry.npmmirror.com/ts-pnp/download/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" + integrity sha1-OJokOW1CWg0xYultK0Y4kA/cKJo= + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.npmmirror.com/ts-pnp/download/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmmirror.com/tslib/download/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.3.1" + resolved "https://registry.npmmirror.com/tslib/download/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.npmmirror.com/tsutils/download/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM= + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npmmirror.com/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npmmirror.com/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1624607953624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npmmirror.com/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha1-20vBUaSiz07r+a3V23VQjbbMhB8= + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/type/download/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/type/download/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + +typed-styles@^0.0.7: + version "0.0.7" + resolved "https://registry.npmmirror.com/typed-styles/download/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9" + integrity sha1-kzkqAIeUxFlRGf9i3eaAnbxAo9k= + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmmirror.com/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha1-qX7nqf9CaRufeD/xvFES/j/KkIA= + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmmirror.com/typedarray/download/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^3.9.6: + version "3.9.10" + resolved "https://registry.npmmirror.com/typescript/download/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +ua-parser-js@^0.7.30: + version "0.7.33" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" + integrity sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE= + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631615391251&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-canonical-property-names-ecmascript%2Fdownload%2Funicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw= + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618607567&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM= + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618158421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ= + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g= + +unified@^9.1.0: + version "9.2.2" + resolved "https://registry.npmmirror.com/unified/download/unified-9.2.2.tgz?cache=0&sync_timestamp=1637256363650&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Funified%2Fdownload%2Funified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU= + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +unist-util-find-all-after@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" + integrity sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY= + dependencies: + unist-util-is "^4.0.0" + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/unist-util-is/download/unist-util-is-4.1.0.tgz?cache=0&sync_timestamp=1626875281214&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha1-l25fRip6Xec9lLcGusG5BnG1d5c= + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz?cache=0&sync_timestamp=1624607967709&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha1-zOO/oc34W6c3XR1bF73Eytqb2do= + dependencies: + "@types/unist" "^2.0.2" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmmirror.com/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmmirror.com/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/download/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/url-loader/download/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" + integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.4.3: + version "1.5.4" + resolved "https://registry.npmmirror.com/url-parse/download/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd" + integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmmirror.com/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use-composed-ref@^1.0.0: + version "1.2.1" + resolved "https://registry.npmmirror.com/use-composed-ref/download/use-composed-ref-1.2.1.tgz#9bdcb5ccd894289105da2325e1210079f56bf849" + integrity sha512-6+X1FLlIcjvFMAeAD/hcxDT8tmyrWnbSPMU0EnxQuDLIxokuFzWliXBiYZuGIx+mrAMLBw0WFfCkaPw8ebzAhw== + +use-isomorphic-layout-effect@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/use-isomorphic-layout-effect/download/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225" + integrity sha1-e7ZYkXDNKYehUgQvkIT57/t1wiU= + +use-latest@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/use-latest/download/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232" + integrity sha1-pE9lcrgojgly7EEb3QhAraNm8jI= + dependencies: + use-isomorphic-layout-effect "^1.0.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/download/util-deprecate-1.0.2.tgz?cache=0&sync_timestamp=1624607944834&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil-deprecate%2Fdownload%2Futil-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0: + version "1.1.1" + resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" + integrity sha1-d4MvV87SyUeBdBScrpuW6ZGM1Us= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + for-each "^0.3.3" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.1" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npmmirror.com/util/download/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmmirror.com/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^3.0.1, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.1: + version "8.3.2" + resolved "https://registry.npmmirror.com/uuid/download/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validator@^13.1.1: + version "13.7.0" + resolved "https://registry.npmmirror.com/validator/download/validator-13.7.0.tgz?cache=0&sync_timestamp=1635822643143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvalidator%2Fdownload%2Fvalidator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" + integrity sha1-T5ZYuhO6jz2C7ogdNRZInqhcCFc= + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npmmirror.com/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/vfile-message/download/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo= + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.npmmirror.com/vfile/download/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ= + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + +vis-network@7.3.5: + version "7.3.5" + resolved "https://registry.npmmirror.com/vis-network/download/vis-network-7.3.5.tgz#367f3a1c19ba1b677dc3dec495f7e0d235e1fd59" + integrity sha1-Nn86HBm6G2d9w97Elffg0jXh/Vk= + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npmmirror.com/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/void-elements/download/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.npmmirror.com/walker/download/walker-1.0.8.tgz?cache=0&sync_timestamp=1635238315480&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwalker%2Fdownload%2Fwalker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha1-vUmNtHev5XPcBBhfAR06uKjXZT8= + dependencies: + makeerror "1.0.12" + +warning@^4.0.2, warning@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/warning/download/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.0: + version "1.7.5" + resolved "https://registry.npmmirror.com/watchpack/download/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU= + dependencies: + 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@3.10.3: + version "3.10.3" + resolved "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" + integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ== + dependencies: + ansi-html "0.0.7" + 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.2.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.6" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.25" + schema-utils "^1.0.0" + selfsigned "^1.10.7" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "0.3.19" + sockjs-client "1.4.0" + spdy "^4.0.1" + 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 "12.0.5" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/webpack-manifest-plugin/download/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" + integrity sha1-GcpptDWwuux+KfvpD7QBXeLeTxY= + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + object.entries "^1.1.0" + tapable "^1.0.0" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.42.0: + version "4.42.0" + resolved "https://registry.npmmirror.com/webpack/download/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" + integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.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.1" + 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.6.0" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmmirror.com/websocket-driver/download/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmmirror.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.0.0: + version "3.6.2" + resolved "https://registry.npmmirror.com/whatwg-fetch/download/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha1-3O0k838mJO0CgXJdUdDi4/5nf4w= + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= + dependencies: + 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@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9, which@^1.3.0, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +word-wrap@~1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npmmirror.com/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.npmmirror.com/worker-rpc/download/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU= + dependencies: + microevent.ts "~0.1.1" + +wouter@^2.5.1: + version "2.7.5" + resolved "https://registry.npmmirror.com/wouter/download/wouter-2.7.5.tgz#c7466a2630bed3a4ec010aea0cda42a5bae69e5d" + integrity sha1-x0ZqJjC+06TsAQrqDNpCpbrmnl0= + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.3: + version "3.0.3" + resolved "https://registry.npmmirror.com/write-file-atomic/download/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug= + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^5.2.0: + version "5.2.3" + resolved "https://registry.npmmirror.com/ws/download/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== + dependencies: + async-limiter "~1.0.0" + +ws@^6.1.2, ws@^6.2.1: + version "6.2.2" + resolved "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= + +xregexp@^4.3.0: + version "4.4.1" + resolved "https://registry.npmmirror.com/xregexp/download/xregexp-4.4.1.tgz#c84a88fa79e9ab18ca543959712094492185fe65" + integrity sha512-2u9HwfadaJaY9zHtRRnH6BY6CQVNQKkYm3oLtC9gJXXzfsbACg5X5e4EZZGVAH+YIfa+QA9lsFQTTe3HURF3ag== + dependencies: + "@babel/runtime-corejs3" "^7.12.1" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npmmirror.com/xtend/download/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmmirror.com/y18n/download/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmmirror.com/yallist/download/yallist-3.1.1.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1624607893982&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI= + +yaml@^1.10.0, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha1-LrfcOwKJcY/ClfNidThFxBoMlO4= + +yargs@12.0.5: + version "12.0.5" + resolved "https://registry.npmmirror.com/yargs/download/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM= + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + +yargs@^13.3.0: + version "13.3.2" + resolved "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + 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" + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.npmmirror.com/zwitch/download/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA= diff --git a/hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js b/hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js index b2e4227bd..ddb3eb664 100644 --- a/hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js +++ b/hugegraph-hubble/hubble-fe/src/modules/algorithm/algorithmsForm/Oltp/AdamicAdar/index.js @@ -38,7 +38,7 @@ import { TEXT_PATH, } from '../../../../../utils/constants'; import {useTranslation} from 'react-i18next'; - +1; const {LOADING, SUCCESS, FAILED} = GRAPH_STATUS; const {ADAMIC_ADAR} = ALGORITHM_NAME; diff --git a/pom.xml b/pom.xml index eb0ae13cb..a7da15614 100644 --- a/pom.xml +++ b/pom.xml @@ -90,7 +90,7 @@ hugegraph-client - hugegraph-loader + hugegraph-spark-connector hugegraph-tools hugegraph-hubble From deadd30d7740a9265f841815edc60f78d41e6d42 Mon Sep 17 00:00:00 2001 From: FrostyHec <112929809+FrostyHec@users.noreply.github.com> Date: Sun, 13 Oct 2024 14:51:38 +0800 Subject: [PATCH 21/23] use hg-common-1.3.0 --- hugegraph-hubble/hubble-be/pom.xml | 5 +- .../controller/op/AuditController.java | 146 +++++++++--------- .../service/saas/PrometheusService.java | 18 ++- 3 files changed, 90 insertions(+), 79 deletions(-) diff --git a/hugegraph-hubble/hubble-be/pom.xml b/hugegraph-hubble/hubble-be/pom.xml index 68c2399cd..bb83772e0 100644 --- a/hugegraph-hubble/hubble-be/pom.xml +++ b/hugegraph-hubble/hubble-be/pom.xml @@ -112,8 +112,8 @@ org.apache.hugegraph hugegraph-common - - 1.0.01 + 1.3.0 + com.baidu.hugegraph @@ -212,6 +212,7 @@ org.apache.hugegraph hugegraph-client + 4.0.0-SNAPSHOT diff --git a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/AuditController.java b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/AuditController.java index bb49a7dd3..c3f40f9c0 100644 --- a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/AuditController.java +++ b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/controller/op/AuditController.java @@ -16,76 +16,76 @@ * under the License. */ -package org.apache.hugegraph.controller.op; - -import lombok.SneakyThrows; -import org.apache.hugegraph.common.Constant; -import org.apache.hugegraph.controller.BaseController; -import org.apache.hugegraph.entity.op.AuditEntity; -import org.apache.hugegraph.exception.InternalException; -import org.apache.hugegraph.logger.AuditOperationEnum; -import org.apache.hugegraph.service.op.AuditService; -import org.apache.hugegraph.util.JsonUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.OutputStream; -import java.nio.charset.StandardCharsets; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; - -@RestController -@RequestMapping(Constant.API_VERSION + "audits") -public class AuditController extends BaseController { - @Autowired - AuditService auditService; - - @GetMapping("operations/list") - public Object listOperations() { - List operations = Arrays.stream(AuditOperationEnum.values()) - .map(AuditOperationEnum::getName) - .collect(Collectors.toList()); - - return operations; - } - - @GetMapping("services/list") - public Object listServices() throws IOException { - List operations = auditService.listServices(); - - return operations; - } - - @SneakyThrows - @PostMapping("query") - public Object query(@RequestBody AuditService.AuditReq auditReq) { - return auditService.queryPage(auditReq); - } - - @PostMapping("export") - public void export(HttpServletResponse response, - @RequestBody AuditService.AuditReq auditReq) { - String fileName = String.format("audit.txt", auditReq.startDatetime, - auditReq.endDatetime); - - response.setCharacterEncoding("UTF-8"); - response.setContentType("application/octet-stream"); - response.setHeader("Access-Control-Expose-Headers", - "Content-Disposition"); - response.setHeader("Content-Disposition", - "attachment;filename=" + fileName); - try { - OutputStream os = response.getOutputStream(); - for (AuditEntity auditEntity : auditService.export(auditReq)) { - os.write((JsonUtil.toJson(auditEntity) + "\n") - .getBytes(StandardCharsets.UTF_8)); - } - os.close(); - } catch (IOException e) { - throw new InternalException("Audit Log Write Error", e); - } - } -} +//package org.apache.hugegraph.controller.op; +// TODO RECOVER WHEN EVALUATED +//import lombok.SneakyThrows; +//import org.apache.hugegraph.common.Constant; +//import org.apache.hugegraph.controller.BaseController; +//import org.apache.hugegraph.entity.op.AuditEntity; +//import org.apache.hugegraph.exception.InternalException; +//import org.apache.hugegraph.logger.AuditOperationEnum; +//import org.apache.hugegraph.service.op.AuditService; +//import org.apache.hugegraph.util.JsonUtil; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +//import java.io.OutputStream; +//import java.nio.charset.StandardCharsets; +//import java.util.Arrays; +//import java.util.List; +//import java.util.stream.Collectors; +// +//@RestController +//@RequestMapping(Constant.API_VERSION + "audits") +//public class AuditController extends BaseController { +// @Autowired +// AuditService auditService; +// +// @GetMapping("operations/list") +// public Object listOperations() { +// List operations = Arrays.stream(AuditOperationEnum.values()) +// .map(AuditOperationEnum::getName) +// .collect(Collectors.toList()); +// +// return operations; +// } +// +// @GetMapping("services/list") +// public Object listServices() throws IOException { +// List operations = auditService.listServices(); +// +// return operations; +// } +// +// @SneakyThrows +// @PostMapping("query") +// public Object query(@RequestBody AuditService.AuditReq auditReq) { +// return auditService.queryPage(auditReq); +// } +// +// @PostMapping("export") +// public void export(HttpServletResponse response, +// @RequestBody AuditService.AuditReq auditReq) { +// String fileName = String.format("audit.txt", auditReq.startDatetime, +// auditReq.endDatetime); +// +// response.setCharacterEncoding("UTF-8"); +// response.setContentType("application/octet-stream"); +// response.setHeader("Access-Control-Expose-Headers", +// "Content-Disposition"); +// response.setHeader("Content-Disposition", +// "attachment;filename=" + fileName); +// try { +// OutputStream os = response.getOutputStream(); +// for (AuditEntity auditEntity : auditService.export(auditReq)) { +// os.write((JsonUtil.toJson(auditEntity) + "\n") +// .getBytes(StandardCharsets.UTF_8)); +// } +// os.close(); +// } catch (IOException e) { +// throw new InternalException("Audit Log Write Error", e); +// } +// } +//} diff --git a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/saas/PrometheusService.java b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/saas/PrometheusService.java index ec341c375..b9c599ca2 100644 --- a/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/saas/PrometheusService.java +++ b/hugegraph-hubble/hubble-be/src/main/java/org/apache/hugegraph/service/saas/PrometheusService.java @@ -18,8 +18,8 @@ package org.apache.hugegraph.service.saas; -import jakarta.ws.rs.core.Response; import lombok.extern.slf4j.Slf4j; +import okhttp3.Response; import org.apache.hugegraph.config.HugeConfig; import org.apache.hugegraph.options.HubbleOptions; import org.apache.hugegraph.rest.AbstractRestClient; @@ -161,16 +161,26 @@ private static String encodeUrl(String url) { .replaceAll("%29", ")") .replaceAll("\\+", "%20"); } +// TODO re-evaluate this change +// private static class MetricsClient extends AbstractRestClient { +// public MetricsClient(String url, int timeout) { +// super(url, timeout); +// } +// +// @Override +// protected void checkStatus(Response response, Response.Status... statuses) { +// +// } +// +// } private static class MetricsClient extends AbstractRestClient { public MetricsClient(String url, int timeout) { super(url, timeout); } - @Override - protected void checkStatus(Response response, Response.Status... statuses) { + protected void checkStatus(Response response, int... ints) { } - } } From 10e95a9db98522842943e44a2633f2de544a4511 Mon Sep 17 00:00:00 2001 From: FrostyHec <112929809+FrostyHec@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:17:55 +0800 Subject: [PATCH 22/23] update yarn --- hugegraph-hubble/hubble-fe/yarn.lock | 13377 +++++++++++++++++++++++++ 1 file changed, 13377 insertions(+) create mode 100644 hugegraph-hubble/hubble-fe/yarn.lock diff --git a/hugegraph-hubble/hubble-fe/yarn.lock b/hugegraph-hubble/hubble-fe/yarn.lock new file mode 100644 index 000000000..8dfbebf5f --- /dev/null +++ b/hugegraph-hubble/hubble-fe/yarn.lock @@ -0,0 +1,13377 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"3d-force-graph@^1.71.2": + version "1.73.4" + resolved "https://registry.yarnpkg.com/3d-force-graph/-/3d-force-graph-1.73.4.tgz#7dfa2cd1419a1d6511a39ea4f0abc2be9b472961" + integrity sha512-eMHZ1LVzh9APLv+An0AXz2dVPwasJlqAnJ61ABlb1qaO6DYuqIUTTErh0DN/24nIWJu1jCim2WiVujzz7slnWQ== + dependencies: + accessor-fn "1" + kapsule "1" + three ">=0.118 <1" + three-forcegraph "1" + three-render-objects "^1.29" + +"@adobe/css-tools@^4.0.1": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" + integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@ampproject/remapping@^2.2.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" + +"@ant-design/colors@^4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-4.0.5.tgz#d7d100d7545cca8f624954604a6892fc48ba5aae" + integrity sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q== + dependencies: + tinycolor2 "^1.4.1" + +"@ant-design/colors@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" + integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== + dependencies: + "@ctrl/tinycolor" "^3.4.0" + +"@ant-design/icons-svg@^4.3.0": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" + integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== + +"@ant-design/icons@^4.7.0", "@ant-design/icons@^4.8.2": + version "4.8.3" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.8.3.tgz#41555408ed5e9b0c3d53f3f24fe6a73abfcf4000" + integrity sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons-svg" "^4.3.0" + "@babel/runtime" "^7.11.2" + classnames "^2.2.6" + lodash "^4.17.15" + rc-util "^5.9.4" + +"@ant-design/react-slick@~1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz#241bb412aeacf7ff5d50c61fa5db66773fde6b56" + integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ== + dependencies: + "@babel/runtime" "^7.10.4" + classnames "^2.2.5" + json2mq "^0.2.0" + resize-observer-polyfill "^1.5.1" + throttle-debounce "^5.0.0" + +"@antv/algorithm@^0.1.26": + version "0.1.26" + resolved "https://registry.yarnpkg.com/@antv/algorithm/-/algorithm-0.1.26.tgz#e3f5e7f1d8db5b415c3f31e32b119cbcafc8f5de" + integrity sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg== + dependencies: + "@antv/util" "^2.0.13" + tslib "^2.0.0" + +"@antv/dom-util@^2.0.1", "@antv/dom-util@^2.0.2": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@antv/dom-util/-/dom-util-2.0.4.tgz#b09b56c56fec42896fc856edad56b595b47ab514" + integrity sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ== + dependencies: + tslib "^2.0.3" + +"@antv/event-emitter@^0.1.1", "@antv/event-emitter@~0.1.0": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" + integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== + +"@antv/g-base@^0.5.1", "@antv/g-base@^0.5.12": + version "0.5.16" + resolved "https://registry.yarnpkg.com/@antv/g-base/-/g-base-0.5.16.tgz#22a0cbbfc810e6292e4d25e5708d0abe165912bf" + integrity sha512-jP06wggTubDPHXoKwFg3/f1lyxBX9ywwN3E/HG74Nd7DXqOXQis8tsIWW+O6dS/h9vyuXLd1/wDWkMMm3ZzXdg== + dependencies: + "@antv/event-emitter" "^0.1.1" + "@antv/g-math" "^0.1.9" + "@antv/matrix-util" "^3.1.0-beta.1" + "@antv/path-util" "~2.0.5" + "@antv/util" "~2.0.13" + "@types/d3-timer" "^2.0.0" + d3-ease "^1.0.5" + d3-interpolate "^3.0.1" + d3-timer "^1.0.9" + detect-browser "^5.1.0" + tslib "^2.0.3" + +"@antv/g-canvas@^0.5.2": + version "0.5.17" + resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-0.5.17.tgz#2e0d263a355e167b9da5e606fbd1ad1500474fcf" + integrity sha512-sXYJMWTOlb/Ycb6sTKu00LcJqInXJY4t99+kSM40u2OfqrXYmaXDjHR7D2V0roMkbK/QWiWS9UnEidCR1VtMOA== + dependencies: + "@antv/g-base" "^0.5.12" + "@antv/g-math" "^0.1.9" + "@antv/matrix-util" "^3.1.0-beta.1" + "@antv/path-util" "~2.0.5" + "@antv/util" "~2.0.0" + gl-matrix "^3.0.0" + tslib "^2.0.3" + +"@antv/g-math@^0.1.1", "@antv/g-math@^0.1.9": + version "0.1.9" + resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-0.1.9.tgz#1f981b9aebf5c024f284389aa3e5cba8cefa1f28" + integrity sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ== + dependencies: + "@antv/util" "~2.0.0" + gl-matrix "^3.0.0" + +"@antv/g-svg@^0.5.1", "@antv/g-svg@^0.5.2": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@antv/g-svg/-/g-svg-0.5.7.tgz#d63db5f8590a5f3ceab097c183ec80ed143f0a50" + integrity sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw== + dependencies: + "@antv/g-base" "^0.5.12" + "@antv/g-math" "^0.1.9" + "@antv/util" "~2.0.0" + detect-browser "^5.0.0" + tslib "^2.0.3" + +"@antv/g-webgpu-core@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz#65ef2a1253e319ffb2ed568d222b8313635d6677" + integrity sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w== + dependencies: + eventemitter3 "^4.0.0" + gl-matrix "^3.1.0" + lodash "^4.17.15" + probe.gl "^3.1.1" + +"@antv/g-webgpu-engine@^0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz#64631f24930f449ef41ffff6429d4fb9519eca23" + integrity sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg== + dependencies: + "@antv/g-webgpu-core" "^0.7.2" + gl-matrix "^3.1.0" + lodash "^4.17.15" + regl "^1.3.11" + +"@antv/g-webgpu@0.7.2": + version "0.7.2" + resolved "https://registry.yarnpkg.com/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz#39ba2123816322fec9563236211ad8ab1e40924d" + integrity sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ== + dependencies: + "@antv/g-webgpu-core" "^0.7.2" + "@antv/g-webgpu-engine" "^0.7.2" + gl-matrix "^3.1.0" + gl-vec2 "^1.3.0" + lodash "^4.17.15" + +"@antv/g6-core@0.8.24": + version "0.8.24" + resolved "https://registry.yarnpkg.com/@antv/g6-core/-/g6-core-0.8.24.tgz#a5291d53b8e33f6c895a2ed8553dd283a9788c73" + integrity sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A== + dependencies: + "@antv/algorithm" "^0.1.26" + "@antv/dom-util" "^2.0.1" + "@antv/event-emitter" "~0.1.0" + "@antv/g-base" "^0.5.1" + "@antv/g-math" "^0.1.1" + "@antv/matrix-util" "^3.1.0-beta.3" + "@antv/path-util" "^2.0.3" + "@antv/util" "~2.0.5" + ml-matrix "^6.5.0" + tslib "^2.6.2" + +"@antv/g6-element@0.8.24": + version "0.8.24" + resolved "https://registry.yarnpkg.com/@antv/g6-element/-/g6-element-0.8.24.tgz#5cb6eca25a48ed68b4376030c945b45a03730916" + integrity sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw== + dependencies: + "@antv/g-base" "^0.5.1" + "@antv/g6-core" "0.8.24" + "@antv/util" "~2.0.5" + tslib "^2.6.2" + +"@antv/g6-pc@0.8.24": + version "0.8.24" + resolved "https://registry.yarnpkg.com/@antv/g6-pc/-/g6-pc-0.8.24.tgz#bc1ad15c7ad691b71d18f00768fdbe7e2bd869c6" + integrity sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ== + dependencies: + "@ant-design/colors" "^4.0.5" + "@antv/algorithm" "^0.1.26" + "@antv/dom-util" "^2.0.1" + "@antv/event-emitter" "~0.1.0" + "@antv/g-base" "^0.5.1" + "@antv/g-canvas" "^0.5.2" + "@antv/g-math" "^0.1.1" + "@antv/g-svg" "^0.5.1" + "@antv/g6-core" "0.8.24" + "@antv/g6-element" "0.8.24" + "@antv/g6-plugin" "0.8.24" + "@antv/hierarchy" "^0.6.10" + "@antv/layout" "^0.3.0" + "@antv/matrix-util" "^3.1.0-beta.3" + "@antv/path-util" "^2.0.3" + "@antv/util" "~2.0.5" + color "^3.1.3" + d3-force "^2.0.1" + dagre "^0.8.5" + insert-css "^2.0.0" + ml-matrix "^6.5.0" + tslib "^2.6.2" + +"@antv/g6-plugin@0.8.24": + version "0.8.24" + resolved "https://registry.yarnpkg.com/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz#f59a7eb6820ae6fb8767b4a8da12bcbd3a43bc44" + integrity sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g== + dependencies: + "@antv/dom-util" "^2.0.2" + "@antv/g-base" "^0.5.1" + "@antv/g-canvas" "^0.5.2" + "@antv/g-svg" "^0.5.2" + "@antv/g6-core" "0.8.24" + "@antv/g6-element" "0.8.24" + "@antv/matrix-util" "^3.1.0-beta.3" + "@antv/path-util" "^2.0.3" + "@antv/scale" "^0.3.4" + "@antv/util" "^2.0.9" + insert-css "^2.0.0" + +"@antv/g6@^4.6.15", "@antv/g6@^4.8.19": + version "4.8.24" + resolved "https://registry.yarnpkg.com/@antv/g6/-/g6-4.8.24.tgz#803c7cbe3a345194d7fb0f8c68a5200d65f2c333" + integrity sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ== + dependencies: + "@antv/g6-pc" "0.8.24" + +"@antv/graphin-components@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@antv/graphin-components/-/graphin-components-2.4.1.tgz#ea9f02ddd8b5f9d2ac37c6dbaab3e949520afb54" + integrity sha512-Vaxhg1Jbv76j0SwrDLS5/VoHEx2mJW9CEbNdJ7HuWCaz24imvOymV4FpKSJND2PUq7BgIrzo48NaF3bpfiWZZA== + dependencies: + "@antv/graphin" "^2.7.18" + +"@antv/graphin-icons@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz#86ba9e9ab6565bfe2ea1096e8678e76c279053f1" + integrity sha512-2nogK6ZrDklnfIOJrqOAgD7iFLjfZIjLbA8pDUbeXN5c9b0Mu84oCfyqg8OmWwvi9Gt80eUzoplo73gKjZECJg== + +"@antv/graphin@^2.7.12", "@antv/graphin@^2.7.18": + version "2.7.27" + resolved "https://registry.yarnpkg.com/@antv/graphin/-/graphin-2.7.27.tgz#0a16a1ef8ae43c90f95c268e1e17d3fe68014e24" + integrity sha512-cqsLl3xpZ5mPgTq5UufcqJDlxzKZSLk9/JWXmoQYpvDC4cpzDjBZeVlaDfhT8iToB5aR15CEIu6j+XsQDMqUsA== + dependencies: + "@antv/g6" "^4.8.19" + d3-quadtree "^3.0.1" + lodash-es "^4.17.21" + +"@antv/graphlib@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@antv/graphlib/-/graphlib-1.2.0.tgz#c88f97d4b3456d261480a1207ffc4fbc5d7dcf0d" + integrity sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ== + +"@antv/hierarchy@^0.6.10": + version "0.6.14" + resolved "https://registry.yarnpkg.com/@antv/hierarchy/-/hierarchy-0.6.14.tgz#4e8b4966c9c2a44aaa6f9da7008c4bd44d490385" + integrity sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ== + +"@antv/layout@^0.3.0": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@antv/layout/-/layout-0.3.25.tgz#0430050d1b36c21a6ab19474bd1000e114066dc7" + integrity sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g== + dependencies: + "@antv/g-webgpu" "0.7.2" + "@antv/graphlib" "^1.0.0" + "@antv/util" "^3.3.2" + d3-force "^2.1.1" + d3-quadtree "^2.0.0" + dagre-compound "^0.0.11" + ml-matrix "6.5.0" + +"@antv/matrix-util@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz#ea13f158aa2fb4ba2fb8d6b6b561ec467ea3ac20" + integrity sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ== + dependencies: + "@antv/util" "^2.0.9" + gl-matrix "^3.3.0" + tslib "^2.0.3" + +"@antv/matrix-util@^3.1.0-beta.1", "@antv/matrix-util@^3.1.0-beta.3": + version "3.1.0-beta.3" + resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz#e061de8fa7be04605a155c69cc5ce9082eedddee" + integrity sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A== + dependencies: + "@antv/util" "^2.0.9" + gl-matrix "^3.4.3" + tslib "^2.0.3" + +"@antv/path-util@^2.0.3", "@antv/path-util@~2.0.5": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-2.0.15.tgz#a6f691dfc8b7bce5be7f0aabb5bd614964325631" + integrity sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw== + dependencies: + "@antv/matrix-util" "^3.0.4" + "@antv/util" "^2.0.9" + tslib "^2.0.3" + +"@antv/scale@^0.3.4": + version "0.3.18" + resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.3.18.tgz#b911f431b3e0b9547b6a65f66d0d3fa295b5ef32" + integrity sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w== + dependencies: + "@antv/util" "~2.0.3" + fecha "~4.2.0" + tslib "^2.0.0" + +"@antv/util@^2.0.13", "@antv/util@^2.0.9", "@antv/util@~2.0.0", "@antv/util@~2.0.13", "@antv/util@~2.0.3", "@antv/util@~2.0.5": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" + integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== + dependencies: + csstype "^3.0.8" + tslib "^2.0.3" + +"@antv/util@^3.3.2": + version "3.3.10" + resolved "https://registry.yarnpkg.com/@antv/util/-/util-3.3.10.tgz#6fb2560c0f42df61f824e1f995a1ed1bdb00eb9a" + integrity sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ== + dependencies: + fast-deep-equal "^3.1.3" + gl-matrix "^3.3.0" + tslib "^2.3.1" + +"@antv/x6-react-components@^1.1.20": + version "1.1.20" + resolved "https://registry.yarnpkg.com/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz#aa925d71646542355f92d78f99362e80717960d2" + integrity sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q== + dependencies: + clamp "^1.0.1" + classnames "^2.2.6" + rc-dropdown "^3.0.0-alpha.0" + rc-util "^4.15.7" + react-color "2.17.1" + react-resize-detector "^7.0.0" + ua-parser-js "^0.7.20" + +"@antv/x6-react-shape@^1.6.3": + version "1.6.6" + resolved "https://registry.yarnpkg.com/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz#58500fb177497324c7171ba16a3d6aefcf3c7868" + integrity sha512-+SIvQWeGhfH9miKDQvJT497iVDs/CcMwcgbNKbPV6qTUaSUeXjz/bZy8knbQ5t9XtkVYeQXZP7swiKK2xMI0UQ== + +"@antv/x6@^1.34.6": + version "1.35.1" + resolved "https://registry.yarnpkg.com/@antv/x6/-/x6-1.35.1.tgz#8592f8142095df38bad354d4ec59028b4922a1f2" + integrity sha512-XLFSGbcT/MOI883YKql9J/CqHUCPZxgwfel+sNN1eQbHA+JXYsGt0t9+IJ1qieaYAlxjgio5up+S9I0n+8QL/A== + dependencies: + csstype "^3.0.3" + jquery "^3.5.1" + jquery-mousewheel "^3.1.13" + lodash-es "^4.17.15" + mousetrap "^1.6.5" + utility-types "^3.10.0" + +"@apideck/better-ajv-errors@^0.3.1": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" + integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== + dependencies: + json-schema "^0.4.0" + jsonpointer "^5.0.0" + leven "^3.1.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.8.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.9.tgz#895b6c7e04a7271a0cbfd575d2e8131751914cc7" + integrity sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ== + dependencies: + "@babel/highlight" "^7.25.9" + picocolors "^1.0.0" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.9.tgz#24b01c5db6a3ebf85661b4fb4a946a9bccc72ac8" + integrity sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw== + +"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.9.tgz#855a4cddcec4158f3f7afadacdab2a7de8af7434" + integrity sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helpers" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/eslint-parser@^7.16.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz#603c68a63078796527bc9d0833f5e52dd5f9224c" + integrity sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.1" + +"@babel/eslint-plugin@^7.18.10": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.25.9.tgz#a5b6cc46085e0a7d45c5dae36055ce30c5125dab" + integrity sha512-MWg1lz+JiP9l1fXkE0qCUVo+1XwgNRPs6GTc88hmw6qN3AdgmfTSkyHt0e1xOTsKdXW5xlh2Lsk3wrFZbW5rzQ== + dependencies: + eslint-rule-composer "^0.3.0" + +"@babel/generator@^7.25.9", "@babel/generator@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.9.tgz#c7e828ebe0c2baba103b712924699c9e8a6e32f0" + integrity sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA== + dependencies: + "@babel/types" "^7.25.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + +"@babel/helper-annotate-as-pure@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== + dependencies: + "@babel/types" "^7.25.9" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9" + integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== + dependencies: + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" + integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/traverse" "^7.25.9" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26" + integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + regexpu-core "^6.1.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.6.2": + version "0.6.2" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" + integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-member-expression-to-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz#12e4fb2969197ef6d78ea8a2f24375ce85b425fb" + integrity sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-simple-access" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-optimise-call-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== + dependencies: + "@babel/types" "^7.25.9" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + +"@babel/helper-remap-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" + integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-wrap-function" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-replace-supers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" + integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/helper-simple-access@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" + integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + +"@babel/helper-wrap-function@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" + integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== + dependencies: + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helpers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.9.tgz#9e26aa6fbefdbca4f8c8a1d66dc6f1c00ddadb0a" + integrity sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/highlight@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" + integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.9.tgz#8fcaa079ac7458facfddc5cd705cc8005e4d3817" + integrity sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg== + dependencies: + "@babel/types" "^7.25.9" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" + integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" + integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" + integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" + integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" + integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-proposal-class-properties@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@^7.16.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz#8680707f943d1a3da2cd66b948179920f097e254" + integrity sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-decorators" "^7.25.9" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== + dependencies: + "@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@^7.16.0": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz#986b4ca8b7b5df3f67cee889cedeffc2e2bf14b3" + integrity sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-flow@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.9.tgz#30ddd09b4ad822f291efbbeb3bc4c5d3027af61d" + integrity sha512-F3FVgxwamIRS3+kfjNaPARX0DSAiH1exrQUVajXiR34hkdA9eyK+8rJbnu55DQjKL/ayuXqjNr2HDXwBEMEtFQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-import-assertions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.9.tgz#631686872fac3d4d1f1ae9a406a8fd1c482c7b2a" + integrity sha512-4GHX5uzr5QMOOuzV0an9MFju4hKlm0OyePl/lHhcsTVae5t/IKVHnb8W67Vr6FuLlk5lPqLB7n7O+K5R46emYg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz#29c9643445deea4533c05e6ac6c39d15424bbe78" + integrity sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.25.9", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" + integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-async-generator-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" + integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-transform-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" + integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" + +"@babel/plugin-transform-block-scoped-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458" + integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-block-scoping@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" + integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-class-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" + integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-class-static-block@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.9.tgz#1cab37c4278a563409d74c1e4f08fb77de5d7a5c" + integrity sha512-UIf+72C7YJ+PJ685/PpATbCz00XqiFEzHX5iysRwfvNT0Ko+FaXSvRgLytFSp8xUItrG9pFM/KoBBZDrY/cYyg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-classes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" + integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/traverse" "^7.25.9" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" + integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/template" "^7.25.9" + +"@babel/plugin-transform-destructuring@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" + integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-dotall-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" + integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-duplicate-keys@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" + integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" + integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-dynamic-import@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" + integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-exponentiation-operator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f" + integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-export-namespace-from@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" + integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-flow-strip-types@^7.16.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz#85879b42a8f5948fd6317069978e98f23ef8aec1" + integrity sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-flow" "^7.25.9" + +"@babel/plugin-transform-for-of@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755" + integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-function-name@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" + integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== + dependencies: + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-transform-json-strings@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" + integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" + integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-logical-assignment-operators@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" + integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-member-expression-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" + integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-modules-amd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" + integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-modules-commonjs@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" + integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-simple-access" "^7.25.9" + +"@babel/plugin-transform-modules-systemjs@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" + integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-transform-modules-umd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" + integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== + dependencies: + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" + integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-new-target@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" + integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949" + integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-numeric-separator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" + integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-object-rest-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" + integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== + dependencies: + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + +"@babel/plugin-transform-object-super@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" + integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + +"@babel/plugin-transform-optional-catch-binding@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" + integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" + integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-parameters@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" + integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-private-methods@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" + integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-private-property-in-object@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" + integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-property-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" + integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-react-constant-elements@^7.12.1": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz#08a1de35a301929b60fdf2788a54b46cd8ecd0ef" + integrity sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d" + integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-react-jsx-development@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7" + integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.25.9" + +"@babel/plugin-transform-react-jsx@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166" + integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/plugin-transform-react-pure-annotations@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62" + integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-regenerator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" + integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" + integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-runtime@^7.16.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz#62723ea3f5b31ffbe676da9d6dae17138ae580ea" + integrity sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.6" + babel-plugin-polyfill-regenerator "^0.6.1" + semver "^6.3.1" + +"@babel/plugin-transform-shorthand-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" + integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" + integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + +"@babel/plugin-transform-sticky-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" + integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-template-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1" + integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-typeof-symbol@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b" + integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-typescript@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" + integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-syntax-typescript" "^7.25.9" + +"@babel/plugin-transform-unicode-escapes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" + integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-property-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" + integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" + integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-sets-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" + integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.9.tgz#fc8a68705e02553cdeeeb5477bf241e12b9c3cd9" + integrity sha512-XqDEt+hfsQukahSX9JOBDHhpUHDhj2zGSxoqWQFCMajOSBnbhBdgON/bU/5PkBA1yX5tqW6tTzuIPVsZTQ7h5Q== + dependencies: + "@babel/compat-data" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-import-assertions" "^7.25.9" + "@babel/plugin-syntax-import-attributes" "^7.25.9" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.25.9" + "@babel/plugin-transform-async-generator-functions" "^7.25.9" + "@babel/plugin-transform-async-to-generator" "^7.25.9" + "@babel/plugin-transform-block-scoped-functions" "^7.25.9" + "@babel/plugin-transform-block-scoping" "^7.25.9" + "@babel/plugin-transform-class-properties" "^7.25.9" + "@babel/plugin-transform-class-static-block" "^7.25.9" + "@babel/plugin-transform-classes" "^7.25.9" + "@babel/plugin-transform-computed-properties" "^7.25.9" + "@babel/plugin-transform-destructuring" "^7.25.9" + "@babel/plugin-transform-dotall-regex" "^7.25.9" + "@babel/plugin-transform-duplicate-keys" "^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-dynamic-import" "^7.25.9" + "@babel/plugin-transform-exponentiation-operator" "^7.25.9" + "@babel/plugin-transform-export-namespace-from" "^7.25.9" + "@babel/plugin-transform-for-of" "^7.25.9" + "@babel/plugin-transform-function-name" "^7.25.9" + "@babel/plugin-transform-json-strings" "^7.25.9" + "@babel/plugin-transform-literals" "^7.25.9" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" + "@babel/plugin-transform-member-expression-literals" "^7.25.9" + "@babel/plugin-transform-modules-amd" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.25.9" + "@babel/plugin-transform-modules-systemjs" "^7.25.9" + "@babel/plugin-transform-modules-umd" "^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-new-target" "^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9" + "@babel/plugin-transform-numeric-separator" "^7.25.9" + "@babel/plugin-transform-object-rest-spread" "^7.25.9" + "@babel/plugin-transform-object-super" "^7.25.9" + "@babel/plugin-transform-optional-catch-binding" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/plugin-transform-private-methods" "^7.25.9" + "@babel/plugin-transform-private-property-in-object" "^7.25.9" + "@babel/plugin-transform-property-literals" "^7.25.9" + "@babel/plugin-transform-regenerator" "^7.25.9" + "@babel/plugin-transform-reserved-words" "^7.25.9" + "@babel/plugin-transform-shorthand-properties" "^7.25.9" + "@babel/plugin-transform-spread" "^7.25.9" + "@babel/plugin-transform-sticky-regex" "^7.25.9" + "@babel/plugin-transform-template-literals" "^7.25.9" + "@babel/plugin-transform-typeof-symbol" "^7.25.9" + "@babel/plugin-transform-unicode-escapes" "^7.25.9" + "@babel/plugin-transform-unicode-property-regex" "^7.25.9" + "@babel/plugin-transform-unicode-regex" "^7.25.9" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.10" + babel-plugin-polyfill-corejs3 "^0.10.6" + babel-plugin-polyfill-regenerator "^0.6.1" + core-js-compat "^3.38.1" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e" + integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-transform-react-display-name" "^7.25.9" + "@babel/plugin-transform-react-jsx" "^7.25.9" + "@babel/plugin-transform-react-jsx-development" "^7.25.9" + "@babel/plugin-transform-react-pure-annotations" "^7.25.9" + +"@babel/preset-typescript@^7.16.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.25.9.tgz#bb82f26cda46dc2eb1ee10bf72fa994e759a08ba" + integrity sha512-XWxw1AcKk36kgxf4C//fl0ikjLeqGUWn062/Fd8GtpTfDJOX6Ud95FK+4JlDA36BX4bNGndXi3a6Vr4Jo5/61A== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.25.9" + "@babel/plugin-transform-typescript" "^7.25.9" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.9.tgz#65884fd6dc255a775402cc1d9811082918f4bf00" + integrity sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.25.9", "@babel/template@^7.3.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" + integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/generator" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/template" "^7.25.9" + "@babel/types" "^7.25.9" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.9.tgz#620f35ea1f4233df529ec9a2668d2db26574deee" + integrity sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@codemirror/autocomplete@^6.0.0": + version "6.18.1" + resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.18.1.tgz#3bd8d62c9c9a14d0706ab0a8adac139eaf1a41f1" + integrity sha512-iWHdj/B1ethnHRTwZj+C1obmmuCzquH29EbcKr0qIjA9NfDeBDJ7vs+WOHsFeLeflE4o+dHfYndJloMKHUkWUA== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.17.0" + "@lezer/common" "^1.0.0" + +"@codemirror/commands@^6.0.0": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.7.1.tgz#04561e95bc0779eaa49efd63e916c4efb3bbf6d6" + integrity sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.4.0" + "@codemirror/view" "^6.27.0" + "@lezer/common" "^1.1.0" + +"@codemirror/language@^6.0.0": + version "6.10.3" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.3.tgz#eb25fc5ade19032e7bf1dcaa957804e5f1660585" + integrity sha512-kDqEU5sCP55Oabl6E7m5N+vZRoc0iWqgDVhEKifcHzPzjqCegcO4amfrYVL9PmPZpl4G0yjkpTpUO/Ui8CzO8A== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.23.0" + "@lezer/common" "^1.1.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" + style-mod "^4.0.0" + +"@codemirror/lint@^6.0.0": + version "6.8.2" + resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.2.tgz#7864b03583e9efd18554cff1dd4504da10338ab1" + integrity sha512-PDFG5DjHxSEjOXk9TQYYVjZDqlZTFaDBfhQixHnQOEVDDNHUbEh/hstAjcQJaA6FQdZTD1hquXTK0rVBLADR1g== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + crelt "^1.0.5" + +"@codemirror/search@^6.0.0": + version "6.5.6" + resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.6.tgz#8f858b9e678d675869112e475f082d1e8488db93" + integrity sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + crelt "^1.0.5" + +"@codemirror/state@^6.0.0", "@codemirror/state@^6.4.0": + version "6.4.1" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b" + integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A== + +"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0": + version "6.34.1" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.34.1.tgz#b17ed29c563e4adc60086233f2d3e7197e2dc33e" + integrity sha512-t1zK/l9UiRqwUNPm+pdIT0qzJlzuVckbTEMVNFhfWkGiBQClstzg+78vedCvLSX0xJEZ6lwZbPpnljL7L6iwMQ== + dependencies: + "@codemirror/state" "^6.4.0" + style-mod "^4.1.0" + w3c-keyname "^2.2.4" + +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + +"@csstools/normalize.css@*": + version "12.1.1" + resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz#f0ad221b7280f3fc814689786fd9ee092776ef8f" + integrity sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ== + +"@csstools/postcss-cascade-layers@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" + integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== + dependencies: + "@csstools/selector-specificity" "^2.0.2" + postcss-selector-parser "^6.0.10" + +"@csstools/postcss-color-function@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" + integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-font-format-keywords@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" + integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-hwb-function@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" + integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-ic-unit@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" + integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-is-pseudo-class@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" + integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== + dependencies: + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" + +"@csstools/postcss-nested-calc@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" + integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-normalize-display-values@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" + integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-oklab-function@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" + integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" + integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-stepped-value-functions@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" + integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-text-decoration-shorthand@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" + integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-trigonometric-functions@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" + integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== + dependencies: + postcss-value-parser "^4.2.0" + +"@csstools/postcss-unset-value@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" + integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== + +"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" + integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== + +"@ctrl/tinycolor@^3.4.0", "@ctrl/tinycolor@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" + integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== + +"@ecomfe/eslint-config@^7.4.0": + version "7.5.1" + resolved "https://registry.yarnpkg.com/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz#bea5f65e2fb494662198422149fbdf1f4c44e4f3" + integrity sha512-17Qc003QeeP9dZcI838owFLbSPjfCwZofYIu3zbLqpTVxdbxkkijj10fzYnMRGuOW0uGOzSqITzrIaJmLZRHBA== + dependencies: + semver "^7.3.5" + +"@ecomfe/stylelint-config@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz#5d84addbb5cb234b88cb923b4071394683e7a8ed" + integrity sha512-rIrZ7EU+zGVnqWWvYrCJWNrV04jyRSOqbLhsH1vl2FgTyUOBbvErRHfPoGqng8S9MfbIunnkzCDaoqpw6G4Tzw== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== + +"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== + dependencies: + "@humanwhocodes/object-schema" "^2.0.3" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@icons/material@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" + integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@isaacs/string-locale-compare@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" + integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + +"@jest/console@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" + integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^28.1.3" + jest-util "^28.1.3" + slash "^3.0.0" + +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.8.1" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" + micromatch "^4.0.4" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== + dependencies: + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== + dependencies: + "@jest/types" "^27.5.1" + "@sinonjs/fake-timers" "^8.0.1" + "@types/node" "*" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" + +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^8.1.0" + +"@jest/schemas@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" + integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== + dependencies: + "@sinclair/typebox" "^0.24.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.9" + source-map "^0.6.0" + +"@jest/test-result@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== + dependencies: + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-result@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" + integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== + dependencies: + "@jest/console" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== + dependencies: + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" + +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jest/types@^28.1.3": + version "28.1.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" + integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== + dependencies: + "@jest/schemas" "^28.1.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== + +"@lezer/common@^1.0.0", "@lezer/common@^1.1.0": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.3.tgz#138fcddab157d83da557554851017c6c1e5667fd" + integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== + +"@lezer/highlight@^1.0.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" + integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== + dependencies: + "@lezer/common" "^1.0.0" + +"@lezer/lr@^1.0.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" + integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== + dependencies: + "@lezer/common" "^1.0.0" + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/arborist@^5.6.3": + version "5.6.3" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" + integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/metavuln-calculator" "^3.0.1" + "@npmcli/move-file" "^2.0.0" + "@npmcli/name-from-folder" "^1.0.1" + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/package-json" "^2.0.0" + "@npmcli/query" "^1.2.0" + "@npmcli/run-script" "^4.1.3" + bin-links "^3.0.3" + cacache "^16.1.3" + common-ancestor-path "^1.0.1" + hosted-git-info "^5.2.1" + json-parse-even-better-errors "^2.3.1" + json-stringify-nice "^1.1.4" + minimatch "^5.1.0" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + nopt "^6.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.0.0" + npm-pick-manifest "^7.0.2" + npm-registry-fetch "^13.0.0" + npmlog "^6.0.2" + pacote "^13.6.1" + parse-conflict-json "^2.0.1" + proc-log "^2.0.0" + promise-all-reject-late "^1.0.0" + promise-call-limit "^1.0.1" + read-package-json-fast "^2.0.2" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.0" + treeverse "^2.0.0" + walk-up-path "^1.0.0" + +"@npmcli/ci-detect@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" + integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== + +"@npmcli/config@^4.2.1": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" + integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== + dependencies: + "@npmcli/map-workspaces" "^2.0.2" + ini "^3.0.0" + mkdirp-infer-owner "^2.0.0" + nopt "^6.0.0" + proc-log "^2.0.0" + read-package-json-fast "^2.0.3" + semver "^7.3.5" + walk-up-path "^1.0.0" + +"@npmcli/disparity-colors@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" + integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== + dependencies: + ansi-styles "^4.3.0" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" + integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== + dependencies: + "@gar/promisify" "^1.1.3" + semver "^7.3.5" + +"@npmcli/git@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" + integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== + dependencies: + "@npmcli/promise-spawn" "^3.0.0" + lru-cache "^7.4.4" + mkdirp "^1.0.4" + npm-pick-manifest "^7.0.0" + proc-log "^2.0.0" + promise-inflight "^1.0.1" + promise-retry "^2.0.1" + semver "^7.3.5" + which "^2.0.2" + +"@npmcli/installed-package-contents@^1.0.7": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" + integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== + dependencies: + npm-bundled "^1.1.1" + npm-normalize-package-bin "^1.0.1" + +"@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" + integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== + dependencies: + "@npmcli/name-from-folder" "^1.0.1" + glob "^8.0.1" + minimatch "^5.0.1" + read-package-json-fast "^2.0.3" + +"@npmcli/metavuln-calculator@^3.0.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" + integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== + dependencies: + cacache "^16.0.0" + json-parse-even-better-errors "^2.3.1" + pacote "^13.0.3" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/move-file@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" + integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@npmcli/name-from-folder@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" + integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== + +"@npmcli/node-gyp@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" + integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== + +"@npmcli/package-json@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" + integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== + dependencies: + json-parse-even-better-errors "^2.3.1" + +"@npmcli/promise-spawn@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" + integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== + dependencies: + infer-owner "^1.0.4" + +"@npmcli/query@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" + integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== + dependencies: + npm-package-arg "^9.1.0" + postcss-selector-parser "^6.0.10" + semver "^7.3.7" + +"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" + integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== + dependencies: + "@npmcli/node-gyp" "^2.0.0" + "@npmcli/promise-spawn" "^3.0.0" + node-gyp "^9.0.0" + read-package-json-fast "^2.0.3" + which "^2.0.2" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz#f126be97c30b83ed777e2aeabd518bc592e6e7c4" + integrity sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ== + dependencies: + ansi-html "^0.0.9" + core-js-pure "^3.23.3" + error-stack-parser "^2.0.6" + html-entities "^2.1.0" + loader-utils "^2.0.4" + schema-utils "^4.2.0" + source-map "^0.7.3" + +"@probe.gl/env@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@probe.gl/env/-/env-3.6.0.tgz#33343fd9041a14d21374c1911826d4a2f9d9a35d" + integrity sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ== + dependencies: + "@babel/runtime" "^7.0.0" + +"@probe.gl/log@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@probe.gl/log/-/log-3.6.0.tgz#c645bfd22b4769dc65161caa17f13bd2b231e413" + integrity sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA== + dependencies: + "@babel/runtime" "^7.0.0" + "@probe.gl/env" "3.6.0" + +"@probe.gl/stats@3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@probe.gl/stats/-/stats-3.6.0.tgz#a1bb12860fa6f40b9c028f9eb575d7ada0b4dbdd" + integrity sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ== + dependencies: + "@babel/runtime" "^7.0.0" + +"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" + integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== + dependencies: + "@babel/runtime" "^7.18.0" + classnames "^2.3.2" + rc-util "^5.24.4" + +"@remix-run/router@1.20.0": + version "1.20.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.20.0.tgz#03554155b45d8b529adf635b2f6ad1165d70d8b4" + integrity sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg== + +"@rollup/plugin-babel@^5.2.0": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-node-resolve@^11.2.1": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/plugin-replace@^2.4.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@rushstack/eslint-patch@^1.1.0": + version "1.10.4" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" + integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== + +"@sinclair/typebox@^0.24.1": + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^1.7.0": + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== + dependencies: + "@sinonjs/commons" "^1.7.0" + +"@surma/rollup-plugin-off-main-thread@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" + integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== + dependencies: + ejs "^3.1.6" + json5 "^2.2.0" + magic-string "^0.25.0" + string.prototype.matchall "^4.0.6" + +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + dependencies: + "@babel/types" "^7.12.6" + +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + +"@testing-library/dom@^8.5.0": + version "8.20.1" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" + integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/runtime" "^7.12.5" + "@types/aria-query" "^5.0.1" + aria-query "5.1.3" + chalk "^4.1.0" + dom-accessibility-api "^0.5.9" + lz-string "^1.5.0" + pretty-format "^27.0.2" + +"@testing-library/jest-dom@^5.16.4": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" + integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== + dependencies: + "@adobe/css-tools" "^4.0.1" + "@babel/runtime" "^7.9.2" + "@types/testing-library__jest-dom" "^5.9.1" + aria-query "^5.0.0" + chalk "^3.0.0" + css.escape "^1.5.1" + dom-accessibility-api "^0.5.6" + lodash "^4.17.15" + redent "^3.0.0" + +"@testing-library/react@^13.3.0": + version "13.4.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" + integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== + dependencies: + "@babel/runtime" "^7.12.5" + "@testing-library/dom" "^8.5.0" + "@types/react-dom" "^18.0.0" + +"@testing-library/user-event@^13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" + integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== + dependencies: + "@babel/runtime" "^7.12.5" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@tweenjs/tween.js@18 - 25": + version "25.0.0" + resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz#7266baebcc3affe62a3a54318a3ea82d904cd0b9" + integrity sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A== + +"@types/aria-query@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" + integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.8" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" + integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" + integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== + dependencies: + "@babel/types" "^7.20.7" + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/d3-timer@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-2.0.3.tgz#d74350a9eb5991f054b2cf8e92efaf22be3e1a25" + integrity sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg== + +"@types/eslint@^7.29.0 || ^8.4.1": + version "8.56.12" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" + integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.5": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" + integrity sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/graceful-fs@^4.1.2": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== + dependencies: + "@types/node" "*" + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.15" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" + integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== + +"@types/istanbul-lib-report@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@*": + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/lodash-es@^4.17.3": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" + +"@types/lodash@*": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.12.tgz#25d71312bf66512105d71e55d42e22c36bcfc689" + integrity sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimist@^1.2.0": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "22.7.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.9.tgz#2bf2797b5e84702d8262ea2cf843c3c3c880d0e9" + integrity sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg== + dependencies: + undici-types "~6.19.2" + +"@types/normalize-package-data@^2.4.0": + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== + +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + +"@types/prettier@^2.1.5": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/prop-types@*": + version "15.7.13" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" + integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== + +"@types/q@^1.5.1": + version "1.5.8" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== + +"@types/qs@*": + version "6.9.16" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" + integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/react-dom@^18.0.0": + version "18.3.1" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" + integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "18.3.12" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60" + integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw== + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/semver@^7.3.12": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== + dependencies: + "@types/http-errors" "*" + "@types/node" "*" + "@types/send" "*" + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^2.0.0": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" + integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== + +"@types/testing-library__jest-dom@^5.9.1": + version "5.14.9" + resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" + integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== + dependencies: + "@types/jest" "*" + +"@types/trusted-types@^2.0.2": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@types/ws@^8.5.5": + version "8.5.12" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" + integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== + dependencies: + "@types/node" "*" + +"@types/yargs-parser@*": + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== + +"@types/yargs@^16.0.0": + version "16.0.9" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" + integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^5.5.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@^5.0.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" + integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== + dependencies: + "@typescript-eslint/utils" "5.62.0" + +"@typescript-eslint/parser@^5.5.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.3, abab@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +accessor-fn@1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/accessor-fn/-/accessor-fn-1.5.1.tgz#7b2d063c16deba5040a46292824ed67d925cb8ea" + integrity sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A== + +acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" + integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + +acorn@^7.1.1: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.13.0.tgz#2a30d670818ad16ddd6a35d3842dacec9e5d7ca3" + integrity sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w== + +add-dom-event-listener@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== + dependencies: + object-assign "4.x" + +address@^1.0.1, address@^1.1.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +adjust-sourcemap-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" + integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== + dependencies: + loader-utils "^2.0.0" + regex-parser "^2.2.11" + +agent-base@6, agent-base@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@8.17.1, ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-html@^0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.9.tgz#6512d02342ae2cc68131952644a129cb734cd3f0" + integrity sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +antd@^4.23.1: + version "4.24.16" + resolved "https://registry.yarnpkg.com/antd/-/antd-4.24.16.tgz#19206b6082e25a9900ba486655f9a55fe405d672" + integrity sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ== + dependencies: + "@ant-design/colors" "^6.0.0" + "@ant-design/icons" "^4.8.2" + "@ant-design/react-slick" "~1.0.2" + "@babel/runtime" "^7.18.3" + "@ctrl/tinycolor" "^3.6.1" + classnames "^2.2.6" + copy-to-clipboard "^3.2.0" + lodash "^4.17.21" + moment "^2.29.2" + rc-cascader "~3.7.3" + rc-checkbox "~3.0.1" + rc-collapse "~3.4.2" + rc-dialog "~9.0.2" + rc-drawer "~6.3.0" + rc-dropdown "~4.0.1" + rc-field-form "~1.38.2" + rc-image "~5.13.0" + rc-input "~0.1.4" + rc-input-number "~7.3.11" + rc-mentions "~1.13.1" + rc-menu "~9.8.4" + rc-motion "^2.9.0" + rc-notification "~4.6.1" + rc-pagination "~3.2.0" + rc-picker "~2.7.6" + rc-progress "~3.4.2" + rc-rate "~2.9.3" + rc-resize-observer "^1.3.1" + rc-segmented "~2.3.0" + rc-select "~14.1.18" + rc-slider "~10.0.1" + rc-steps "~5.0.0" + rc-switch "~3.2.2" + rc-table "~7.26.0" + rc-tabs "~12.5.10" + rc-textarea "~0.4.7" + rc-tooltip "~5.2.2" + rc-tree "~5.7.12" + rc-tree-select "~5.5.5" + rc-trigger "^5.3.4" + rc-upload "~4.3.6" + rc-util "^5.37.0" + scroll-into-view-if-needed "^2.2.25" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +aria-query@5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" + integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== + dependencies: + deep-equal "^2.0.5" + +aria-query@^5.0.0, aria-query@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.6, array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.findlast@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" + integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.reduce@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz#6aadc2f995af29cb887eb866d981dc85ab6f7dc7" + integrity sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-array-method-boxes-properly "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + is-string "^1.0.7" + +array.prototype.tosorted@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" + integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-shim-unscopables "^1.0.2" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== + +asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA== + +async-validator@^4.1.0: + version "4.2.5" + resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" + integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== + +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.4.13: + version "10.4.20" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" + integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== + dependencies: + browserslist "^4.23.3" + caniuse-lite "^1.0.30001646" + fraction.js "^4.3.7" + normalize-range "^0.1.2" + picocolors "^1.0.1" + postcss-value-parser "^4.2.0" + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axe-core@^4.10.0: + version "4.10.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" + integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== + +axios@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" + integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== + dependencies: + follow-redirects "^1.14.9" + form-data "^4.0.0" + +axobject-query@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" + integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== + +babel-jest@^27.4.2, babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-loader@^8.2.3: + version "8.4.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.4.1.tgz#6ccb75c66e62c3b144e1c5f2eaec5b8f6c08c675" + integrity sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.4" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-named-asset-import@^0.3.8: + version "0.3.8" + resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" + integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== + +babel-plugin-polyfill-corejs2@^0.4.10: + version "0.4.11" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" + integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.6.2" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.10.6: + version "0.10.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" + integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + core-js-compat "^3.38.0" + +babel-plugin-polyfill-regenerator@^0.6.1: + version "0.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" + integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.6.2" + +babel-plugin-transform-react-remove-prop-types@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== + +babel-preset-current-node-syntax@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + +babel-preset-react-app@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" + integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== + dependencies: + "@babel/core" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-decorators" "^7.16.4" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-transform-flow-strip-types" "^7.16.0" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-runtime" "^7.16.4" + "@babel/preset-env" "^7.16.4" + "@babel/preset-react" "^7.16.0" + "@babel/preset-typescript" "^7.16.0" + "@babel/runtime" "^7.16.3" + babel-plugin-macros "^3.1.0" + babel-plugin-transform-react-remove-prop-types "^0.4.24" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" + integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bfj@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" + integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== + dependencies: + bluebird "^3.7.2" + check-types "^11.2.3" + hoopy "^0.1.4" + jsonpath "^1.1.1" + tryer "^1.0.1" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bignumber.js@^9.0.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== + +bin-links@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" + integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== + dependencies: + cmd-shim "^5.0.0" + mkdirp-infer-owner "^2.0.0" + npm-normalize-package-bin "^2.0.0" + read-cmd-shim "^3.0.0" + rimraf "^3.0.0" + write-file-atomic "^4.0.0" + +binary-extensions@^2.0.0, binary-extensions@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + +bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== + dependencies: + bytes "3.1.2" + content-type "~1.0.5" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.13.0" + raw-body "2.5.2" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.23.3, browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + dependencies: + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" + node-releases "^2.0.18" + update-browserslist-db "^1.1.1" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +builtin-modules@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +builtins@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" + integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== + dependencies: + semver "^7.0.0" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: + version "16.1.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" + integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== + dependencies: + "@npmcli/fs" "^2.1.0" + "@npmcli/move-file" "^2.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + glob "^8.0.1" + infer-owner "^1.0.4" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + unique-filename "^2.0.0" + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0, camelcase@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: + version "1.0.30001669" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" + integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== + +case-sensitive-paths-webpack-plugin@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +char-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" + integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== + +check-types@^11.2.3: + version "11.2.3" + resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" + integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== + +chokidar@^3.4.2, chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +cidr-regex@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" + integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== + dependencies: + ip-regex "^4.1.0" + +cjs-module-lexer@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== + +clamp@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" + integrity sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA== + +classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" + integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== + +clean-css@^5.2.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-columns@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" + integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== + dependencies: + string-width "^4.2.3" + strip-ansi "^6.0.1" + +cli-table3@^0.6.2: + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== + dependencies: + string-width "^4.2.0" + optionalDependencies: + "@colors/colors" "1.5.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +cmd-shim@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" + integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== + dependencies: + mkdirp-infer-owner "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +codemirror@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29" + integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/commands" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/lint" "^6.0.0" + "@codemirror/search" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + +color-convert@^1.9.0, color-convert@^1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.6.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" + integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +color@^3.1.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +columnify@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" + integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== + dependencies: + strip-ansi "^6.0.1" + wcwidth "^1.0.0" + +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +common-ancestor-path@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" + integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== + +common-tags@^1.8.0: + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + 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" + +compute-scroll-into-view@^1.0.20: + version "1.0.20" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43" + integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +confusing-browser-globals@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4, content-type@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== + +copy-to-clipboard@^3.2.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" + integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== + dependencies: + toggle-selection "^1.0.6" + +core-js-compat@^3.38.0, core-js-compat@^3.38.1: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" + integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== + dependencies: + browserslist "^4.23.3" + +core-js-pure@^3.23.3: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.38.1.tgz#e8534062a54b7221344884ba9b52474be495ada3" + integrity sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ== + +core-js@^3.19.2: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e" + integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +crelt@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" + integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== + +cron-expression-validator@^1.0.20: + version "1.0.20" + resolved "https://registry.yarnpkg.com/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz#add2cd89270cec2149258cf384f212061d5c0235" + integrity sha512-g0osBTdp+1ryDw2vzlG6UpDPaa4fO94ZChF2R0lEnRurbuUEL74XEVX7xZJ13m4Mq/gb3ni6UQu8+Oqt+eocsw== + +cross-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-blank-pseudo@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" + integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== + dependencies: + postcss-selector-parser "^6.0.9" + +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" + integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== + +css-has-pseudo@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" + integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== + dependencies: + postcss-selector-parser "^6.0.9" + +css-loader@^6.5.1: + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.33" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.5.4" + +css-minimizer-webpack-plugin@^3.2.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + postcss "^8.3.5" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-prefers-color-scheme@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" + integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== + +cssdb@^7.1.0: + version "7.11.2" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.2.tgz#127a2f5b946ee653361a5af5333ea85a39df5ae5" + integrity sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.6: + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.0.2, csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +csstype@^3.0.2, csstype@^3.0.3, csstype@^3.0.8: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + +"d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3": + version "3.2.4" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + +d3-binarytree@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/d3-binarytree/-/d3-binarytree-1.0.2.tgz#ed43ebc13c70fbabfdd62df17480bc5a425753cc" + integrity sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw== + +"d3-color@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== + +"d3-dispatch@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf" + integrity sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA== + +"d3-dispatch@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" + integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== + +d3-ease@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" + integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== + +"d3-force-3d@2 - 3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/d3-force-3d/-/d3-force-3d-3.0.5.tgz#9c8931b49acc3554f9110e128bc580cd3ab830f2" + integrity sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg== + dependencies: + d3-binarytree "1" + d3-dispatch "1 - 3" + d3-octree "1" + d3-quadtree "1 - 3" + d3-timer "1 - 3" + +d3-force@^2.0.1, d3-force@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-2.1.1.tgz#f20ccbf1e6c9e80add1926f09b51f686a8bc0937" + integrity sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew== + dependencies: + d3-dispatch "1 - 2" + d3-quadtree "1 - 2" + d3-timer "1 - 2" + +"d3-format@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" + integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== + +"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" + integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== + dependencies: + d3-color "1 - 3" + +d3-octree@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/d3-octree/-/d3-octree-1.0.2.tgz#b39026b82701e45c7163e34ee056dc492035a017" + integrity sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA== + +"d3-quadtree@1 - 2", d3-quadtree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d" + integrity sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw== + +"d3-quadtree@1 - 3", d3-quadtree@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" + integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== + +"d3-scale-chromatic@1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" + integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== + dependencies: + d3-color "1 - 3" + d3-interpolate "1 - 3" + +"d3-scale@1 - 4": + version "4.0.2" + resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" + integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== + dependencies: + d3-array "2.10.0 - 3" + d3-format "1 - 3" + d3-interpolate "1.2.0 - 3" + d3-time "2.1.1 - 3" + d3-time-format "2 - 4" + +"d3-time-format@2 - 4": + version "4.1.0" + resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" + integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== + dependencies: + d3-time "1 - 3" + +"d3-time@1 - 3", "d3-time@2.1.1 - 3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" + integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== + dependencies: + d3-array "2 - 3" + +"d3-timer@1 - 2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6" + integrity sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA== + +"d3-timer@1 - 3": + version "3.0.1" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" + integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== + +d3-timer@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" + integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== + +dagre-compound@^0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/dagre-compound/-/dagre-compound-0.0.11.tgz#8d3d1004d756f420582d29f28c92045375018987" + integrity sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ== + +dagre@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee" + integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw== + dependencies: + graphlib "^2.1.8" + lodash "^4.17.15" + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +data-joint@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/data-joint/-/data-joint-1.3.1.tgz#d134950322c90f531e81bbbe8454277549031466" + integrity sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ== + dependencies: + index-array-by "^1.4.0" + +data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +date-fns@2.x, date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dayjs@1.x: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + +debug@2.6.9, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== + +decamelize-keys@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" + integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decimal.js@^10.2.1: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-equal@^2.0.5: + version "2.2.3" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" + integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.5" + es-get-iterator "^1.1.3" + get-intrinsic "^1.2.2" + is-arguments "^1.1.1" + is-array-buffer "^3.0.2" + is-date-object "^1.0.5" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + isarray "^2.0.5" + object-is "^1.1.5" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + side-channel "^1.0.4" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.13" + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-browser@^5.0.0, detect-browser@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +dezalgo@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" + integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== + dependencies: + asap "^2.0.0" + wrappy "1" + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: + version "0.5.16" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" + integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== + +dom-align@^1.7.0: + version "1.12.4" + resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" + integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +echarts@^5.4.1: + version "5.5.1" + resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.5.1.tgz#8dc9c68d0c548934bedcb5f633db07ed1dd2101c" + integrity sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA== + dependencies: + tslib "2.3.0" + zrender "5.6.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +ejs@^3.1.6: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" + +electron-to-chromium@^1.5.41: + version "1.5.45" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.45.tgz#fa592ce6a88b44d23acbc7453a2feab98996e6c9" + integrity sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw== + +emittery@^0.10.2: + version "0.10.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" + integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== + +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + +encoding@^0.1.12, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +enhanced-resolve@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-get-iterator@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" + integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + is-arguments "^1.1.1" + is-map "^2.0.2" + is-set "^2.0.2" + is-string "^1.0.7" + isarray "^2.0.5" + stop-iteration-iterator "^1.0.0" + +es-iterator-helpers@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" + integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + es-errors "^1.3.0" + es-set-tostringtag "^2.0.3" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + globalthis "^1.0.4" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + iterator.prototype "^1.1.3" + safe-array-concat "^1.1.2" + +es-module-lexer@^1.2.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.8.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escodegen@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" + integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== + dependencies: + "@babel/core" "^7.16.0" + "@babel/eslint-parser" "^7.16.3" + "@rushstack/eslint-patch" "^1.1.0" + "@typescript-eslint/eslint-plugin" "^5.5.0" + "@typescript-eslint/parser" "^5.5.0" + babel-preset-react-app "^10.0.1" + confusing-browser-globals "^1.0.11" + eslint-plugin-flowtype "^8.0.3" + eslint-plugin-import "^2.25.3" + eslint-plugin-jest "^25.3.0" + eslint-plugin-jsx-a11y "^6.5.1" + eslint-plugin-react "^7.27.1" + eslint-plugin-react-hooks "^4.3.0" + eslint-plugin-testing-library "^5.0.1" + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.12.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== + dependencies: + debug "^3.2.7" + +eslint-plugin-flowtype@^8.0.3: + version "8.0.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" + integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== + dependencies: + lodash "^4.17.21" + string-natural-compare "^3.0.1" + +eslint-plugin-import@^2.25.3: + version "2.31.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.12.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + string.prototype.trimend "^1.0.8" + tsconfig-paths "^3.15.0" + +eslint-plugin-jest@^25.3.0: + version "25.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" + integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== + dependencies: + "@typescript-eslint/experimental-utils" "^5.0.0" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.10.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz#87003835bad8875e023aa5db26f41a0c9e6a8fa9" + integrity sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g== + dependencies: + aria-query "^5.3.2" + array-includes "^3.1.8" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "^4.10.0" + axobject-query "^4.1.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + es-iterator-helpers "^1.1.0" + hasown "^2.0.2" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + safe-regex-test "^1.0.3" + string.prototype.includes "^2.0.1" + +eslint-plugin-react-hooks@^4.3.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" + integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== + +eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.30.1: + version "7.37.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" + integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== + dependencies: + array-includes "^3.1.8" + array.prototype.findlast "^1.2.5" + array.prototype.flatmap "^1.3.2" + array.prototype.tosorted "^1.1.4" + doctrine "^2.1.0" + es-iterator-helpers "^1.1.0" + estraverse "^5.3.0" + hasown "^2.0.2" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.8" + object.fromentries "^2.0.8" + object.values "^1.2.0" + prop-types "^15.8.1" + resolve "^2.0.0-next.5" + semver "^6.3.1" + string.prototype.matchall "^4.0.11" + string.prototype.repeat "^1.0.0" + +eslint-plugin-testing-library@^5.0.1: + version "5.11.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" + integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== + dependencies: + "@typescript-eslint/utils" "^5.58.0" + +eslint-rule-composer@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" + integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint-webpack-plugin@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" + integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== + dependencies: + "@types/eslint" "^7.29.0 || ^8.4.1" + jest-worker "^28.0.2" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + +eslint@^8.19.0, eslint@^8.3.0: + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" + integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== + dependencies: + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + +expect@^29.0.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== + dependencies: + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + +exponential-backoff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" + integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== + +express@^4.17.3: + version "4.21.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" + integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.3" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.7.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.3.1" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.10" + proxy-addr "~2.0.7" + qs "6.13.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.19.0" + serve-static "1.16.2" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-uri@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" + integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +fbemitter@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" + integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== + dependencies: + fbjs "^3.0.0" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0, fbjs@^3.0.1: + version "3.0.5" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" + integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^1.0.35" + +fecha@~4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" + integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + +filesize@^8.0.6: + version "8.0.7" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== + dependencies: + debug "2.6.9" + encodeurl "~2.0.0" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +flux@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" + integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== + dependencies: + fbemitter "^3.0.0" + fbjs "^3.0.1" + +follow-redirects@^1.0.0, follow-redirects@^1.14.9: + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" + integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@types/json-schema" "^7.0.5" + chalk "^4.1.0" + chokidar "^3.4.2" + cosmiconfig "^6.0.0" + deepmerge "^4.2.2" + fs-extra "^9.0.0" + glob "^7.1.6" + memfs "^3.1.2" + minimatch "^3.0.4" + schema-utils "2.7.0" + semver "^7.3.2" + tapable "^1.0.0" + +form-data@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.2.tgz#83ad9ced7c03feaad97e293d6f6091011e1659c8" + integrity sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.7: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^9.0.0, fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-minipass@^2.0.0, fs-minipass@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" + integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" + integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== + +gl-vec2@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/gl-vec2/-/gl-vec2-1.3.0.tgz#83d472ed46034de8e09cbc857123fb6c81c51199" + integrity sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^10.3.10: + version "10.4.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" + integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + package-json-from-dist "^1.0.0" + path-scurry "^1.11.1" + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.1: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + 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" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.3, globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + +globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globule@^1.0.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.4.tgz#7c11c43056055a75a6e68294453c17f2796170fb" + integrity sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg== + dependencies: + glob "~7.1.1" + lodash "^4.17.21" + minimatch "~3.0.2" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphlib@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" + integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== + dependencies: + lodash "^4.17.15" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + +harmony-reflect@^1.4.6: + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1, has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight-words-core@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.3.tgz#781f37b2a220bf998114e4ef8c8cb6c7a4802ea8" + integrity sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ== + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + +hosted-git-info@^5.0.0, hosted-git-info@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== + dependencies: + lru-cache "^7.5.1" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + +html-entities@^2.1.0, html-entities@^2.3.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" + integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-parse-stringify@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" + integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== + dependencies: + void-elements "3.1.0" + +html-webpack-plugin@^5.5.0: + version "5.6.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz#a31145f0fee4184d53a794f9513147df1e653685" + integrity sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + +http-proxy-middleware@^2.0.3, http-proxy-middleware@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" + integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +i18next@^19.5.3: + version "19.9.2" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.9.2.tgz#ea5a124416e3c5ab85fddca2c8e3c3669a8da397" + integrity sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg== + dependencies: + "@babel/runtime" "^7.12.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2, iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +idb@^7.0.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" + integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== + +identity-obj-proxy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== + dependencies: + harmony-reflect "^1.4.6" + +ignore-walk@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" + integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== + dependencies: + minimatch "^5.0.1" + +ignore@^5.2.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +immer@^9.0.7: + version "9.0.21" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== + +import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +index-array-by@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/index-array-by/-/index-array-by-1.4.2.tgz#d6f82e9fbff3201c4dab64ba415d4d2923242fea" + integrity sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.5: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@^3.0.0, ini@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" + integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== + +init-package-json@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" + integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== + dependencies: + npm-package-arg "^9.0.1" + promzard "^0.3.0" + read "^1.0.7" + read-package-json "^5.0.0" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + validate-npm-package-name "^4.0.0" + +insert-css@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4" + integrity sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA== + +install@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/install/-/install-0.13.0.tgz#6af6e9da9dd0987de2ab420f78e60d9c17260776" + integrity sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA== + +internal-slot@^1.0.4, internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ip-regex@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== + +is-any-array@^2.0.0, is-any-array@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-any-array/-/is-any-array-2.0.1.tgz#9233242a9c098220290aa2ec28f82ca7fa79899e" + integrity sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ== + +is-arguments@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-cidr@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" + integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== + dependencies: + cidr-regex "^3.1.1" + +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0, is-core-module@^2.8.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-generator-function@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-map@^2.0.2, is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-set@^2.0.2, is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" + integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.7" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +iterator.prototype@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" + integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jackspeak@^3.1.2: + version "3.4.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" + integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" + +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== + dependencies: + "@jest/types" "^27.5.1" + execa "^5.0.0" + throat "^6.0.1" + +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== + dependencies: + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + prompts "^2.0.1" + yargs "^16.2.0" + +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== + dependencies: + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^27.5.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== + dependencies: + chalk "^4.0.0" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== + dependencies: + detect-newline "^3.0.0" + +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + jsdom "^16.6.0" + +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + jest-mock "^27.5.1" + jest-util "^27.5.1" + +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== + dependencies: + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^27.5.1" + is-generator-fn "^2.0.0" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + throat "^6.0.1" + +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== + dependencies: + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== + dependencies: + chalk "^4.0.0" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.5.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^27.5.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-message-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" + integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^28.1.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^28.1.3" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-regex-util@^28.0.0: + version "28.0.2" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" + integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== + dependencies: + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" + +jest-resolve@^27.4.2, jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== + dependencies: + "@jest/types" "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-pnp-resolver "^1.2.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== + dependencies: + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.8.1" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + source-map-support "^0.5.6" + throat "^6.0.1" + +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + execa "^5.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== + dependencies: + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" + natural-compare "^1.4.0" + pretty-format "^27.5.1" + semver "^7.3.2" + +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" + integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== + dependencies: + "@jest/types" "^28.1.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== + dependencies: + "@jest/types" "^27.5.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^27.5.1" + leven "^3.1.0" + pretty-format "^27.5.1" + +jest-watch-typeahead@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" + integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.0.0" + jest-regex-util "^28.0.0" + jest-watcher "^28.0.0" + slash "^4.0.0" + string-length "^5.0.1" + strip-ansi "^7.0.1" + +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== + dependencies: + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^27.5.1" + string-length "^4.0.1" + +jest-watcher@^28.0.0: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" + integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== + dependencies: + "@jest/test-result" "^28.1.3" + "@jest/types" "^28.1.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.10.2" + jest-util "^28.1.3" + string-length "^4.0.1" + +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.4.3: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" + import-local "^3.0.2" + jest-cli "^27.5.1" + +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + +jquery-mousewheel@^3.1.13: + version "3.1.13" + resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz#06f0335f16e353a695e7206bf50503cb523a6ee5" + integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== + +jquery@^3.5.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" + integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== + +js-base64@^2.4.9: + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== + dependencies: + abab "^2.0.5" + acorn "^8.2.4" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.3.0" + data-urls "^2.0.0" + decimal.js "^10.2.1" + domexception "^2.0.1" + escodegen "^2.0.0" + form-data "^3.0.0" + html-encoding-sniffer "^2.0.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" + nwsapi "^2.2.0" + parse5 "6.0.1" + saxes "^5.0.1" + symbol-tree "^3.2.4" + tough-cookie "^4.0.0" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.5.0" + ws "^7.4.6" + xml-name-validator "^3.0.0" + +jsesc@^3.0.2, jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-nice@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" + integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" + integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== + dependencies: + string-convert "^0.2.0" + +json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.0, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonparse@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== + +jsonpath@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" + integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== + dependencies: + esprima "1.2.2" + static-eval "2.0.2" + underscore "1.12.1" + +jsonpointer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" + integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +just-diff-apply@^5.2.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" + integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== + +just-diff@^5.0.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" + integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== + +kapsule@1: + version "1.14.6" + resolved "https://registry.yarnpkg.com/kapsule/-/kapsule-1.14.6.tgz#b76cf7990db816a6d0dd4b3d774a474c4369acbc" + integrity sha512-wSi6tHNOfXrIK2Pvv6BhZ9ukzhbp+XZlOOPWSVGUbqfFsnnli4Eq8FN6TaWJv2e17sY5+fKYVxa4DP2oPGlKhg== + dependencies: + lodash-es "4" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4, klona@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +language-subtag-registry@^0.3.20: + version "0.3.23" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" + integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== + +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== + dependencies: + language-subtag-registry "^0.3.20" + +launch-editor@^2.6.0: + version "2.9.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" + integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +libnpmaccess@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" + integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== + dependencies: + aproba "^2.0.0" + minipass "^3.1.1" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + +libnpmdiff@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" + integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== + dependencies: + "@npmcli/disparity-colors" "^2.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + binary-extensions "^2.2.0" + diff "^5.1.0" + minimatch "^5.0.1" + npm-package-arg "^9.0.1" + pacote "^13.6.1" + tar "^6.1.0" + +libnpmexec@^4.0.14: + version "4.0.14" + resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" + integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== + dependencies: + "@npmcli/arborist" "^5.6.3" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/fs" "^2.1.1" + "@npmcli/run-script" "^4.2.0" + chalk "^4.1.0" + mkdirp-infer-owner "^2.0.0" + npm-package-arg "^9.0.1" + npmlog "^6.0.2" + pacote "^13.6.1" + proc-log "^2.0.0" + read "^1.0.7" + read-package-json-fast "^2.0.2" + semver "^7.3.7" + walk-up-path "^1.0.0" + +libnpmfund@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" + integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== + dependencies: + "@npmcli/arborist" "^5.6.3" + +libnpmhook@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" + integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmorg@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" + integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmpack@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" + integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== + dependencies: + "@npmcli/run-script" "^4.1.3" + npm-package-arg "^9.0.1" + pacote "^13.6.1" + +libnpmpublish@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" + integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== + dependencies: + normalize-package-data "^4.0.0" + npm-package-arg "^9.0.1" + npm-registry-fetch "^13.0.0" + semver "^7.3.7" + ssri "^9.0.0" + +libnpmsearch@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" + integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== + dependencies: + npm-registry-fetch "^13.0.0" + +libnpmteam@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" + integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== + dependencies: + aproba "^2.0.0" + npm-registry-fetch "^13.0.0" + +libnpmversion@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" + integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/run-script" "^4.1.3" + json-parse-even-better-errors "^2.3.1" + proc-log "^2.0.0" + semver "^7.3.7" + +lilconfig@^2.0.3, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0, loader-utils@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +loader-utils@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash-es@4, lodash-es@^4.17.15, lodash-es@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== + +lodash.curry@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" + integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.flow@^3.3.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^10.2.0: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +lz-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" + integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== + +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + +make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.4, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: + version "10.2.1" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" + integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== + dependencies: + agentkeepalive "^4.2.1" + cacache "^16.1.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^7.7.1" + minipass "^3.1.6" + minipass-collect "^1.0.2" + minipass-fetch "^2.0.3" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^7.0.0" + ssri "^9.0.0" + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + +material-colors@^1.2.1: + version "1.2.6" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" + integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +memoize-one@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" + integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== + +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +"mime-db@>= 1.43.0 < 2": + version "1.53.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" + integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== + +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +mini-css-extract-plugin@^2.4.5: + version "2.9.1" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz#4d184f12ce90582e983ccef0f6f9db637b4be758" + integrity sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ== + dependencies: + schema-utils "^4.0.0" + tapable "^2.2.1" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1, minimatch@^5.1.0: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimatch@~3.0.2: + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== + dependencies: + brace-expansion "^1.1.7" + +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-fetch@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" + integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== + dependencies: + minipass "^3.1.6" + minipass-sized "^1.0.3" + minizlib "^2.1.2" + optionalDependencies: + encoding "^0.1.13" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-json-stream@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" + integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== + dependencies: + jsonparse "^1.3.1" + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== + +minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp-infer-owner@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" + integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== + dependencies: + chownr "^2.0.0" + infer-owner "^1.0.4" + mkdirp "^1.0.3" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +ml-array-max@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/ml-array-max/-/ml-array-max-1.2.4.tgz#2373e2b7e51c8807e456cc0ef364c5863713623b" + integrity sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ== + dependencies: + is-any-array "^2.0.0" + +ml-array-min@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/ml-array-min/-/ml-array-min-1.2.3.tgz#662f027c400105816b849cc3cd786915d0801495" + integrity sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q== + dependencies: + is-any-array "^2.0.0" + +ml-array-rescale@^1.3.1, ml-array-rescale@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz#c4d129320d113a732e62dd963dc1695bba9a5340" + integrity sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ== + dependencies: + is-any-array "^2.0.0" + ml-array-max "^1.2.4" + ml-array-min "^1.2.3" + +ml-matrix@6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/ml-matrix/-/ml-matrix-6.5.0.tgz#3f3bbc54a694a0acf67feb7a750a903ac268d72c" + integrity sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg== + dependencies: + ml-array-rescale "^1.3.1" + +ml-matrix@^6.5.0: + version "6.12.0" + resolved "https://registry.yarnpkg.com/ml-matrix/-/ml-matrix-6.12.0.tgz#def6a0574b5fdc54a753033830e784a17399e270" + integrity sha512-AGfR+pWaC0GmzjUnB6BfwhndPEUGz0i7QUYdqNuw1zhTov/vSRJ9pP2hs6BoGpaSbtXgrKjZz2zjD1M0xuur6A== + dependencies: + is-any-array "^2.0.1" + ml-array-rescale "^1.3.7" + +moment@^2.24.0, moment@^2.29.2, moment@^2.29.4: + version "2.30.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +mousetrap@^1.6.5: + version "1.6.5" + resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9" + integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.17.0: + version "2.22.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" + integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +negotiator@^0.6.2, negotiator@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +ngraph.events@^1.0.0, ngraph.events@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ngraph.events/-/ngraph.events-1.2.2.tgz#3ceb92d676a04a4e7ce60a09fa8e17a4f0346d7f" + integrity sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ== + +ngraph.forcelayout@3: + version "3.3.1" + resolved "https://registry.yarnpkg.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz#981e1baee5e0593c490bc27219169f9cedfa4f8b" + integrity sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw== + dependencies: + ngraph.events "^1.0.0" + ngraph.merge "^1.0.0" + ngraph.random "^1.0.0" + +ngraph.graph@20: + version "20.0.1" + resolved "https://registry.yarnpkg.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz#579470d1d805583239704dc913e2095540aaf371" + integrity sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA== + dependencies: + ngraph.events "^1.2.1" + +ngraph.merge@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz#d763cdfa48b1bbd4270ea246f06c9c8ff5d3477c" + integrity sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg== + +ngraph.random@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ngraph.random/-/ngraph.random-1.1.0.tgz#5345c4bb63865c85d98ee6f13eab1395d8545a90" + integrity sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-gyp@^8.4.1: + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-gyp@^9.0.0, node-gyp@^9.1.0, node-gyp@^9.4.0: + version "9.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" + integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^10.0.3" + nopt "^6.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + +node-sass@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-9.0.0.tgz#c21cd17bd9379c2d09362b3baf2cbf089bce08ed" + integrity sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg== + dependencies: + async-foreach "^0.1.3" + chalk "^4.1.2" + cross-spawn "^7.0.3" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + lodash "^4.17.15" + make-fetch-happen "^10.0.4" + meow "^9.0.0" + nan "^2.17.0" + node-gyp "^8.4.1" + sass-graph "^4.0.1" + stdout-stream "^1.4.0" + "true-case-path" "^2.2.1" + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +nopt@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" + integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== + dependencies: + abbrev "^1.0.0" + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + +normalize-package-data@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" + integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== + dependencies: + hosted-git-info "^5.0.0" + is-core-module "^2.8.1" + semver "^7.3.5" + validate-npm-package-license "^3.0.4" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-audit-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" + integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== + dependencies: + chalk "^4.0.0" + +npm-bundled@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" + integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== + dependencies: + npm-normalize-package-bin "^1.0.1" + +npm-bundled@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" + integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== + dependencies: + npm-normalize-package-bin "^2.0.0" + +npm-install-checks@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" + integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== + dependencies: + semver "^7.1.1" + +npm-normalize-package-bin@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +npm-normalize-package-bin@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" + integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== + +npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: + version "9.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" + integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== + dependencies: + hosted-git-info "^5.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + validate-npm-package-name "^4.0.0" + +npm-packlist@^5.1.0: + version "5.1.3" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" + integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== + dependencies: + glob "^8.0.1" + ignore-walk "^5.0.1" + npm-bundled "^2.0.0" + npm-normalize-package-bin "^2.0.0" + +npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" + integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== + dependencies: + npm-install-checks "^5.0.0" + npm-normalize-package-bin "^2.0.0" + npm-package-arg "^9.0.0" + semver "^7.3.5" + +npm-profile@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" + integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== + dependencies: + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + +npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: + version "13.3.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" + integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== + dependencies: + make-fetch-happen "^10.0.6" + minipass "^3.1.6" + minipass-fetch "^2.0.3" + minipass-json-stream "^1.0.1" + minizlib "^2.1.2" + npm-package-arg "^9.0.1" + proc-log "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +npm-user-validate@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== + +npm@^8.13.2: + version "8.19.4" + resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.4.tgz#65ad6a2dfdd157a4ef4467fb86e8dcd35a43493f" + integrity sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw== + dependencies: + "@isaacs/string-locale-compare" "^1.1.0" + "@npmcli/arborist" "^5.6.3" + "@npmcli/ci-detect" "^2.0.0" + "@npmcli/config" "^4.2.1" + "@npmcli/fs" "^2.1.0" + "@npmcli/map-workspaces" "^2.0.3" + "@npmcli/package-json" "^2.0.0" + "@npmcli/run-script" "^4.2.1" + abbrev "~1.1.1" + archy "~1.0.0" + cacache "^16.1.3" + chalk "^4.1.2" + chownr "^2.0.0" + cli-columns "^4.0.0" + cli-table3 "^0.6.2" + columnify "^1.6.0" + fastest-levenshtein "^1.0.12" + fs-minipass "^2.1.0" + glob "^8.0.1" + graceful-fs "^4.2.10" + hosted-git-info "^5.2.1" + ini "^3.0.1" + init-package-json "^3.0.2" + is-cidr "^4.0.2" + json-parse-even-better-errors "^2.3.1" + libnpmaccess "^6.0.4" + libnpmdiff "^4.0.5" + libnpmexec "^4.0.14" + libnpmfund "^3.0.5" + libnpmhook "^8.0.4" + libnpmorg "^4.0.4" + libnpmpack "^4.1.3" + libnpmpublish "^6.0.5" + libnpmsearch "^5.0.4" + libnpmteam "^4.0.4" + libnpmversion "^3.0.7" + make-fetch-happen "^10.2.0" + minimatch "^5.1.0" + minipass "^3.1.6" + minipass-pipeline "^1.2.4" + mkdirp "^1.0.4" + mkdirp-infer-owner "^2.0.0" + ms "^2.1.2" + node-gyp "^9.1.0" + nopt "^6.0.0" + npm-audit-report "^3.0.0" + npm-install-checks "^5.0.0" + npm-package-arg "^9.1.0" + npm-pick-manifest "^7.0.2" + npm-profile "^6.2.0" + npm-registry-fetch "^13.3.1" + npm-user-validate "^1.0.1" + npmlog "^6.0.2" + opener "^1.5.2" + p-map "^4.0.0" + pacote "^13.6.2" + parse-conflict-json "^2.0.2" + proc-log "^2.0.1" + qrcode-terminal "^0.12.0" + read "~1.0.7" + read-package-json "^5.0.2" + read-package-json-fast "^2.0.3" + readdir-scoped-modules "^1.1.0" + rimraf "^3.0.2" + semver "^7.3.7" + ssri "^9.0.1" + tar "^6.1.11" + text-table "~0.2.0" + tiny-relative-date "^1.3.0" + treeverse "^2.0.0" + validate-npm-package-name "^4.0.0" + which "^2.0.2" + write-file-atomic "^4.0.1" + +npmlog@^6.0.0, npmlog@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.13" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" + integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== + +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + +object-is@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" + integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4, object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.8" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" + integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + gopd "^1.0.1" + safe-array-concat "^1.1.2" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + 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" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json-from-dist@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== + +pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: + version "13.6.2" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" + integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== + dependencies: + "@npmcli/git" "^3.0.0" + "@npmcli/installed-package-contents" "^1.0.7" + "@npmcli/promise-spawn" "^3.0.0" + "@npmcli/run-script" "^4.1.0" + cacache "^16.0.0" + chownr "^2.0.0" + fs-minipass "^2.1.0" + infer-owner "^1.0.4" + minipass "^3.1.6" + mkdirp "^1.0.4" + npm-package-arg "^9.0.0" + npm-packlist "^5.1.0" + npm-pick-manifest "^7.0.0" + npm-registry-fetch "^13.0.1" + proc-log "^2.0.0" + promise-retry "^2.0.1" + read-package-json "^5.0.0" + read-package-json-fast "^2.0.3" + rimraf "^3.0.2" + ssri "^9.0.0" + tar "^6.1.11" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" + integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== + dependencies: + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^5.2.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pirates@^4.0.1, pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +polished@4: + version "4.3.1" + resolved "https://registry.yarnpkg.com/polished/-/polished-4.3.1.tgz#5a00ae32715609f83d89f6f31d0f0261c6170548" + integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA== + dependencies: + "@babel/runtime" "^7.17.8" + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +postcss-attribute-case-insensitive@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" + integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-browser-comments@^4: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" + integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-clamp@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" + integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-functional-notation@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" + integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-hex-alpha@^8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" + integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-color-rebeccapurple@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" + integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-custom-media@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" + integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-custom-properties@^12.1.10: + version "12.1.11" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" + integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-custom-selectors@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" + integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-dir-pseudo-class@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" + integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-double-position-gradients@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" + integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +postcss-env-function@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" + integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-flexbugs-fixes@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" + integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== + +postcss-focus-visible@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" + integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-focus-within@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" + integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== + dependencies: + postcss-selector-parser "^6.0.9" + +postcss-font-variant@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" + integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== + +postcss-gap-properties@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" + integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== + +postcss-image-set-function@^4.0.7: + version "4.0.7" + resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" + integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-initial@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" + integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-lab-function@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" + integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== + dependencies: + "@csstools/postcss-progressive-custom-properties" "^1.1.0" + postcss-value-parser "^4.2.0" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-loader@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-logical@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" + integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== + +postcss-media-minmax@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" + integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== + +postcss-modules-local-by-default@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" + integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" + integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-nested@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" + integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== + dependencies: + postcss-selector-parser "^6.1.1" + +postcss-nesting@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" + integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== + dependencies: + "@csstools/selector-specificity" "^2.0.0" + postcss-selector-parser "^6.0.10" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" + integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== + dependencies: + "@csstools/normalize.css" "*" + postcss-browser-comments "^4" + sanitize.css "*" + +postcss-opacity-percentage@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" + integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-overflow-shorthand@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" + integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-page-break@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" + integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== + +postcss-place@^7.0.5: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" + integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-preset-env@^7.0.1: + version "7.8.3" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz#2a50f5e612c3149cc7af75634e202a5b2ad4f1e2" + integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== + dependencies: + "@csstools/postcss-cascade-layers" "^1.1.1" + "@csstools/postcss-color-function" "^1.1.1" + "@csstools/postcss-font-format-keywords" "^1.0.1" + "@csstools/postcss-hwb-function" "^1.0.2" + "@csstools/postcss-ic-unit" "^1.0.1" + "@csstools/postcss-is-pseudo-class" "^2.0.7" + "@csstools/postcss-nested-calc" "^1.0.0" + "@csstools/postcss-normalize-display-values" "^1.0.1" + "@csstools/postcss-oklab-function" "^1.1.1" + "@csstools/postcss-progressive-custom-properties" "^1.3.0" + "@csstools/postcss-stepped-value-functions" "^1.0.1" + "@csstools/postcss-text-decoration-shorthand" "^1.0.0" + "@csstools/postcss-trigonometric-functions" "^1.0.2" + "@csstools/postcss-unset-value" "^1.0.2" + autoprefixer "^10.4.13" + browserslist "^4.21.4" + css-blank-pseudo "^3.0.3" + css-has-pseudo "^3.0.4" + css-prefers-color-scheme "^6.0.3" + cssdb "^7.1.0" + postcss-attribute-case-insensitive "^5.0.2" + postcss-clamp "^4.1.0" + postcss-color-functional-notation "^4.2.4" + postcss-color-hex-alpha "^8.0.4" + postcss-color-rebeccapurple "^7.1.1" + postcss-custom-media "^8.0.2" + postcss-custom-properties "^12.1.10" + postcss-custom-selectors "^6.0.3" + postcss-dir-pseudo-class "^6.0.5" + postcss-double-position-gradients "^3.1.2" + postcss-env-function "^4.0.6" + postcss-focus-visible "^6.0.4" + postcss-focus-within "^5.0.4" + postcss-font-variant "^5.0.0" + postcss-gap-properties "^3.0.5" + postcss-image-set-function "^4.0.7" + postcss-initial "^4.0.1" + postcss-lab-function "^4.2.1" + postcss-logical "^5.0.4" + postcss-media-minmax "^5.0.0" + postcss-nesting "^10.2.0" + postcss-opacity-percentage "^1.1.2" + postcss-overflow-shorthand "^3.0.4" + postcss-page-break "^3.0.4" + postcss-place "^7.0.5" + postcss-pseudo-class-any-link "^7.1.6" + postcss-replace-overflow-wrap "^4.0.0" + postcss-selector-not "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-pseudo-class-any-link@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" + integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-replace-overflow-wrap@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" + integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== + +postcss-selector-not@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" + integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== + dependencies: + postcss-selector-parser "^6.0.10" + +postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1: + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.35: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: + version "8.4.47" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" + integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== + dependencies: + nanoid "^3.3.7" + picocolors "^1.1.0" + source-map-js "^1.2.1" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +pretty-format@^27.0.2, pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== + dependencies: + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + +pretty-format@^28.1.3: + version "28.1.3" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" + integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== + dependencies: + "@jest/schemas" "^28.1.3" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +probe.gl@^3.1.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/probe.gl/-/probe.gl-3.6.0.tgz#e816234412b27a70b9be029cb82c8cf96cd72659" + integrity sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g== + dependencies: + "@babel/runtime" "^7.0.0" + "@probe.gl/env" "3.6.0" + "@probe.gl/log" "3.6.0" + "@probe.gl/stats" "3.6.0" + +proc-log@^2.0.0, proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +promise-all-reject-late@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" + integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== + +promise-call-limit@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" + integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +promise@^8.1.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + +prompts@^2.0.1, prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== + dependencies: + read "1" + +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +psl@^1.1.33: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +pure-color@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" + integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qrcode-terminal@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" + integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== + +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc-align@^4.0.0: + version "4.0.15" + resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" + integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + dom-align "^1.7.0" + rc-util "^5.26.0" + resize-observer-polyfill "^1.5.1" + +rc-cascader@~3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.7.3.tgz#1e2ad238b283f7226ce4c9f3a420a35cb63fcc82" + integrity sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA== + dependencies: + "@babel/runtime" "^7.12.5" + array-tree-filter "^2.1.0" + classnames "^2.3.1" + rc-select "~14.1.0" + rc-tree "~5.7.0" + rc-util "^5.6.1" + +rc-checkbox@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz#f978771329be339d479cd81465eb2e2f8c82bc87" + integrity sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.3.2" + rc-util "^5.25.2" + +rc-collapse@~3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.4.2.tgz#1310be7ad4cd0dcfc622c45f6c3b5ffdee403ad7" + integrity sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.3.4" + rc-util "^5.2.1" + shallowequal "^1.1.0" + +rc-dialog@~9.0.0, rc-dialog@~9.0.2: + version "9.0.4" + resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.0.4.tgz#16c5a47aff0ee4e009f966e79926bef0451b6cda" + integrity sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.0.0-8" + classnames "^2.2.6" + rc-motion "^2.3.0" + rc-util "^5.21.0" + +rc-drawer@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.3.0.tgz#f8af5fafbab19b83722360dcf93e966d8a2875ad" + integrity sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig== + dependencies: + "@babel/runtime" "^7.10.1" + "@rc-component/portal" "^1.1.1" + classnames "^2.2.6" + rc-motion "^2.6.1" + rc-util "^5.21.2" + +rc-dropdown@^3.0.0-alpha.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.6.2.tgz#d23b8b2762941ac39e665673946f67ca9c39118f" + integrity sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-trigger "^5.0.4" + rc-util "^5.17.0" + +rc-dropdown@~4.0.0, rc-dropdown@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz#f65d9d3d89750241057db59d5a75e43cd4576b68" + integrity sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.6" + rc-trigger "^5.3.1" + rc-util "^5.17.0" + +rc-field-form@~1.38.2: + version "1.38.2" + resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.38.2.tgz#1eafac98eb84d47dc3b55de98ed50751d9852dd2" + integrity sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA== + dependencies: + "@babel/runtime" "^7.18.0" + async-validator "^4.1.0" + rc-util "^5.32.2" + +rc-image@~5.13.0: + version "5.13.0" + resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.13.0.tgz#1ed9b852a40b5eff34786ba7d2f0e9d26eeab874" + integrity sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg== + dependencies: + "@babel/runtime" "^7.11.2" + "@rc-component/portal" "^1.0.2" + classnames "^2.2.6" + rc-dialog "~9.0.0" + rc-motion "^2.6.2" + rc-util "^5.0.6" + +rc-input-number@~7.3.11: + version "7.3.11" + resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.3.11.tgz#c7089705a220e1a59ba974fabf89693e00dd2442" + integrity sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.23.0" + +rc-input@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-0.1.4.tgz#45cb4ba209ae6cc835a2acb8629d4f8f0cb347e0" + integrity sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.18.1" + +rc-mentions@~1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.13.1.tgz#c884b70e1505a197f1b32a7c6b39090db6992a72" + integrity sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-menu "~9.8.0" + rc-textarea "^0.4.0" + rc-trigger "^5.0.4" + rc-util "^5.22.5" + +rc-menu@~9.8.0, rc-menu@~9.8.4: + version "9.8.4" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.8.4.tgz#58bf19d471e3c74ff4bcfdb0f02a3826ebe2553b" + integrity sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.4.3" + rc-overflow "^1.2.8" + rc-trigger "^5.1.2" + rc-util "^5.27.0" + +rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: + version "2.9.3" + resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.3.tgz#b1bdaf816f1ccb3e4b3b0c531c3037a59286379e" + integrity sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-util "^5.43.0" + +rc-notification@~4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.6.1.tgz#068e8674f4bd7926a447eca512915d4b41b15c91" + integrity sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.2.0" + rc-util "^5.20.1" + +rc-overflow@^1.0.0, rc-overflow@^1.2.8: + version "1.3.2" + resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" + integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.37.0" + +rc-pagination@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.2.0.tgz#4f2fdba9fdac0f48e5c9fb1141973818138af7e1" + integrity sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + +rc-picker@~2.7.6: + version "2.7.6" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.7.6.tgz#03d855888d1878d8946bab77a3d24477fd3a0792" + integrity sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + date-fns "2.x" + dayjs "1.x" + moment "^2.24.0" + rc-trigger "^5.0.4" + rc-util "^5.37.0" + shallowequal "^1.1.0" + +rc-progress@~3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.4.2.tgz#f8df9ee95e790490171ab6b31bf07303cdc79980" + integrity sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.6" + rc-util "^5.16.1" + +rc-rate@~2.9.3: + version "2.9.3" + resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.9.3.tgz#b30a8043ffcb327bab053cd78508e07015d8a483" + integrity sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.0.1" + +rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" + integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== + dependencies: + "@babel/runtime" "^7.20.7" + classnames "^2.2.1" + rc-util "^5.38.0" + resize-observer-polyfill "^1.5.1" + +rc-segmented@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" + integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== + dependencies: + "@babel/runtime" "^7.11.1" + classnames "^2.2.1" + rc-motion "^2.4.4" + rc-util "^5.17.0" + +rc-select@~14.1.0, rc-select@~14.1.18: + version "14.1.18" + resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.1.18.tgz#f1d95233132cda9c1485963254255b83e97a37a9" + integrity sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-overflow "^1.0.0" + rc-trigger "^5.0.4" + rc-util "^5.16.1" + rc-virtual-list "^3.2.0" + +rc-slider@~10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.0.1.tgz#7058c68ff1e1aa4e7c3536e5e10128bdbccb87f9" + integrity sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-util "^5.18.1" + shallowequal "^1.1.0" + +rc-steps@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-5.0.0.tgz#2e2403f2dd69eb3966d65f461f7e3a8ee1ef69fe" + integrity sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw== + dependencies: + "@babel/runtime" "^7.16.7" + classnames "^2.2.3" + rc-util "^5.16.1" + +rc-switch@~3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8" + integrity sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-util "^5.0.1" + +rc-table@~7.26.0: + version "7.26.0" + resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.26.0.tgz#9d517e7fa512e7571fdcc453eb1bf19edfac6fbc" + integrity sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.5" + rc-resize-observer "^1.1.0" + rc-util "^5.22.5" + shallowequal "^1.1.0" + +rc-tabs@~12.5.10: + version "12.5.10" + resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.5.10.tgz#0e41c723fac66c4f0bcad3271429fff6653b0721" + integrity sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "2.x" + rc-dropdown "~4.0.0" + rc-menu "~9.8.0" + rc-motion "^2.6.2" + rc-resize-observer "^1.0.0" + rc-util "^5.16.0" + +rc-textarea@^0.4.0, rc-textarea@~0.4.7: + version "0.4.7" + resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.4.7.tgz#627f662d46f99e0059d1c1ebc8db40c65339fe90" + integrity sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "^2.2.1" + rc-resize-observer "^1.0.0" + rc-util "^5.24.4" + shallowequal "^1.1.0" + +rc-tooltip@~5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz#e5cafa8ecebf78108936a0bcb93c150fa81ac93b" + integrity sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg== + dependencies: + "@babel/runtime" "^7.11.2" + classnames "^2.3.1" + rc-trigger "^5.0.0" + +rc-tree-select@~5.5.5: + version "5.5.5" + resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz#d28b3b45da1e820cd21762ba0ee93c19429bb369" + integrity sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-select "~14.1.0" + rc-tree "~5.7.0" + rc-util "^5.16.1" + +rc-tree@~5.7.0, rc-tree@~5.7.12: + version "5.7.12" + resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" + integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== + dependencies: + "@babel/runtime" "^7.10.1" + classnames "2.x" + rc-motion "^2.0.1" + rc-util "^5.16.1" + rc-virtual-list "^3.5.1" + +rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.3.1, rc-trigger@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" + integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.6" + rc-align "^4.0.0" + rc-motion "^2.0.0" + rc-util "^5.19.2" + +rc-upload@~4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" + integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== + dependencies: + "@babel/runtime" "^7.18.3" + classnames "^2.2.5" + rc-util "^5.2.0" + +rc-util@^4.15.7: + version "4.21.1" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" + integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== + dependencies: + add-dom-event-listener "^1.1.0" + prop-types "^15.5.10" + react-is "^16.12.0" + react-lifecycles-compat "^3.0.4" + shallowequal "^1.1.0" + +rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.16.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.32.2, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.43.0, rc-util@^5.6.1, rc-util@^5.9.4: + version "5.43.0" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.43.0.tgz#bba91fbef2c3e30ea2c236893746f3e9b05ecc4c" + integrity sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw== + dependencies: + "@babel/runtime" "^7.18.3" + react-is "^18.2.0" + +rc-virtual-list@^3.2.0, rc-virtual-list@^3.5.1: + version "3.14.8" + resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.14.8.tgz#abf6e8809b7f5c955aa7f59c2a9d57443e9942fd" + integrity sha512-8D0KfzpRYi6YZvlOWIxiOm9BGt4Wf2hQyEaM6RXlDDiY2NhLheuYI+RA+7ZaZj1lq+XQqy3KHlaeeXQfzI5fGg== + dependencies: + "@babel/runtime" "^7.20.0" + classnames "^2.2.6" + rc-resize-observer "^1.0.0" + rc-util "^5.36.0" + +react-app-polyfill@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" + integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== + dependencies: + core-js "^3.19.2" + object-assign "^4.1.1" + promise "^8.1.0" + raf "^3.4.1" + regenerator-runtime "^0.13.9" + whatwg-fetch "^3.6.2" + +react-base16-styling@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" + integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== + dependencies: + base16 "^1.0.0" + lodash.curry "^4.0.1" + lodash.flow "^3.3.0" + pure-color "^1.2.0" + +react-color@2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.1.tgz#f114811c83f5d80a1bd1b80466c2f7ddcc58da9d" + integrity sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ== + dependencies: + "@icons/material" "^0.2.4" + lodash "^4.17.11" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + +react-color@^2.19.3: + version "2.19.3" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" + integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== + dependencies: + "@icons/material" "^0.2.4" + lodash "^4.17.15" + lodash-es "^4.17.15" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" + integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== + dependencies: + "@babel/code-frame" "^7.16.0" + address "^1.1.2" + browserslist "^4.18.1" + chalk "^4.1.2" + cross-spawn "^7.0.3" + detect-port-alt "^1.1.6" + escape-string-regexp "^4.0.0" + filesize "^8.0.6" + find-up "^5.0.0" + fork-ts-checker-webpack-plugin "^6.5.0" + global-modules "^2.0.0" + globby "^11.0.4" + gzip-size "^6.0.0" + immer "^9.0.7" + is-root "^2.1.0" + loader-utils "^3.2.0" + open "^8.4.0" + pkg-up "^3.1.0" + prompts "^2.4.2" + react-error-overlay "^6.0.11" + recursive-readdir "^2.2.2" + shell-quote "^1.7.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +react-dom@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.2" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-highlight-words@^0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.18.0.tgz#ff3b3ef7cb497fa2e8fa4d54c1a1a98ac6390d0e" + integrity sha512-5z+46eLPjB4JWgOhuQ0E+6iUPTD1U3amiy5KKjzZmeJ5zyvHr91hnzBT3UHya/KlySm5KRTKpYpba9vs67oO2A== + dependencies: + highlight-words-core "^1.2.0" + memoize-one "^4.0.0" + prop-types "^15.5.8" + +react-i18next@^11.7.3: + version "11.18.6" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.18.6.tgz#e159c2960c718c1314f1e8fcaa282d1c8b167887" + integrity sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA== + dependencies: + "@babel/runtime" "^7.14.5" + html-parse-stringify "^3.0.1" + +react-is@^16.12.0, react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^17.0.1: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== + +react-is@^18.0.0, react-is@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + +react-json-view@^1.21.3: + version "1.21.3" + resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" + integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== + dependencies: + flux "^4.0.1" + react-base16-styling "^0.6.0" + react-lifecycles-compat "^3.0.4" + react-textarea-autosize "^8.3.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-refresh@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" + integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== + +react-resize-detector@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-7.1.2.tgz#8ef975dd8c3d56f9a5160ac382ef7136dcd2d86c" + integrity sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw== + dependencies: + lodash "^4.17.21" + +react-router-dom@^6.3.0: + version "6.27.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.27.0.tgz#8d7972a425fd75f91c1e1ff67e47240c5752dc3f" + integrity sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g== + dependencies: + "@remix-run/router" "1.20.0" + react-router "6.27.0" + +react-router@6.27.0: + version "6.27.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.27.0.tgz#db292474926c814c996c0ff3ef0162d1f9f60ed4" + integrity sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw== + dependencies: + "@remix-run/router" "1.20.0" + +react-scripts@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" + integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== + dependencies: + "@babel/core" "^7.16.0" + "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" + "@svgr/webpack" "^5.5.0" + babel-jest "^27.4.2" + babel-loader "^8.2.3" + babel-plugin-named-asset-import "^0.3.8" + babel-preset-react-app "^10.0.1" + bfj "^7.0.2" + browserslist "^4.18.1" + camelcase "^6.2.1" + case-sensitive-paths-webpack-plugin "^2.4.0" + css-loader "^6.5.1" + css-minimizer-webpack-plugin "^3.2.0" + dotenv "^10.0.0" + dotenv-expand "^5.1.0" + eslint "^8.3.0" + eslint-config-react-app "^7.0.1" + eslint-webpack-plugin "^3.1.1" + file-loader "^6.2.0" + fs-extra "^10.0.0" + html-webpack-plugin "^5.5.0" + identity-obj-proxy "^3.0.0" + jest "^27.4.3" + jest-resolve "^27.4.2" + jest-watch-typeahead "^1.0.0" + mini-css-extract-plugin "^2.4.5" + postcss "^8.4.4" + postcss-flexbugs-fixes "^5.0.2" + postcss-loader "^6.2.1" + postcss-normalize "^10.0.1" + postcss-preset-env "^7.0.1" + prompts "^2.4.2" + react-app-polyfill "^3.0.0" + react-dev-utils "^12.0.1" + react-refresh "^0.11.0" + resolve "^1.20.0" + resolve-url-loader "^4.0.0" + sass-loader "^12.3.0" + semver "^7.3.5" + source-map-loader "^3.0.0" + style-loader "^3.3.1" + tailwindcss "^3.0.2" + terser-webpack-plugin "^5.2.5" + webpack "^5.64.4" + webpack-dev-server "^4.6.0" + webpack-manifest-plugin "^4.0.2" + workbox-webpack-plugin "^6.4.1" + optionalDependencies: + fsevents "^2.3.2" + +react-textarea-autosize@^8.3.2: + version "8.5.4" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.4.tgz#1c568ad838857b6ce86ee2a96e504179305e0bf4" + integrity sha512-eSSjVtRLcLfFwFcariT77t9hcbVJHQV76b51QjQGarQIHml2+gM2lms0n3XrhnDmgK5B+/Z7TmQk5OHNzqYm/A== + dependencies: + "@babel/runtime" "^7.20.13" + use-composed-ref "^1.3.0" + use-latest "^1.2.1" + +react@^18.2.0: + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== + dependencies: + loose-envify "^1.1.0" + +reactcss@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" + integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== + dependencies: + lodash "^4.0.1" + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +read-cmd-shim@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" + integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== + +read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" + integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== + dependencies: + json-parse-even-better-errors "^2.3.0" + npm-normalize-package-bin "^1.0.1" + +read-package-json@^5.0.0, read-package-json@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" + integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== + dependencies: + glob "^8.0.1" + json-parse-even-better-errors "^2.3.1" + normalize-package-data "^4.0.0" + npm-normalize-package-bin "^2.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +read@1, read@^1.0.7, read@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== + dependencies: + mute-stream "~0.0.4" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + 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" + +readable-stream@^3.0.6, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdir-scoped-modules@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" + integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.1" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.9: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-parser@^2.2.11: + version "2.3.0" + resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" + integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== + +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.2" + +regexpu-core@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" + integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.11.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149" + integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ== + dependencies: + jsesc "~3.0.2" + +regl@^1.3.11: + version "1.7.0" + resolved "https://registry.yarnpkg.com/regl/-/regl-1.7.0.tgz#0d185431044a356bf80e9b775b11b935ef2746d3" + integrity sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w== + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" + integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== + dependencies: + adjust-sourcemap-loader "^4.0.0" + convert-source-map "^1.7.0" + loader-utils "^2.0.0" + postcss "^7.0.35" + source-map "0.6.1" + +resolve.exports@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" + integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== + +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.5: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup-plugin-terser@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.43.1: + version "2.79.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090" + integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sanitize.css@*: + version "13.0.0" + resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" + integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== + +sass-graph@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-4.0.1.tgz#2ff8ca477224d694055bf4093f414cf6cfad1d2e" + integrity sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA== + dependencies: + glob "^7.0.0" + lodash "^4.17.11" + scss-tokenizer "^0.4.3" + yargs "^17.2.1" + +sass-loader@^12.3.0: + version "12.6.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" + integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== + dependencies: + klona "^2.0.4" + neo-async "^2.6.2" + +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +saxes@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" + +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0, schema-utils@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +screenfull@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-6.0.2.tgz#3dbe4b8c4f8f49fb8e33caa8f69d0bca730ab238" + integrity sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw== + +scroll-into-view-if-needed@^2.2.25: + version "2.2.31" + resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587" + integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA== + dependencies: + compute-scroll-into-view "^1.0.20" + +scss-tokenizer@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz#1058400ee7d814d71049c29923d2b25e61dc026c" + integrity sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw== + dependencies: + js-base64 "^2.4.9" + source-map "^0.7.3" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + 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" + +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== + dependencies: + encodeurl "~2.0.0" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.19.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1, set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3, shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4, side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks-proxy-agent@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" + integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" + integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +source-list-map@^2.0.0, source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.1, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== + +source-map-loader@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" + integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== + dependencies: + abab "^2.0.5" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" + +source-map-support@^0.5.6, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" + integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.20" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + 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" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +ssri@^9.0.0, ssri@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +static-eval@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" + integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== + dependencies: + escodegen "^1.8.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== + dependencies: + readable-stream "^2.0.1" + +stop-iteration-iterator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" + integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + dependencies: + internal-slot "^1.0.4" + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" + integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-length@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" + integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== + dependencies: + char-regex "^2.0.0" + strip-ansi "^7.0.1" + +string-natural-compare@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" + integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.includes@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" + +string.prototype.matchall@^4.0.11, string.prototype.matchall@^4.0.6: + version "4.0.11" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" + integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.7" + regexp.prototype.flags "^1.5.2" + set-function-name "^2.0.2" + side-channel "^1.0.6" + +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" + integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@^3.3.1: + version "3.3.4" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" + integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== + +style-mod@^4.0.0, style-mod@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67" + integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +sucrase@^3.32.0: + version "3.35.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" + integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "^10.3.10" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + 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" + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +tailwindcss@^3.0.2: + version "3.4.14" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.14.tgz#6dd23a7f54ec197b19159e91e3bb1e55e7aa73ac" + integrity sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +tempy@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" + integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== + dependencies: + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: + version "5.36.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" + integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0, text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +three-forcegraph@1: + version "1.41.15" + resolved "https://registry.yarnpkg.com/three-forcegraph/-/three-forcegraph-1.41.15.tgz#49ffdbebbb1b8cbf6e905a2dc15c2dcf9556b70d" + integrity sha512-E1j6bKt7lWg9t/ERdEiuxYfPbAioTCd9RG2bgqyC0yM3rwkBqn5VZN3fvb7umaOuTB1Tqpq6m07iVfJSfzTnCQ== + dependencies: + accessor-fn "1" + d3-array "1 - 3" + d3-force-3d "2 - 3" + d3-scale "1 - 4" + d3-scale-chromatic "1 - 3" + data-joint "1" + kapsule "1" + ngraph.forcelayout "3" + ngraph.graph "20" + tinycolor2 "1" + +three-render-objects@^1.29: + version "1.30.0" + resolved "https://registry.yarnpkg.com/three-render-objects/-/three-render-objects-1.30.0.tgz#66e9e50b035fee22550767a6b5ead3437f3205fc" + integrity sha512-46sckKM9VdsDuCe0u1W7BNME5RinDujuwLc2ANviw60f3uCc5pSlAb2fXGZwPz+vb7aq5AAZvHm94bTCkBk+pQ== + dependencies: + "@tweenjs/tween.js" "18 - 25" + accessor-fn "1" + kapsule "1" + polished "4" + +"three@>=0.118 <1": + version "0.169.0" + resolved "https://registry.yarnpkg.com/three/-/three-0.169.0.tgz#4a62114988ad9728d73526d1f1de6760c56b4adc" + integrity sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w== + +throat@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" + integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== + +throttle-debounce@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1" + integrity sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-relative-date@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" + integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== + +tinycolor2@1, tinycolor2@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toggle-selection@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" + integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tough-cookie@^4.0.0: + version "4.1.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" + integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== + dependencies: + psl "^1.1.33" + punycode "^2.1.1" + universalify "^0.2.0" + url-parse "^1.5.3" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== + dependencies: + punycode "^2.1.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +treeverse@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" + integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== + +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + +"true-case-path@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" + integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" + integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.6.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@^4.7.4: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +ua-parser-js@^0.7.20: + version "0.7.39" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.39.tgz#c71efb46ebeabc461c4612d22d54f88880fabe7e" + integrity sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w== + +ua-parser-js@^1.0.35: + version "1.0.39" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz#bfc07f361549bf249bd8f4589a4cccec18fd2018" + integrity sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +underscore@1.12.1: + version "1.12.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" + integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-filename@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" + integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== + dependencies: + unique-slug "^3.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-slug@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" + integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + +universalify@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + +upath@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse@^1.5.3: + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +use-composed-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" + integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-latest@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" + integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + dependencies: + use-isomorphic-layout-effect "^1.1.1" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utility-types@^3.10.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" + integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-to-istanbul@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" + integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" + integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== + dependencies: + builtins "^5.0.0" + +validator@^13.7.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" + integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vis-network@^9.1.2: + version "9.1.9" + resolved "https://registry.yarnpkg.com/vis-network/-/vis-network-9.1.9.tgz#8159b34e7c1570150fcc9296213d2b88ed169394" + integrity sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA== + +void-elements@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" + integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== + +w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-keyname@^2.2.4: + version "2.2.8" + resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" + integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== + +w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + +walk-up-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" + integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== + +walker@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" + +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +web-vitals@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" + integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + +webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + +webpack-dev-middleware@^5.3.4: + version "5.3.4" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" + integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.6.0: + version "4.15.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" + integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.4" + ws "^8.13.0" + +webpack-manifest-plugin@^4.0.2: + version "4.1.1" + resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" + integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== + dependencies: + tapable "^2.0.0" + webpack-sources "^2.2.0" + +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" + integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.64.4: + version "5.95.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" + integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== + dependencies: + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-attributes "^1.9.5" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.6.2: + version "3.6.20" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" + integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== + +whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== + dependencies: + lodash "^4.7.0" + tr46 "^2.1.0" + webidl-conversions "^6.1.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + 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-builtin-type@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" + integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== + dependencies: + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.2" + which-typed-array "^1.1.15" + +which-collection@^1.0.1, which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +word-wrap@^1.2.5, word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +workbox-background-sync@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz#08d603a33717ce663e718c30cc336f74909aff2f" + integrity sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg== + dependencies: + idb "^7.0.1" + workbox-core "6.6.1" + +workbox-broadcast-update@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz#0fad9454cf8e4ace0c293e5617c64c75d8a8c61e" + integrity sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ== + dependencies: + workbox-core "6.6.1" + +workbox-build@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.6.1.tgz#6010e9ce550910156761448f2dbea8cfcf759cb0" + integrity sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw== + dependencies: + "@apideck/better-ajv-errors" "^0.3.1" + "@babel/core" "^7.11.1" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.2" + "@rollup/plugin-babel" "^5.2.0" + "@rollup/plugin-node-resolve" "^11.2.1" + "@rollup/plugin-replace" "^2.4.1" + "@surma/rollup-plugin-off-main-thread" "^2.2.3" + ajv "^8.6.0" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^9.0.1" + glob "^7.1.6" + lodash "^4.17.20" + pretty-bytes "^5.3.0" + rollup "^2.43.1" + rollup-plugin-terser "^7.0.0" + source-map "^0.8.0-beta.0" + stringify-object "^3.3.0" + strip-comments "^2.0.1" + tempy "^0.6.0" + upath "^1.2.0" + workbox-background-sync "6.6.1" + workbox-broadcast-update "6.6.1" + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-google-analytics "6.6.1" + workbox-navigation-preload "6.6.1" + workbox-precaching "6.6.1" + workbox-range-requests "6.6.1" + workbox-recipes "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + workbox-streams "6.6.1" + workbox-sw "6.6.1" + workbox-window "6.6.1" + +workbox-cacheable-response@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz#284c2b86be3f4fd191970ace8c8e99797bcf58e9" + integrity sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag== + dependencies: + workbox-core "6.6.1" + +workbox-core@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.6.1.tgz#7184776d4134c5ed2f086878c882728fc9084265" + integrity sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw== + +workbox-expiration@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.6.1.tgz#a841fa36676104426dbfb9da1ef6a630b4f93739" + integrity sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A== + dependencies: + idb "^7.0.1" + workbox-core "6.6.1" + +workbox-google-analytics@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz#a07a6655ab33d89d1b0b0a935ffa5dea88618c5d" + integrity sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA== + dependencies: + workbox-background-sync "6.6.1" + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-navigation-preload@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz#61a34fe125558dd88cf09237f11bd966504ea059" + integrity sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA== + dependencies: + workbox-core "6.6.1" + +workbox-precaching@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.6.1.tgz#dedeeba10a2d163d990bf99f1c2066ac0d1a19e2" + integrity sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A== + dependencies: + workbox-core "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-range-requests@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz#ddaf7e73af11d362fbb2f136a9063a4c7f507a39" + integrity sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g== + dependencies: + workbox-core "6.6.1" + +workbox-recipes@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.6.1.tgz#ea70d2b2b0b0bce8de0a9d94f274d4a688e69fae" + integrity sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g== + dependencies: + workbox-cacheable-response "6.6.1" + workbox-core "6.6.1" + workbox-expiration "6.6.1" + workbox-precaching "6.6.1" + workbox-routing "6.6.1" + workbox-strategies "6.6.1" + +workbox-routing@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.6.1.tgz#cba9a1c7e0d1ea11e24b6f8c518840efdc94f581" + integrity sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg== + dependencies: + workbox-core "6.6.1" + +workbox-strategies@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.6.1.tgz#38d0f0fbdddba97bd92e0c6418d0b1a2ccd5b8bf" + integrity sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw== + dependencies: + workbox-core "6.6.1" + +workbox-streams@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.6.1.tgz#b2f7ba7b315c27a6e3a96a476593f99c5d227d26" + integrity sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q== + dependencies: + workbox-core "6.6.1" + workbox-routing "6.6.1" + +workbox-sw@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.6.1.tgz#d4c4ca3125088e8b9fd7a748ed537fa0247bd72c" + integrity sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ== + +workbox-webpack-plugin@^6.4.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz#4f81cc1ad4e5d2cd7477a86ba83c84ee2d187531" + integrity sha512-zpZ+ExFj9NmiI66cFEApyjk7hGsfJ1YMOaLXGXBoZf0v7Iu6hL0ZBe+83mnDq3YYWAfA3fnyFejritjOHkFcrA== + dependencies: + fast-json-stable-stringify "^2.1.0" + pretty-bytes "^5.4.1" + upath "^1.2.0" + webpack-sources "^1.4.3" + workbox-build "6.6.1" + +workbox-window@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.6.1.tgz#f22a394cbac36240d0dadcbdebc35f711bb7b89e" + integrity sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ== + dependencies: + "@types/trusted-types" "^2.0.2" + workbox-core "6.6.1" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +ws@^7.4.6: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + +ws@^8.13.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.3.4: + version "2.6.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.0.tgz#14059ad9d0b1680d0f04d3a60fe00f3a857303c3" + integrity sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ== + +yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^17.2.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zrender@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.6.0.tgz#01325b0bb38332dd5e87a8dbee7336cafc0f4a5b" + integrity sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg== + dependencies: + tslib "2.3.0" From 450fb2afb51c9d0d1d8d73d4f903d865397becc5 Mon Sep 17 00:00:00 2001 From: FrostyHec <112929809+FrostyHec@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:40:54 +0800 Subject: [PATCH 23/23] fix dependency --- hugegraph-hubble/hubble-fe/package-lock.json | 23679 ++++++++++++++--- hugegraph-hubble/hubble-fe/yarn.lock | 13377 ---------- 2 files changed, 20677 insertions(+), 16379 deletions(-) delete mode 100644 hugegraph-hubble/hubble-fe/yarn.lock diff --git a/hugegraph-hubble/hubble-fe/package-lock.json b/hugegraph-hubble/hubble-fe/package-lock.json index 44239bac5..0f176f7d7 100644 --- a/hugegraph-hubble/hubble-fe/package-lock.json +++ b/hugegraph-hubble/hubble-fe/package-lock.json @@ -1,7 +1,7 @@ { "name": "hubble", "version": "0.1.0", - "lockfileVersion": 3, + "lockfileVersion": 2, "requires": true, "packages": { "": { @@ -61,13 +61,13 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==" + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "engines": { "node": ">=10" @@ -78,7 +78,7 @@ }, "node_modules/@ampproject/remapping": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -90,7 +90,7 @@ }, "node_modules/@ant-design/colors": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz", "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", "dependencies": { "@ctrl/tinycolor": "^3.4.0" @@ -98,7 +98,7 @@ }, "node_modules/@ant-design/icons": { "version": "4.8.3", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-4.8.3.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.3.tgz", "integrity": "sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==", "dependencies": { "@ant-design/colors": "^6.0.0", @@ -118,12 +118,12 @@ }, "node_modules/@ant-design/icons-svg": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" }, "node_modules/@ant-design/react-slick": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz", "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", "dependencies": { "@babel/runtime": "^7.10.4", @@ -138,7 +138,7 @@ }, "node_modules/@antv/algorithm": { "version": "0.1.26", - "resolved": "https://registry.npmjs.org/@antv/algorithm/-/algorithm-0.1.26.tgz", + "resolved": "https://registry.npmmirror.com/@antv/algorithm/-/algorithm-0.1.26.tgz", "integrity": "sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==", "dependencies": { "@antv/util": "^2.0.13", @@ -147,7 +147,7 @@ }, "node_modules/@antv/dom-util": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@antv/dom-util/-/dom-util-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/@antv/dom-util/-/dom-util-2.0.4.tgz", "integrity": "sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ==", "dependencies": { "tslib": "^2.0.3" @@ -155,12 +155,12 @@ }, "node_modules/@antv/event-emitter": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz", "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==" }, "node_modules/@antv/g-base": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/@antv/g-base/-/g-base-0.5.16.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-base/-/g-base-0.5.16.tgz", "integrity": "sha512-jP06wggTubDPHXoKwFg3/f1lyxBX9ywwN3E/HG74Nd7DXqOXQis8tsIWW+O6dS/h9vyuXLd1/wDWkMMm3ZzXdg==", "dependencies": { "@antv/event-emitter": "^0.1.1", @@ -178,7 +178,7 @@ }, "node_modules/@antv/g-canvas": { "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-0.5.17.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-canvas/-/g-canvas-0.5.17.tgz", "integrity": "sha512-sXYJMWTOlb/Ycb6sTKu00LcJqInXJY4t99+kSM40u2OfqrXYmaXDjHR7D2V0roMkbK/QWiWS9UnEidCR1VtMOA==", "dependencies": { "@antv/g-base": "^0.5.12", @@ -192,7 +192,7 @@ }, "node_modules/@antv/g-math": { "version": "0.1.9", - "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-0.1.9.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-math/-/g-math-0.1.9.tgz", "integrity": "sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ==", "dependencies": { "@antv/util": "~2.0.0", @@ -201,7 +201,7 @@ }, "node_modules/@antv/g-svg": { "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@antv/g-svg/-/g-svg-0.5.7.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-svg/-/g-svg-0.5.7.tgz", "integrity": "sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw==", "dependencies": { "@antv/g-base": "^0.5.12", @@ -213,7 +213,7 @@ }, "node_modules/@antv/g-webgpu": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz", "integrity": "sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ==", "dependencies": { "@antv/g-webgpu-core": "^0.7.2", @@ -225,7 +225,7 @@ }, "node_modules/@antv/g-webgpu-core": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz", "integrity": "sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w==", "dependencies": { "eventemitter3": "^4.0.0", @@ -236,7 +236,7 @@ }, "node_modules/@antv/g-webgpu-engine": { "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz", "integrity": "sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg==", "dependencies": { "@antv/g-webgpu-core": "^0.7.2", @@ -247,7 +247,7 @@ }, "node_modules/@antv/g6": { "version": "4.8.24", - "resolved": "https://registry.npmjs.org/@antv/g6/-/g6-4.8.24.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g6/-/g6-4.8.24.tgz", "integrity": "sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ==", "dependencies": { "@antv/g6-pc": "0.8.24" @@ -255,7 +255,7 @@ }, "node_modules/@antv/g6-core": { "version": "0.8.24", - "resolved": "https://registry.npmjs.org/@antv/g6-core/-/g6-core-0.8.24.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g6-core/-/g6-core-0.8.24.tgz", "integrity": "sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A==", "dependencies": { "@antv/algorithm": "^0.1.26", @@ -272,7 +272,7 @@ }, "node_modules/@antv/g6-element": { "version": "0.8.24", - "resolved": "https://registry.npmjs.org/@antv/g6-element/-/g6-element-0.8.24.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g6-element/-/g6-element-0.8.24.tgz", "integrity": "sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw==", "dependencies": { "@antv/g-base": "^0.5.1", @@ -286,7 +286,7 @@ }, "node_modules/@antv/g6-pc": { "version": "0.8.24", - "resolved": "https://registry.npmjs.org/@antv/g6-pc/-/g6-pc-0.8.24.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g6-pc/-/g6-pc-0.8.24.tgz", "integrity": "sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ==", "dependencies": { "@ant-design/colors": "^4.0.5", @@ -315,7 +315,7 @@ }, "node_modules/@antv/g6-pc/node_modules/@ant-design/colors": { "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-4.0.5.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-4.0.5.tgz", "integrity": "sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q==", "dependencies": { "tinycolor2": "^1.4.1" @@ -323,7 +323,7 @@ }, "node_modules/@antv/g6-plugin": { "version": "0.8.24", - "resolved": "https://registry.npmjs.org/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz", + "resolved": "https://registry.npmmirror.com/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz", "integrity": "sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g==", "dependencies": { "@antv/dom-util": "^2.0.2", @@ -344,7 +344,7 @@ }, "node_modules/@antv/graphin": { "version": "2.7.27", - "resolved": "https://registry.npmjs.org/@antv/graphin/-/graphin-2.7.27.tgz", + "resolved": "https://registry.npmmirror.com/@antv/graphin/-/graphin-2.7.27.tgz", "integrity": "sha512-cqsLl3xpZ5mPgTq5UufcqJDlxzKZSLk9/JWXmoQYpvDC4cpzDjBZeVlaDfhT8iToB5aR15CEIu6j+XsQDMqUsA==", "dependencies": { "@antv/g6": "^4.8.19", @@ -359,7 +359,7 @@ }, "node_modules/@antv/graphin-components": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@antv/graphin-components/-/graphin-components-2.4.1.tgz", + "resolved": "https://registry.npmmirror.com/@antv/graphin-components/-/graphin-components-2.4.1.tgz", "integrity": "sha512-Vaxhg1Jbv76j0SwrDLS5/VoHEx2mJW9CEbNdJ7HuWCaz24imvOymV4FpKSJND2PUq7BgIrzo48NaF3bpfiWZZA==", "dependencies": { "@antv/graphin": "^2.7.18" @@ -371,22 +371,22 @@ }, "node_modules/@antv/graphin-icons": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz", "integrity": "sha512-2nogK6ZrDklnfIOJrqOAgD7iFLjfZIjLbA8pDUbeXN5c9b0Mu84oCfyqg8OmWwvi9Gt80eUzoplo73gKjZECJg==" }, "node_modules/@antv/graphlib": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@antv/graphlib/-/graphlib-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@antv/graphlib/-/graphlib-1.2.0.tgz", "integrity": "sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==" }, "node_modules/@antv/hierarchy": { - "version": "0.6.12", - "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.12.tgz", - "integrity": "sha512-WvWT9WYtm2SvYunm1HtzrHazvOozeP4cPFDhJWsnLzmTGMX/tNhsoCD3O+DDB3aeDY8fyM+wfZDvLv7+/4lIeA==" + "version": "0.6.14", + "resolved": "https://registry.npmmirror.com/@antv/hierarchy/-/hierarchy-0.6.14.tgz", + "integrity": "sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ==" }, "node_modules/@antv/layout": { "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@antv/layout/-/layout-0.3.25.tgz", + "resolved": "https://registry.npmmirror.com/@antv/layout/-/layout-0.3.25.tgz", "integrity": "sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g==", "dependencies": { "@antv/g-webgpu": "0.7.2", @@ -399,9 +399,9 @@ } }, "node_modules/@antv/layout/node_modules/@antv/util": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.7.tgz", - "integrity": "sha512-qqPg7rIPCsJyl7N56jAC25v/99mJ3ApVkgBsGijhiWrEeKvzXBPk1r5P77Pm9nCljpnn+hH8Z3t5AivbEoTJMg==", + "version": "3.3.10", + "resolved": "https://registry.npmmirror.com/@antv/util/-/util-3.3.10.tgz", + "integrity": "sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ==", "dependencies": { "fast-deep-equal": "^3.1.3", "gl-matrix": "^3.3.0", @@ -410,12 +410,12 @@ }, "node_modules/@antv/layout/node_modules/d3-quadtree": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz", "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" }, "node_modules/@antv/layout/node_modules/ml-matrix": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.5.0.tgz", + "resolved": "https://registry.npmmirror.com/ml-matrix/-/ml-matrix-6.5.0.tgz", "integrity": "sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg==", "dependencies": { "ml-array-rescale": "^1.3.1" @@ -423,7 +423,7 @@ }, "node_modules/@antv/matrix-util": { "version": "3.1.0-beta.3", - "resolved": "https://registry.npmjs.org/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz", "integrity": "sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A==", "dependencies": { "@antv/util": "^2.0.9", @@ -433,7 +433,7 @@ }, "node_modules/@antv/path-util": { "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-2.0.15.tgz", + "resolved": "https://registry.npmmirror.com/@antv/path-util/-/path-util-2.0.15.tgz", "integrity": "sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw==", "dependencies": { "@antv/matrix-util": "^3.0.4", @@ -443,7 +443,7 @@ }, "node_modules/@antv/path-util/node_modules/@antv/matrix-util": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@antv/matrix-util/-/matrix-util-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz", "integrity": "sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ==", "dependencies": { "@antv/util": "^2.0.9", @@ -453,7 +453,7 @@ }, "node_modules/@antv/scale": { "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.3.18.tgz", + "resolved": "https://registry.npmmirror.com/@antv/scale/-/scale-0.3.18.tgz", "integrity": "sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w==", "dependencies": { "@antv/util": "~2.0.3", @@ -463,7 +463,7 @@ }, "node_modules/@antv/util": { "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "resolved": "https://registry.npmmirror.com/@antv/util/-/util-2.0.17.tgz", "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", "dependencies": { "csstype": "^3.0.8", @@ -472,7 +472,7 @@ }, "node_modules/@antv/x6": { "version": "1.35.1", - "resolved": "https://registry.npmjs.org/@antv/x6/-/x6-1.35.1.tgz", + "resolved": "https://registry.npmmirror.com/@antv/x6/-/x6-1.35.1.tgz", "integrity": "sha512-XLFSGbcT/MOI883YKql9J/CqHUCPZxgwfel+sNN1eQbHA+JXYsGt0t9+IJ1qieaYAlxjgio5up+S9I0n+8QL/A==", "dependencies": { "csstype": "^3.0.3", @@ -485,7 +485,7 @@ }, "node_modules/@antv/x6-react-components": { "version": "1.1.20", - "resolved": "https://registry.npmjs.org/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz", + "resolved": "https://registry.npmmirror.com/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz", "integrity": "sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q==", "dependencies": { "clamp": "^1.0.1", @@ -504,7 +504,7 @@ }, "node_modules/@antv/x6-react-components/node_modules/rc-util": { "version": "4.21.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-4.21.1.tgz", "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", "dependencies": { "add-dom-event-listener": "^1.1.0", @@ -516,7 +516,7 @@ }, "node_modules/@antv/x6-react-components/node_modules/react-color": { "version": "2.17.1", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.17.1.tgz", + "resolved": "https://registry.npmmirror.com/react-color/-/react-color-2.17.1.tgz", "integrity": "sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ==", "dependencies": { "@icons/material": "^0.2.4", @@ -529,12 +529,12 @@ }, "node_modules/@antv/x6-react-components/node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/@antv/x6-react-shape": { "version": "1.6.6", - "resolved": "https://registry.npmjs.org/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz", + "resolved": "https://registry.npmmirror.com/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz", "integrity": "sha512-+SIvQWeGhfH9miKDQvJT497iVDs/CcMwcgbNKbPV6qTUaSUeXjz/bZy8knbQ5t9XtkVYeQXZP7swiKK2xMI0UQ==", "peerDependencies": { "@antv/x6": "^1.x", @@ -544,7 +544,7 @@ }, "node_modules/@apideck/better-ajv-errors": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "resolved": "https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", "dependencies": { "json-schema": "^0.4.0", @@ -559,11 +559,12 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -571,28 +572,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -609,16 +610,16 @@ }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/eslint-parser": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz", - "integrity": "sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", + "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -634,7 +635,7 @@ }, "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "engines": { "node": ">=10" @@ -642,16 +643,16 @@ }, "node_modules/@babel/eslint-parser/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/eslint-plugin": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.25.1.tgz", - "integrity": "sha512-jF04YOsrCbEeQk4s+FwsuRddwBiAHooMDG9/nrV83HiYQwEuQppbXTeXyydxCoH5oEWmVBI51wHuZrcIXMkPfw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/eslint-plugin/-/eslint-plugin-7.25.9.tgz", + "integrity": "sha512-MWg1lz+JiP9l1fXkE0qCUVo+1XwgNRPs6GTc88hmw6qN3AdgmfTSkyHt0e1xOTsKdXW5xlh2Lsk3wrFZbW5rzQ==", "dependencies": { "eslint-rule-composer": "^0.3.0" }, @@ -664,50 +665,51 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dependencies": { - "@babel/types": "^7.25.0", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", - "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -717,7 +719,7 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { "yallist": "^3.0.2" @@ -725,7 +727,7 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -733,20 +735,20 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -758,19 +760,19 @@ }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", - "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, "engines": { @@ -782,16 +784,16 @@ }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", - "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -805,7 +807,7 @@ }, "node_modules/@babel/helper-define-polyfill-provider/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -820,38 +822,37 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -861,32 +862,32 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", - "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", - "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-wrap-function": "^7.25.0", - "@babel/traverse": "^7.25.0" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -896,13 +897,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", - "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -912,162 +913,84 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", - "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", - "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", "dependencies": { - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz", - "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==", - "dependencies": { - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.26.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1077,12 +1000,12 @@ } }, "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", - "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1092,11 +1015,11 @@ } }, "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", - "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1106,11 +1029,11 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", - "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "version": "7.25.9", + "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.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1120,13 +1043,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", - "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1136,12 +1059,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", - "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1152,7 +1075,7 @@ }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "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==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", "dependencies": { @@ -1167,13 +1090,13 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", - "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-decorators": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1184,7 +1107,7 @@ }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "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==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", "dependencies": { @@ -1200,7 +1123,7 @@ }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", "dependencies": { @@ -1216,7 +1139,7 @@ }, "node_modules/@babel/plugin-proposal-optional-chaining": { "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", "dependencies": { @@ -1233,7 +1156,7 @@ }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", "dependencies": { @@ -1249,7 +1172,7 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "engines": { "node": ">=6.9.0" @@ -1260,7 +1183,7 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1271,7 +1194,7 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1282,7 +1205,7 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" @@ -1293,7 +1216,7 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1306,11 +1229,11 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", - "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1319,34 +1242,12 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", - "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1356,11 +1257,11 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", - "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1370,11 +1271,11 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1385,7 +1286,7 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1396,7 +1297,7 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1406,11 +1307,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1421,7 +1322,7 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1432,7 +1333,7 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1443,7 +1344,7 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" @@ -1454,7 +1355,7 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1465,7 +1366,7 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1476,7 +1377,7 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" @@ -1487,7 +1388,7 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1501,7 +1402,7 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "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==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" @@ -1514,11 +1415,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1529,7 +1430,7 @@ }, "node_modules/@babel/plugin-syntax-unicode-sets-regex": { "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -1543,11 +1444,11 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", - "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1557,14 +1458,13 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-remap-async-to-generator": "^7.25.0", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1574,13 +1474,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", - "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1590,11 +1490,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", - "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1604,11 +1504,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", - "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1618,12 +1518,12 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1633,13 +1533,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", - "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1649,15 +1548,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -1669,19 +1568,19 @@ }, "node_modules/@babel/plugin-transform-classes/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { "node": ">=4" } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", - "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1691,11 +1590,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", - "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1705,12 +1604,12 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", - "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1720,11 +1619,11 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", - "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1734,12 +1633,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", - "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1749,12 +1648,11 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", - "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1764,12 +1662,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", - "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1779,12 +1677,11 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", - "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1794,12 +1691,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.2.tgz", - "integrity": "sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-flow": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1809,12 +1706,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", - "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1824,13 +1721,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", - "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/traverse": "^7.25.1" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1840,12 +1737,11 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", - "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1855,11 +1751,11 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", - "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1869,12 +1765,11 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", - "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1884,11 +1779,11 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", - "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1898,12 +1793,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", - "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1913,13 +1808,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", - "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1929,14 +1824,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", - "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", "dependencies": { - "@babel/helper-module-transforms": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.0" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1946,12 +1841,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", - "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1961,12 +1856,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", - "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1976,11 +1871,11 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", - "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1990,12 +1885,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", - "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2005,12 +1899,11 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", - "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2020,14 +1913,13 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", - "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2037,12 +1929,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", - "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2052,12 +1944,11 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", - "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2067,13 +1958,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", - "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2083,11 +1973,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", - "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2097,12 +1987,12 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2112,14 +2002,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", - "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2129,11 +2018,11 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", - "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2143,11 +2032,11 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", - "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2157,11 +2046,11 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", - "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2171,15 +2060,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz", - "integrity": "sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.25.2" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2189,11 +2078,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", - "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.24.7" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2203,12 +2092,12 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", - "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2218,11 +2107,11 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", - "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -2232,12 +2121,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", - "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2247,14 +2151,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -2267,18 +2171,18 @@ }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", - "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2288,12 +2192,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", - "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2303,11 +2207,11 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", - "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2317,11 +2221,11 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", - "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2331,11 +2235,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", - "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2345,15 +2249,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.2.tgz", - "integrity": "sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.25.0", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-syntax-typescript": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2363,11 +2267,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", - "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2377,12 +2281,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", - "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2392,12 +2296,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", - "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2407,12 +2311,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2422,92 +2326,78 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", - "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", - "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", - "@babel/plugin-transform-async-to-generator": "^7.24.7", - "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", - "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", - "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", - "@babel/plugin-transform-dotall-regex": "^7.24.7", - "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", - "@babel/plugin-transform-dynamic-import": "^7.24.7", - "@babel/plugin-transform-exponentiation-operator": "^7.24.7", - "@babel/plugin-transform-export-namespace-from": "^7.24.7", - "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.25.1", - "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.25.2", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", - "@babel/plugin-transform-member-expression-literals": "^7.24.7", - "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.25.0", - "@babel/plugin-transform-modules-umd": "^7.24.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", - "@babel/plugin-transform-new-target": "^7.24.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", - "@babel/plugin-transform-numeric-separator": "^7.24.7", - "@babel/plugin-transform-object-rest-spread": "^7.24.7", - "@babel/plugin-transform-object-super": "^7.24.7", - "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", - "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-property-literals": "^7.24.7", - "@babel/plugin-transform-regenerator": "^7.24.7", - "@babel/plugin-transform-reserved-words": "^7.24.7", - "@babel/plugin-transform-shorthand-properties": "^7.24.7", - "@babel/plugin-transform-spread": "^7.24.7", - "@babel/plugin-transform-sticky-regex": "^7.24.7", - "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", - "@babel/plugin-transform-unicode-escapes": "^7.24.7", - "@babel/plugin-transform-unicode-property-regex": "^7.24.7", - "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", + "core-js-compat": "^3.38.1", "semver": "^6.3.1" }, "engines": { @@ -2519,7 +2409,7 @@ }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -2527,7 +2417,7 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -2539,16 +2429,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", - "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-transform-react-display-name": "^7.24.7", - "@babel/plugin-transform-react-jsx": "^7.24.7", - "@babel/plugin-transform-react-jsx-development": "^7.24.7", - "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2558,15 +2448,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", - "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", - "@babel/plugin-transform-typescript": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2575,15 +2465,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2592,28 +2477,28 @@ } }, "node_modules/@babel/template": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", - "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.25.0", - "@babel/types": "^7.25.0" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2623,20 +2508,19 @@ }, "node_modules/@babel/traverse/node_modules/globals": { "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { "node": ">=4" } }, "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2644,13 +2528,13 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, "node_modules/@codemirror/autocomplete": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.0.tgz", - "integrity": "sha512-5DbOvBbY4qW5l57cjDsmmpDh3/TeK1vXfTHa+BUMrRzdWdcxKZ4U4V7vQaTtOpApNU4kLS4FQ6cINtLg245LXA==", + "version": "6.18.3", + "resolved": "https://registry.npmmirror.com/@codemirror/autocomplete/-/autocomplete-6.18.3.tgz", + "integrity": "sha512-1dNIOmiM0z4BIBwxmxEfA1yoxh1MF/6KPBbh20a5vphGV0ictKlgQsbJs6D6SkR6iJpGbpwRsa6PFMNlg9T9pQ==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.0.0", @@ -2665,9 +2549,9 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz", - "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==", + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@codemirror/commands/-/commands-6.7.1.tgz", + "integrity": "sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==", "dependencies": { "@codemirror/language": "^6.0.0", "@codemirror/state": "^6.4.0", @@ -2676,9 +2560,9 @@ } }, "node_modules/@codemirror/language": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz", - "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==", + "version": "6.10.4", + "resolved": "https://registry.npmmirror.com/@codemirror/language/-/language-6.10.4.tgz", + "integrity": "sha512-qjt7Wn/nxGuI278GYVlqE5V93Xn8ZQwzqZtgS0FaWr7K2yWgd5/FlBNqNi4jtUvBVvWJzAGfnggIlpyjTOaF4A==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.23.0", @@ -2689,19 +2573,19 @@ } }, "node_modules/@codemirror/lint": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz", - "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==", + "version": "6.8.3", + "resolved": "https://registry.npmmirror.com/@codemirror/lint/-/lint-6.8.3.tgz", + "integrity": "sha512-GSGfKxCo867P7EX1k2LoCrjuQFeqVgPGRRsSl4J4c0KMkD+k1y6WYvTQkzv0iZ8JhLJDujEvlnMchv4CZQLh3Q==", "dependencies": { "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", + "@codemirror/view": "^6.35.0", "crelt": "^1.0.5" } }, "node_modules/@codemirror/search": { - "version": "6.5.6", - "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz", - "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==", + "version": "6.5.8", + "resolved": "https://registry.npmmirror.com/@codemirror/search/-/search-6.5.8.tgz", + "integrity": "sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig==", "dependencies": { "@codemirror/state": "^6.0.0", "@codemirror/view": "^6.0.0", @@ -2710,13 +2594,13 @@ }, "node_modules/@codemirror/state": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-6.4.1.tgz", "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" }, "node_modules/@codemirror/view": { - "version": "6.32.0", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.32.0.tgz", - "integrity": "sha512-AgVNvED2QTsZp5e3syoHLsrWtwJFYWdx1Vr/m3f4h1ATQz0ax60CfXF3Htdmk69k2MlYZw8gXesnQdHtzyVmAw==", + "version": "6.35.0", + "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-6.35.0.tgz", + "integrity": "sha512-I0tYy63q5XkaWsJ8QRv5h6ves7kvtrBWjBcnf/bzohFJQc5c14a1AQRdE8QpPF9eMp5Mq2FMm59TCj1gDfE7kw==", "dependencies": { "@codemirror/state": "^6.4.0", "style-mod": "^4.1.0", @@ -2725,12 +2609,12 @@ }, "node_modules/@csstools/normalize.css": { "version": "12.1.1", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" }, "node_modules/@csstools/postcss-cascade-layers": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", "dependencies": { "@csstools/selector-specificity": "^2.0.2", @@ -2749,7 +2633,7 @@ }, "node_modules/@csstools/postcss-color-function": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", @@ -2768,7 +2652,7 @@ }, "node_modules/@csstools/postcss-font-format-keywords": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2786,7 +2670,7 @@ }, "node_modules/@csstools/postcss-hwb-function": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2804,7 +2688,7 @@ }, "node_modules/@csstools/postcss-ic-unit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", @@ -2823,7 +2707,7 @@ }, "node_modules/@csstools/postcss-is-pseudo-class": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", "dependencies": { "@csstools/selector-specificity": "^2.0.0", @@ -2842,7 +2726,7 @@ }, "node_modules/@csstools/postcss-nested-calc": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2860,7 +2744,7 @@ }, "node_modules/@csstools/postcss-normalize-display-values": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2878,7 +2762,7 @@ }, "node_modules/@csstools/postcss-oklab-function": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", @@ -2897,7 +2781,7 @@ }, "node_modules/@csstools/postcss-progressive-custom-properties": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2911,7 +2795,7 @@ }, "node_modules/@csstools/postcss-stepped-value-functions": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2929,7 +2813,7 @@ }, "node_modules/@csstools/postcss-text-decoration-shorthand": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2947,7 +2831,7 @@ }, "node_modules/@csstools/postcss-trigonometric-functions": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -2965,7 +2849,7 @@ }, "node_modules/@csstools/postcss-unset-value": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", "engines": { "node": "^12 || ^14 || >=16" @@ -2980,7 +2864,7 @@ }, "node_modules/@csstools/selector-specificity": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", "engines": { "node": "^14 || ^16 || >=18" @@ -2995,7 +2879,7 @@ }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", "engines": { "node": ">=10" @@ -3003,7 +2887,7 @@ }, "node_modules/@ecomfe/eslint-config": { "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz", "integrity": "sha512-17Qc003QeeP9dZcI838owFLbSPjfCwZofYIu3zbLqpTVxdbxkkijj10fzYnMRGuOW0uGOzSqITzrIaJmLZRHBA==", "dev": true, "dependencies": { @@ -3048,7 +2932,7 @@ }, "node_modules/@ecomfe/stylelint-config": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz", "integrity": "sha512-rIrZ7EU+zGVnqWWvYrCJWNrV04jyRSOqbLhsH1vl2FgTyUOBbvErRHfPoGqng8S9MfbIunnkzCDaoqpw6G4Tzw==", "dev": true, "peerDependencies": { @@ -3056,30 +2940,33 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.12.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dependencies": { "ajv": "^6.12.4", @@ -3101,7 +2988,7 @@ }, "node_modules/@eslint/eslintrc/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -3116,29 +3003,29 @@ }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@gar/promisify": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -3148,7 +3035,7 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "engines": { "node": ">=12.22" @@ -3160,13 +3047,13 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "deprecated": "Use @eslint/object-schema instead" }, "node_modules/@icons/material": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", + "resolved": "https://registry.npmmirror.com/@icons/material/-/material-0.2.4.tgz", "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", "peerDependencies": { "react": "*" @@ -3174,7 +3061,7 @@ }, "node_modules/@isaacs/cliui": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dependencies": { "string-width": "^5.1.2", @@ -3189,9 +3076,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -3201,7 +3088,7 @@ }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "engines": { "node": ">=12" @@ -3212,7 +3099,7 @@ }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dependencies": { "eastasianwidth": "^0.2.0", @@ -3228,7 +3115,7 @@ }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" @@ -3242,7 +3129,7 @@ }, "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dependencies": { "ansi-styles": "^6.1.0", @@ -3258,7 +3145,7 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dependencies": { "camelcase": "^5.3.1", @@ -3273,7 +3160,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" @@ -3281,7 +3168,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { "locate-path": "^5.0.0", @@ -3293,7 +3180,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", @@ -3305,7 +3192,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { "p-locate": "^4.1.0" @@ -3316,7 +3203,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" @@ -3330,7 +3217,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" @@ -3341,7 +3228,7 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" @@ -3349,12 +3236,12 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "engines": { "node": ">=8" @@ -3362,7 +3249,7 @@ }, "node_modules/@jest/console": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", "dependencies": { "@jest/types": "^27.5.1", @@ -3378,7 +3265,7 @@ }, "node_modules/@jest/console/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3393,7 +3280,7 @@ }, "node_modules/@jest/console/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3401,7 +3288,7 @@ }, "node_modules/@jest/console/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3416,7 +3303,7 @@ }, "node_modules/@jest/console/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -3435,7 +3322,7 @@ }, "node_modules/@jest/console/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -3451,7 +3338,7 @@ }, "node_modules/@jest/core": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", "dependencies": { "@jest/console": "^27.5.1", @@ -3497,7 +3384,7 @@ }, "node_modules/@jest/core/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3512,7 +3399,7 @@ }, "node_modules/@jest/core/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3520,7 +3407,7 @@ }, "node_modules/@jest/core/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3535,7 +3422,7 @@ }, "node_modules/@jest/core/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -3554,7 +3441,7 @@ }, "node_modules/@jest/core/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -3570,7 +3457,7 @@ }, "node_modules/@jest/environment": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", "dependencies": { "@jest/fake-timers": "^27.5.1", @@ -3584,7 +3471,7 @@ }, "node_modules/@jest/environment/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3599,7 +3486,7 @@ }, "node_modules/@jest/environment/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3607,7 +3494,7 @@ }, "node_modules/@jest/environment/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3622,7 +3509,7 @@ }, "node_modules/@jest/expect-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dependencies": { "jest-get-type": "^29.6.3" @@ -3633,7 +3520,7 @@ }, "node_modules/@jest/fake-timers": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", "dependencies": { "@jest/types": "^27.5.1", @@ -3649,7 +3536,7 @@ }, "node_modules/@jest/fake-timers/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3664,7 +3551,7 @@ }, "node_modules/@jest/fake-timers/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3672,7 +3559,7 @@ }, "node_modules/@jest/fake-timers/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3687,7 +3574,7 @@ }, "node_modules/@jest/fake-timers/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -3706,7 +3593,7 @@ }, "node_modules/@jest/fake-timers/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -3722,7 +3609,7 @@ }, "node_modules/@jest/globals": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", "dependencies": { "@jest/environment": "^27.5.1", @@ -3735,7 +3622,7 @@ }, "node_modules/@jest/globals/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3750,7 +3637,7 @@ }, "node_modules/@jest/globals/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3758,7 +3645,7 @@ }, "node_modules/@jest/globals/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3773,7 +3660,7 @@ }, "node_modules/@jest/globals/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -3781,7 +3668,7 @@ }, "node_modules/@jest/globals/node_modules/expect": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { "@jest/types": "^27.5.1", @@ -3795,7 +3682,7 @@ }, "node_modules/@jest/globals/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { "chalk": "^4.0.0", @@ -3809,7 +3696,7 @@ }, "node_modules/@jest/globals/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -3817,7 +3704,7 @@ }, "node_modules/@jest/globals/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { "chalk": "^4.0.0", @@ -3831,7 +3718,7 @@ }, "node_modules/@jest/globals/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -3850,7 +3737,7 @@ }, "node_modules/@jest/reporters": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", @@ -3893,7 +3780,7 @@ }, "node_modules/@jest/reporters/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -3908,7 +3795,7 @@ }, "node_modules/@jest/reporters/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -3916,7 +3803,7 @@ }, "node_modules/@jest/reporters/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -3931,7 +3818,7 @@ }, "node_modules/@jest/reporters/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -3947,7 +3834,7 @@ }, "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -3955,7 +3842,7 @@ }, "node_modules/@jest/schemas": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -3966,7 +3853,7 @@ }, "node_modules/@jest/source-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", "dependencies": { "callsites": "^3.0.0", @@ -3979,7 +3866,7 @@ }, "node_modules/@jest/source-map/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -3987,7 +3874,7 @@ }, "node_modules/@jest/test-result": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", "dependencies": { "@jest/console": "^27.5.1", @@ -4001,7 +3888,7 @@ }, "node_modules/@jest/test-result/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -4016,7 +3903,7 @@ }, "node_modules/@jest/test-result/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -4024,7 +3911,7 @@ }, "node_modules/@jest/test-result/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -4039,7 +3926,7 @@ }, "node_modules/@jest/test-sequencer": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", "dependencies": { "@jest/test-result": "^27.5.1", @@ -4053,7 +3940,7 @@ }, "node_modules/@jest/transform": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", "dependencies": { "@babel/core": "^7.1.0", @@ -4078,7 +3965,7 @@ }, "node_modules/@jest/transform/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -4093,7 +3980,7 @@ }, "node_modules/@jest/transform/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -4101,7 +3988,7 @@ }, "node_modules/@jest/transform/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -4116,12 +4003,12 @@ }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/@jest/transform/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -4137,7 +4024,7 @@ }, "node_modules/@jest/transform/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -4145,7 +4032,7 @@ }, "node_modules/@jest/types": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dependencies": { "@jest/schemas": "^29.6.3", @@ -4161,7 +4048,7 @@ }, "node_modules/@jest/types/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -4176,7 +4063,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -4189,7 +4076,7 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" @@ -4197,7 +4084,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "engines": { "node": ">=6.0.0" @@ -4205,7 +4092,7 @@ }, "node_modules/@jridgewell/source-map": { "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -4214,12 +4101,12 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -4228,17 +4115,17 @@ }, "node_modules/@leichtgewicht/ip-codec": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" }, "node_modules/@lezer/common": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", - "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==" }, "node_modules/@lezer/highlight": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/@lezer/highlight/-/highlight-1.2.1.tgz", "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", "dependencies": { "@lezer/common": "^1.0.0" @@ -4246,7 +4133,7 @@ }, "node_modules/@lezer/lr": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", + "resolved": "https://registry.npmmirror.com/@lezer/lr/-/lr-1.4.2.tgz", "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", "dependencies": { "@lezer/common": "^1.0.0" @@ -4254,7 +4141,7 @@ }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dependencies": { "eslint-scope": "5.1.1" @@ -4262,7 +4149,7 @@ }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { "esrecurse": "^4.3.0", @@ -4274,7 +4161,7 @@ }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { "node": ">=4.0" @@ -4282,7 +4169,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -4294,7 +4181,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "engines": { "node": ">= 8" @@ -4302,7 +4189,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -4314,7 +4201,7 @@ }, "node_modules/@npmcli/fs": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-2.1.2.tgz", "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dependencies": { "@gar/promisify": "^1.1.3", @@ -4326,7 +4213,7 @@ }, "node_modules/@npmcli/move-file": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-2.0.1.tgz", "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { @@ -4339,7 +4226,7 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "optional": true, "engines": { @@ -4348,7 +4235,7 @@ }, "node_modules/@pmmmwh/react-refresh-webpack-plugin": { "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", + "resolved": "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", "dependencies": { "ansi-html": "^0.0.9", @@ -4395,7 +4282,7 @@ }, "node_modules/@probe.gl/env": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@probe.gl/env/-/env-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/@probe.gl/env/-/env-3.6.0.tgz", "integrity": "sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==", "dependencies": { "@babel/runtime": "^7.0.0" @@ -4403,7 +4290,7 @@ }, "node_modules/@probe.gl/log": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@probe.gl/log/-/log-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/@probe.gl/log/-/log-3.6.0.tgz", "integrity": "sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==", "dependencies": { "@babel/runtime": "^7.0.0", @@ -4412,7 +4299,7 @@ }, "node_modules/@probe.gl/stats": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@probe.gl/stats/-/stats-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/@probe.gl/stats/-/stats-3.6.0.tgz", "integrity": "sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==", "dependencies": { "@babel/runtime": "^7.0.0" @@ -4420,7 +4307,7 @@ }, "node_modules/@rc-component/portal": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz", "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", "dependencies": { "@babel/runtime": "^7.18.0", @@ -4436,16 +4323,16 @@ } }, "node_modules/@remix-run/router": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.1.tgz", - "integrity": "sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==", + "version": "1.21.0", + "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==", "engines": { "node": ">=14.0.0" } }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dependencies": { "@babel/helper-module-imports": "^7.10.4", @@ -4467,7 +4354,7 @@ }, "node_modules/@rollup/plugin-node-resolve": { "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -4486,7 +4373,7 @@ }, "node_modules/@rollup/plugin-node-resolve/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -4502,7 +4389,7 @@ }, "node_modules/@rollup/plugin-replace": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dependencies": { "@rollup/pluginutils": "^3.1.0", @@ -4514,7 +4401,7 @@ }, "node_modules/@rollup/pluginutils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", "dependencies": { "@types/estree": "0.0.39", @@ -4530,22 +4417,27 @@ }, "node_modules/@rollup/pluginutils/node_modules/@types/estree": { "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, "node_modules/@rushstack/eslint-patch": { "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" }, "node_modules/@sinonjs/commons": { "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dependencies": { "type-detect": "4.0.8" @@ -4553,7 +4445,7 @@ }, "node_modules/@sinonjs/fake-timers": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", "dependencies": { "@sinonjs/commons": "^1.7.0" @@ -4561,7 +4453,7 @@ }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "resolved": "https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", "dependencies": { "ejs": "^3.1.6", @@ -4572,43 +4464,31 @@ }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", "engines": { "node": ">=10" @@ -4620,55 +4500,39 @@ }, "node_modules/@svgr/babel-plugin-svg-dynamic-title": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-svg-em-dimensions": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-transform-react-native-svg": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-plugin-transform-svg-component": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/babel-preset": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", @@ -4682,15 +4546,11 @@ }, "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/core": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-5.5.0.tgz", "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", "dependencies": { "@svgr/plugin-jsx": "^5.5.0", @@ -4707,7 +4567,7 @@ }, "node_modules/@svgr/core/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" @@ -4718,22 +4578,18 @@ }, "node_modules/@svgr/hast-util-to-babel-ast": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", "dependencies": { "@babel/types": "^7.12.6" }, "engines": { "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" } }, "node_modules/@svgr/plugin-jsx": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", "dependencies": { "@babel/core": "^7.12.3", @@ -4751,7 +4607,7 @@ }, "node_modules/@svgr/plugin-svgo": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", "dependencies": { "cosmiconfig": "^7.0.0", @@ -4768,7 +4624,7 @@ }, "node_modules/@svgr/webpack": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@svgr/webpack/-/webpack-5.5.0.tgz", "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", "dependencies": { "@babel/core": "^7.12.3", @@ -4790,7 +4646,7 @@ }, "node_modules/@testing-library/dom": { "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-8.20.1.tgz", "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", "dependencies": { "@babel/code-frame": "^7.10.4", @@ -4808,7 +4664,7 @@ }, "node_modules/@testing-library/dom/node_modules/aria-query": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.1.3.tgz", "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dependencies": { "deep-equal": "^2.0.5" @@ -4816,7 +4672,7 @@ }, "node_modules/@testing-library/dom/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -4831,7 +4687,7 @@ }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "resolved": "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", "dependencies": { "@adobe/css-tools": "^4.0.1", @@ -4852,7 +4708,7 @@ }, "node_modules/@testing-library/react": { "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "resolved": "https://registry.npmmirror.com/@testing-library/react/-/react-13.4.0.tgz", "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", "dependencies": { "@babel/runtime": "^7.12.5", @@ -4869,7 +4725,7 @@ }, "node_modules/@testing-library/user-event": { "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "resolved": "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-13.5.0.tgz", "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", "dependencies": { "@babel/runtime": "^7.12.5" @@ -4884,7 +4740,7 @@ }, "node_modules/@tootallnate/once": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz", "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "engines": { "node": ">= 10" @@ -4892,25 +4748,25 @@ }, "node_modules/@trysound/sax": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "engines": { "node": ">=10.13.0" } }, "node_modules/@tweenjs/tween.js": { - "version": "23.1.3", - "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", - "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==" + "version": "25.0.0", + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", + "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==" }, "node_modules/@types/aria-query": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz", "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" }, "node_modules/@types/babel__core": { "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dependencies": { "@babel/parser": "^7.20.7", @@ -4922,7 +4778,7 @@ }, "node_modules/@types/babel__generator": { "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dependencies": { "@babel/types": "^7.0.0" @@ -4930,7 +4786,7 @@ }, "node_modules/@types/babel__template": { "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dependencies": { "@babel/parser": "^7.1.0", @@ -4939,7 +4795,7 @@ }, "node_modules/@types/babel__traverse": { "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", "dependencies": { "@babel/types": "^7.20.7" @@ -4947,7 +4803,7 @@ }, "node_modules/@types/body-parser": { "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", @@ -4956,7 +4812,7 @@ }, "node_modules/@types/bonjour": { "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dependencies": { "@types/node": "*" @@ -4964,7 +4820,7 @@ }, "node_modules/@types/connect": { "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" @@ -4972,7 +4828,7 @@ }, "node_modules/@types/connect-history-api-fallback": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dependencies": { "@types/express-serve-static-core": "*", @@ -4981,13 +4837,13 @@ }, "node_modules/@types/d3-timer": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-2.0.3.tgz", "integrity": "sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==" }, "node_modules/@types/eslint": { - "version": "8.56.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", - "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "version": "8.56.12", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -4995,7 +4851,7 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", "dependencies": { "@types/eslint": "*", @@ -5003,13 +4859,13 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/express": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", @@ -5019,9 +4875,20 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -5031,7 +4898,7 @@ }, "node_modules/@types/graceful-fs": { "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dependencies": { "@types/node": "*" @@ -5039,17 +4906,17 @@ }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" }, "node_modules/@types/http-errors": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.4.tgz", "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { "version": "1.17.15", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.15.tgz", "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dependencies": { "@types/node": "*" @@ -5057,12 +4924,12 @@ }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dependencies": { "@types/istanbul-lib-coverage": "*" @@ -5070,16 +4937,16 @@ }, "node_modules/@types/istanbul-reports": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", + "version": "29.5.14", + "resolved": "https://registry.npmmirror.com/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" @@ -5087,7 +4954,7 @@ }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -5098,7 +4965,7 @@ }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { "@jest/schemas": "^29.6.3", @@ -5111,55 +4978,53 @@ }, "node_modules/@types/jest/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/@types/json-schema": { "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/lodash": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", - "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", - "license": "MIT" + "version": "4.17.13", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==" }, "node_modules/@types/lodash-es": { "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", - "license": "MIT", "dependencies": { "@types/lodash": "*" } }, "node_modules/@types/mime": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/minimist": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz", "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" }, "node_modules/@types/node": { - "version": "22.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.4.2.tgz", - "integrity": "sha512-nAvM3Ey230/XzxtyDcJ+VjvlzpzoHwLsF7JaDRfoI0ytO0mVheerNmM45CtA0yOILXwXXxOrcUWH3wltX+7PSw==", + "version": "22.9.3", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.9.3.tgz", + "integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.19.8" } }, "node_modules/@types/node-forge": { "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", "dependencies": { "@types/node": "*" @@ -5167,59 +5032,59 @@ }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, "node_modules/@types/parse-json": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "node_modules/@types/prettier": { "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + "version": "15.7.13", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" }, "node_modules/@types/q": { "version": "1.5.8", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.8.tgz", "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "version": "6.9.17", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" }, "node_modules/@types/range-parser": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/react": { - "version": "18.3.4", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.4.tgz", - "integrity": "sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==", + "version": "18.3.12", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", "dependencies": { "@types/react": "*" } }, "node_modules/@types/resolve": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dependencies": { "@types/node": "*" @@ -5227,17 +5092,17 @@ }, "node_modules/@types/retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" }, "node_modules/@types/semver": { "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" }, "node_modules/@types/send": { "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", @@ -5246,7 +5111,7 @@ }, "node_modules/@types/serve-index": { "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dependencies": { "@types/express": "*" @@ -5254,7 +5119,7 @@ }, "node_modules/@types/serve-static": { "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.7.tgz", "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dependencies": { "@types/http-errors": "*", @@ -5264,7 +5129,7 @@ }, "node_modules/@types/sockjs": { "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dependencies": { "@types/node": "*" @@ -5272,12 +5137,12 @@ }, "node_modules/@types/stack-utils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", "dependencies": { "@types/jest": "*" @@ -5285,20 +5150,20 @@ }, "node_modules/@types/trusted-types": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/ws": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", - "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", + "version": "8.5.13", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.33.tgz", "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dependencies": { "@types/yargs-parser": "*" @@ -5306,12 +5171,12 @@ }, "node_modules/@types/yargs-parser": { "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dependencies": { "@eslint-community/regexpp": "^4.4.0", @@ -5344,7 +5209,7 @@ }, "node_modules/@typescript-eslint/experimental-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", "dependencies": { "@typescript-eslint/utils": "5.62.0" @@ -5362,7 +5227,7 @@ }, "node_modules/@typescript-eslint/parser": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", @@ -5388,7 +5253,7 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { "@typescript-eslint/types": "5.62.0", @@ -5404,7 +5269,7 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dependencies": { "@typescript-eslint/typescript-estree": "5.62.0", @@ -5430,7 +5295,7 @@ }, "node_modules/@typescript-eslint/types": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.62.0.tgz", "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5442,7 +5307,7 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { "@typescript-eslint/types": "5.62.0", @@ -5468,7 +5333,7 @@ }, "node_modules/@typescript-eslint/utils": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.62.0.tgz", "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", @@ -5493,7 +5358,7 @@ }, "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { "esrecurse": "^4.3.0", @@ -5505,7 +5370,7 @@ }, "node_modules/@typescript-eslint/utils/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { "node": ">=4.0" @@ -5513,7 +5378,7 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dependencies": { "@typescript-eslint/types": "5.62.0", @@ -5529,154 +5394,154 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-opt": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1", - "@webassemblyjs/wast-printer": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/3d-force-graph": { - "version": "1.73.3", - "resolved": "https://registry.npmjs.org/3d-force-graph/-/3d-force-graph-1.73.3.tgz", - "integrity": "sha512-azb65Lwn2yr/fJ4+qrxjmstVxogjzwJIZL/fdboCKBg6ph/FLW+xdvYFEBZW92XxBn1C8yRKS3d2VkVT3BzLSw==", + "version": "1.73.6", + "resolved": "https://registry.npmmirror.com/3d-force-graph/-/3d-force-graph-1.73.6.tgz", + "integrity": "sha512-9p/HmnD8dvGano/ybFIeFRb+HOSzVUcvJVeEeGhsTAtnerc7xD6eK3XgRMRka+tHrjBL2F5EcS9d0NQ5OjxRBQ==", "dependencies": { "accessor-fn": "1", "kapsule": "1", @@ -5690,18 +5555,18 @@ }, "node_modules/abab": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "deprecated": "Use your platform's native atob() and btoa() methods instead" }, "node_modules/abbrev": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/accepts": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { "mime-types": "~2.1.34", @@ -5711,18 +5576,26 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/accessor-fn": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.1.tgz", + "resolved": "https://registry.npmmirror.com/accessor-fn/-/accessor-fn-1.5.1.tgz", "integrity": "sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==", "engines": { "node": ">=12" } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "bin": { "acorn": "bin/acorn" }, @@ -5732,7 +5605,7 @@ }, "node_modules/acorn-globals": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dependencies": { "acorn": "^7.1.1", @@ -5741,7 +5614,7 @@ }, "node_modules/acorn-globals/node_modules/acorn": { "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "bin": { "acorn": "bin/acorn" @@ -5750,17 +5623,9 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" @@ -5768,7 +5633,7 @@ }, "node_modules/acorn-walk": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "engines": { "node": ">=0.4.0" @@ -5776,7 +5641,7 @@ }, "node_modules/add-dom-event-listener": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", "dependencies": { "object-assign": "4.x" @@ -5784,7 +5649,7 @@ }, "node_modules/address": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", "engines": { "node": ">= 10.0.0" @@ -5792,7 +5657,7 @@ }, "node_modules/adjust-sourcemap-loader": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dependencies": { "loader-utils": "^2.0.0", @@ -5804,7 +5669,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { "debug": "4" @@ -5815,7 +5680,7 @@ }, "node_modules/agentkeepalive": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz", "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", "dependencies": { "humanize-ms": "^1.2.1" @@ -5826,7 +5691,7 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dependencies": { "clean-stack": "^2.0.0", @@ -5838,7 +5703,7 @@ }, "node_modules/ajv": { "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dependencies": { "fast-deep-equal": "^3.1.3", @@ -5853,7 +5718,7 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { "ajv": "^8.0.0" @@ -5869,7 +5734,7 @@ }, "node_modules/ajv-keywords": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", "dependencies": { "fast-deep-equal": "^3.1.3" @@ -5880,7 +5745,7 @@ }, "node_modules/ansi-escapes": { "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { "type-fest": "^0.21.3" @@ -5894,7 +5759,7 @@ }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { "node": ">=10" @@ -5905,7 +5770,7 @@ }, "node_modules/ansi-html": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "resolved": "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.9.tgz", "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", "engines": [ "node >= 0.8.0" @@ -5916,7 +5781,7 @@ }, "node_modules/ansi-html-community": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "resolved": "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz", "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "engines": [ "node >= 0.8.0" @@ -5927,7 +5792,7 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { "node": ">=8" @@ -5935,7 +5800,7 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" @@ -5949,7 +5814,7 @@ }, "node_modules/antd": { "version": "4.24.16", - "resolved": "https://registry.npmjs.org/antd/-/antd-4.24.16.tgz", + "resolved": "https://registry.npmmirror.com/antd/-/antd-4.24.16.tgz", "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==", "dependencies": { "@ant-design/colors": "^6.0.0", @@ -6007,7 +5872,7 @@ }, "node_modules/antd/node_modules/rc-dropdown": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz", "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", "dependencies": { "@babel/runtime": "^7.18.3", @@ -6022,12 +5887,12 @@ }, "node_modules/any-promise": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" }, "node_modules/anymatch": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", @@ -6039,12 +5904,12 @@ }, "node_modules/aproba": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "node_modules/are-we-there-yet": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "deprecated": "This package is no longer supported.", "dependencies": { @@ -6057,25 +5922,25 @@ }, "node_modules/arg": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" }, "node_modules/argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "^2.0.3" + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "engines": { + "node": ">= 0.4" } }, "node_modules/array-buffer-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", "dependencies": { "call-bind": "^1.0.5", @@ -6090,12 +5955,12 @@ }, "node_modules/array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.8.tgz", "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dependencies": { "call-bind": "^1.0.7", @@ -6114,12 +5979,12 @@ }, "node_modules/array-tree-filter": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" }, "node_modules/array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { "node": ">=8" @@ -6127,7 +5992,7 @@ }, "node_modules/array.prototype.findlast": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", "dependencies": { "call-bind": "^1.0.7", @@ -6146,7 +6011,7 @@ }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", "dependencies": { "call-bind": "^1.0.7", @@ -6165,7 +6030,7 @@ }, "node_modules/array.prototype.flat": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dependencies": { "call-bind": "^1.0.2", @@ -6182,7 +6047,7 @@ }, "node_modules/array.prototype.flatmap": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dependencies": { "call-bind": "^1.0.2", @@ -6199,7 +6064,7 @@ }, "node_modules/array.prototype.reduce": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", "dependencies": { "call-bind": "^1.0.7", @@ -6219,7 +6084,7 @@ }, "node_modules/array.prototype.tosorted": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dependencies": { "call-bind": "^1.0.7", @@ -6234,7 +6099,7 @@ }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", "dependencies": { "array-buffer-byte-length": "^1.0.1", @@ -6255,7 +6120,7 @@ }, "node_modules/arrify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "engines": { "node": ">=0.10.0" @@ -6263,22 +6128,22 @@ }, "node_modules/asap": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, "node_modules/ast-types-flow": { "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz", "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, "node_modules/async": { "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "node_modules/async-foreach": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "resolved": "https://registry.npmmirror.com/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", "engines": { "node": "*" @@ -6286,17 +6151,17 @@ }, "node_modules/async-validator": { "version": "4.2.5", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" }, "node_modules/asynckit": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/at-least-node": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "engines": { "node": ">= 4.0.0" @@ -6304,7 +6169,7 @@ }, "node_modules/autoprefixer": { "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz", "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { @@ -6340,7 +6205,7 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { "possible-typed-array-names": "^1.0.0" @@ -6353,16 +6218,16 @@ } }, "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", + "version": "4.10.2", + "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==", "engines": { "node": ">=4" } }, "node_modules/axios": { "version": "0.27.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz", "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dependencies": { "follow-redirects": "^1.14.9", @@ -6370,16 +6235,16 @@ } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "dependencies": { - "deep-equal": "^2.0.5" + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "dependencies": { "@jest/transform": "^27.5.1", @@ -6400,7 +6265,7 @@ }, "node_modules/babel-jest/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -6415,7 +6280,7 @@ }, "node_modules/babel-jest/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -6423,7 +6288,7 @@ }, "node_modules/babel-jest/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -6437,12 +6302,12 @@ } }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -6456,7 +6321,7 @@ }, "node_modules/babel-loader/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -6471,7 +6336,7 @@ }, "node_modules/babel-loader/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" @@ -6479,12 +6344,12 @@ }, "node_modules/babel-loader/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/babel-loader/node_modules/schema-utils": { "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz", "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dependencies": { "@types/json-schema": "^7.0.5", @@ -6501,7 +6366,7 @@ }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", @@ -6516,7 +6381,7 @@ }, "node_modules/babel-plugin-jest-hoist": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dependencies": { "@babel/template": "^7.3.3", @@ -6530,7 +6395,7 @@ }, "node_modules/babel-plugin-macros": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dependencies": { "@babel/runtime": "^7.12.5", @@ -6544,7 +6409,7 @@ }, "node_modules/babel-plugin-macros/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -6560,19 +6425,19 @@ }, "node_modules/babel-plugin-named-asset-import": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", "peerDependencies": { "@babel/core": "^7.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", - "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "version": "0.4.12", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.2", + "@babel/helper-define-polyfill-provider": "^0.6.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -6581,7 +6446,7 @@ }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -6589,7 +6454,7 @@ }, "node_modules/babel-plugin-polyfill-corejs3": { "version": "0.10.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dependencies": { "@babel/helper-define-polyfill-provider": "^0.6.2", @@ -6600,11 +6465,11 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", - "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.2" + "@babel/helper-define-polyfill-provider": "^0.6.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -6612,12 +6477,12 @@ }, "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "resolved": "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, "node_modules/babel-preset-current-node-syntax": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -6642,7 +6507,7 @@ }, "node_modules/babel-preset-jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dependencies": { "babel-plugin-jest-hoist": "^27.5.1", @@ -6657,7 +6522,7 @@ }, "node_modules/babel-preset-react-app": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "resolved": "https://registry.npmmirror.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", "dependencies": { "@babel/core": "^7.16.0", @@ -6680,22 +6545,22 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base16": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/base16/-/base16-1.0.0.tgz", "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" }, "node_modules/batch": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" }, "node_modules/bfj": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/bfj/-/bfj-7.1.0.tgz", "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", "dependencies": { "bluebird": "^3.7.2", @@ -6710,7 +6575,7 @@ }, "node_modules/big.js": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "engines": { "node": "*" @@ -6718,7 +6583,7 @@ }, "node_modules/bignumber.js": { "version": "9.1.2", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.2.tgz", "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", "engines": { "node": "*" @@ -6726,7 +6591,7 @@ }, "node_modules/binary-extensions": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "engines": { "node": ">=8" @@ -6737,13 +6602,13 @@ }, "node_modules/bluebird": { "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -6753,7 +6618,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -6763,17 +6628,9 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -6781,7 +6638,7 @@ }, "node_modules/body-parser/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -6792,13 +6649,13 @@ }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -6806,12 +6663,12 @@ }, "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, "node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { "balanced-match": "^1.0.0", @@ -6820,7 +6677,7 @@ }, "node_modules/braces": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { "fill-range": "^7.1.1" @@ -6831,13 +6688,13 @@ }, "node_modules/browser-process-hrtime": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "funding": [ { "type": "opencollective", @@ -6853,10 +6710,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -6867,7 +6724,7 @@ }, "node_modules/bser": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dependencies": { "node-int64": "^0.4.0" @@ -6875,12 +6732,12 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtin-modules": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "engines": { "node": ">=6" @@ -6890,16 +6747,16 @@ } }, "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } }, "node_modules/cacache": { "version": "16.1.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-16.1.3.tgz", "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dependencies": { "@npmcli/fs": "^2.1.0", @@ -6927,7 +6784,7 @@ }, "node_modules/cacache/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" @@ -6935,7 +6792,7 @@ }, "node_modules/cacache/node_modules/glob": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { @@ -6954,7 +6811,7 @@ }, "node_modules/cacache/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { "brace-expansion": "^2.0.1" @@ -6965,7 +6822,7 @@ }, "node_modules/call-bind": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { "es-define-property": "^1.0.0", @@ -6983,7 +6840,7 @@ }, "node_modules/callsites": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "engines": { "node": ">=6" @@ -6991,7 +6848,7 @@ }, "node_modules/camel-case": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", "dependencies": { "pascal-case": "^3.1.2", @@ -7000,7 +6857,7 @@ }, "node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "engines": { "node": ">=6" @@ -7008,7 +6865,7 @@ }, "node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "engines": { "node": ">= 6" @@ -7016,7 +6873,7 @@ }, "node_modules/camelcase-keys": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dependencies": { "camelcase": "^5.3.1", @@ -7032,7 +6889,7 @@ }, "node_modules/caniuse-api": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dependencies": { "browserslist": "^4.0.0", @@ -7042,9 +6899,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "version": "1.0.30001684", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==", "funding": [ { "type": "opencollective", @@ -7062,7 +6919,7 @@ }, "node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "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==", "engines": { "node": ">=4" @@ -7070,7 +6927,7 @@ }, "node_modules/chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dependencies": { "ansi-styles": "^4.1.0", @@ -7082,7 +6939,7 @@ }, "node_modules/char-regex": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "engines": { "node": ">=10" @@ -7090,12 +6947,12 @@ }, "node_modules/check-types": { "version": "11.2.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "resolved": "https://registry.npmmirror.com/check-types/-/check-types-11.2.3.tgz", "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" }, "node_modules/chokidar": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { "anymatch": "~3.1.2", @@ -7118,7 +6975,7 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" @@ -7129,7 +6986,7 @@ }, "node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { "node": ">=10" @@ -7137,7 +6994,7 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "engines": { "node": ">=6.0" @@ -7145,7 +7002,7 @@ }, "node_modules/ci-info": { "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "funding": [ { @@ -7158,23 +7015,23 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==" + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" }, "node_modules/clamp": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/clamp/-/clamp-1.0.1.tgz", "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" }, "node_modules/classnames": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "node_modules/clean-css": { "version": "5.3.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz", "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", "dependencies": { "source-map": "~0.6.0" @@ -7185,7 +7042,7 @@ }, "node_modules/clean-css/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -7193,7 +7050,7 @@ }, "node_modules/clean-stack": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "engines": { "node": ">=6" @@ -7201,7 +7058,7 @@ }, "node_modules/cliui": { "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { "string-width": "^4.2.0", @@ -7211,7 +7068,7 @@ }, "node_modules/co": { "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { "iojs": ">= 1.0.0", @@ -7220,7 +7077,7 @@ }, "node_modules/coa": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "dependencies": { "@types/q": "^1.5.1", @@ -7233,7 +7090,7 @@ }, "node_modules/coa/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { "color-convert": "^1.9.0" @@ -7244,7 +7101,7 @@ }, "node_modules/coa/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { "ansi-styles": "^3.2.1", @@ -7257,7 +7114,7 @@ }, "node_modules/coa/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" @@ -7265,12 +7122,12 @@ }, "node_modules/coa/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/coa/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { "node": ">=0.8.0" @@ -7278,7 +7135,7 @@ }, "node_modules/coa/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" @@ -7286,7 +7143,7 @@ }, "node_modules/coa/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" @@ -7297,7 +7154,7 @@ }, "node_modules/codemirror": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/codemirror/-/codemirror-6.0.1.tgz", "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", "dependencies": { "@codemirror/autocomplete": "^6.0.0", @@ -7311,12 +7168,12 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" }, "node_modules/color": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "resolved": "https://registry.npmmirror.com/color/-/color-3.2.1.tgz", "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dependencies": { "color-convert": "^1.9.3", @@ -7325,7 +7182,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" @@ -7336,12 +7193,12 @@ }, "node_modules/color-name": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-string": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "resolved": "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz", "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "dependencies": { "color-name": "^1.0.0", @@ -7350,7 +7207,7 @@ }, "node_modules/color-support": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "bin": { "color-support": "bin.js" @@ -7358,7 +7215,7 @@ }, "node_modules/color/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" @@ -7366,22 +7223,22 @@ }, "node_modules/color/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colord": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, "node_modules/colorette": { "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/combined-stream": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" @@ -7392,7 +7249,7 @@ }, "node_modules/commander": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "engines": { "node": ">= 12" @@ -7400,7 +7257,7 @@ }, "node_modules/common-tags": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "engines": { "node": ">=4.0.0" @@ -7408,12 +7265,12 @@ }, "node_modules/commondir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/compressible": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dependencies": { "mime-db": ">= 1.43.0 < 2" @@ -7423,16 +7280,16 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { @@ -7441,7 +7298,7 @@ }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -7449,32 +7306,27 @@ }, "node_modules/compression/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, "node_modules/compute-scroll-into-view": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" }, "node_modules/concat-map": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/confusing-browser-globals": { "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "resolved": "https://registry.npmmirror.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "engines": { "node": ">=0.8" @@ -7482,12 +7334,12 @@ }, "node_modules/console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" }, "node_modules/content-disposition": { "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { "safe-buffer": "5.2.1" @@ -7498,7 +7350,7 @@ }, "node_modules/content-type": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" @@ -7506,34 +7358,34 @@ }, "node_modules/convert-source-map": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/copy-to-clipboard": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "resolved": "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", "dependencies": { "toggle-selection": "^1.0.6" } }, "node_modules/core-js": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", - "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7541,11 +7393,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", - "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", "dependencies": { - "browserslist": "^4.23.3" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", @@ -7553,9 +7405,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.38.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", - "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7564,12 +7416,12 @@ }, "node_modules/core-util-is": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/cosmiconfig": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dependencies": { "@types/parse-json": "^4.0.0", @@ -7584,26 +7436,26 @@ }, "node_modules/crelt": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/crelt/-/crelt-1.0.6.tgz", "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" }, "node_modules/cron-expression-validator": { "version": "1.0.20", - "resolved": "https://registry.npmjs.org/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz", + "resolved": "https://registry.npmmirror.com/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz", "integrity": "sha512-g0osBTdp+1ryDw2vzlG6UpDPaa4fO94ZChF2R0lEnRurbuUEL74XEVX7xZJ13m4Mq/gb3ni6UQu8+Oqt+eocsw==" }, "node_modules/cross-fetch": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "resolved": "https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.8.tgz", "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", "dependencies": { "node-fetch": "^2.6.12" } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7615,7 +7467,7 @@ }, "node_modules/crypto-random-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "engines": { "node": ">=8" @@ -7623,7 +7475,7 @@ }, "node_modules/css-blank-pseudo": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dependencies": { "postcss-selector-parser": "^6.0.9" @@ -7640,7 +7492,7 @@ }, "node_modules/css-declaration-sorter": { "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", "engines": { "node": "^10 || ^12 || >=14" @@ -7651,7 +7503,7 @@ }, "node_modules/css-has-pseudo": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dependencies": { "postcss-selector-parser": "^6.0.9" @@ -7668,7 +7520,7 @@ }, "node_modules/css-loader": { "version": "6.11.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.11.0.tgz", "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", "dependencies": { "icss-utils": "^5.1.0", @@ -7702,7 +7554,7 @@ }, "node_modules/css-minimizer-webpack-plugin": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", "dependencies": { "cssnano": "^5.0.6", @@ -7739,7 +7591,7 @@ }, "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -7747,7 +7599,7 @@ }, "node_modules/css-prefers-color-scheme": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", "bin": { "css-prefers-color-scheme": "dist/cli.cjs" @@ -7761,7 +7613,7 @@ }, "node_modules/css-select": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dependencies": { "boolbase": "^1.0.0", @@ -7776,12 +7628,12 @@ }, "node_modules/css-select-base-adapter": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "resolved": "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz", "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", "dependencies": { "mdn-data": "2.0.4", @@ -7793,7 +7645,7 @@ }, "node_modules/css-tree/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -7801,7 +7653,7 @@ }, "node_modules/css-what": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "engines": { "node": ">= 6" @@ -7812,12 +7664,12 @@ }, "node_modules/css.escape": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "resolved": "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz", "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" }, "node_modules/cssdb": { "version": "7.11.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-7.11.2.tgz", "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", "funding": [ { @@ -7832,7 +7684,7 @@ }, "node_modules/cssesc": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "bin": { "cssesc": "bin/cssesc" @@ -7843,7 +7695,7 @@ }, "node_modules/cssnano": { "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz", "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dependencies": { "cssnano-preset-default": "^5.2.14", @@ -7863,7 +7715,7 @@ }, "node_modules/cssnano-preset-default": { "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dependencies": { "css-declaration-sorter": "^6.3.1", @@ -7905,7 +7757,7 @@ }, "node_modules/cssnano-utils": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -7916,7 +7768,7 @@ }, "node_modules/csso": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dependencies": { "css-tree": "^1.1.2" @@ -7927,7 +7779,7 @@ }, "node_modules/csso/node_modules/css-tree": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dependencies": { "mdn-data": "2.0.14", @@ -7939,12 +7791,12 @@ }, "node_modules/csso/node_modules/mdn-data": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, "node_modules/csso/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -7952,12 +7804,12 @@ }, "node_modules/cssom": { "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" }, "node_modules/cssstyle": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dependencies": { "cssom": "~0.3.6" @@ -7968,17 +7820,17 @@ }, "node_modules/cssstyle/node_modules/cssom": { "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/csstype": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/d3-array": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz", "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dependencies": { "internmap": "1 - 2" @@ -7989,12 +7841,12 @@ }, "node_modules/d3-binarytree": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/d3-binarytree/-/d3-binarytree-1.0.2.tgz", "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==" }, "node_modules/d3-color": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "engines": { "node": ">=12" @@ -8002,17 +7854,17 @@ }, "node_modules/d3-dispatch": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz", "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" }, "node_modules/d3-ease": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-1.0.7.tgz", "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==" }, "node_modules/d3-force": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-2.1.1.tgz", "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", "dependencies": { "d3-dispatch": "1 - 2", @@ -8022,7 +7874,7 @@ }, "node_modules/d3-force-3d": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.5.tgz", + "resolved": "https://registry.npmmirror.com/d3-force-3d/-/d3-force-3d-3.0.5.tgz", "integrity": "sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==", "dependencies": { "d3-binarytree": "1", @@ -8037,12 +7889,12 @@ }, "node_modules/d3-force/node_modules/d3-quadtree": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz", "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" }, "node_modules/d3-format": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz", "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", "engines": { "node": ">=12" @@ -8050,7 +7902,7 @@ }, "node_modules/d3-interpolate": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dependencies": { "d3-color": "1 - 3" @@ -8061,12 +7913,12 @@ }, "node_modules/d3-octree": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/d3-octree/-/d3-octree-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/d3-octree/-/d3-octree-1.0.2.tgz", "integrity": "sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==" }, "node_modules/d3-quadtree": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", "engines": { "node": ">=12" @@ -8074,7 +7926,7 @@ }, "node_modules/d3-scale": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dependencies": { "d3-array": "2.10.0 - 3", @@ -8089,7 +7941,7 @@ }, "node_modules/d3-scale-chromatic": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", "dependencies": { "d3-color": "1 - 3", @@ -8101,7 +7953,7 @@ }, "node_modules/d3-time": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "dependencies": { "d3-array": "2 - 3" @@ -8112,7 +7964,7 @@ }, "node_modules/d3-time-format": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "dependencies": { "d3-time": "1 - 3" @@ -8123,12 +7975,12 @@ }, "node_modules/d3-timer": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-1.0.10.tgz", "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" }, "node_modules/dagre": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "resolved": "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz", "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", "dependencies": { "graphlib": "^2.1.8", @@ -8137,7 +7989,7 @@ }, "node_modules/dagre-compound": { "version": "0.0.11", - "resolved": "https://registry.npmjs.org/dagre-compound/-/dagre-compound-0.0.11.tgz", + "resolved": "https://registry.npmmirror.com/dagre-compound/-/dagre-compound-0.0.11.tgz", "integrity": "sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==", "engines": { "node": ">=6.0.0" @@ -8148,12 +8000,12 @@ }, "node_modules/damerau-levenshtein": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "resolved": "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" }, "node_modules/data-joint": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/data-joint/-/data-joint-1.3.1.tgz", + "resolved": "https://registry.npmmirror.com/data-joint/-/data-joint-1.3.1.tgz", "integrity": "sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==", "dependencies": { "index-array-by": "^1.4.0" @@ -8164,7 +8016,7 @@ }, "node_modules/data-urls": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dependencies": { "abab": "^2.0.3", @@ -8177,7 +8029,7 @@ }, "node_modules/data-urls/node_modules/tr46": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dependencies": { "punycode": "^2.1.1" @@ -8188,7 +8040,7 @@ }, "node_modules/data-urls/node_modules/whatwg-url": { "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dependencies": { "lodash": "^4.7.0", @@ -8201,7 +8053,7 @@ }, "node_modules/data-view-buffer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz", "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", "dependencies": { "call-bind": "^1.0.6", @@ -8217,7 +8069,7 @@ }, "node_modules/data-view-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", "dependencies": { "call-bind": "^1.0.7", @@ -8233,7 +8085,7 @@ }, "node_modules/data-view-byte-offset": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", "dependencies": { "call-bind": "^1.0.6", @@ -8249,7 +8101,7 @@ }, "node_modules/date-fns": { "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", "dependencies": { "@babel/runtime": "^7.21.0" @@ -8264,15 +8116,15 @@ }, "node_modules/dayjs": { "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" }, "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -8285,7 +8137,7 @@ }, "node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "engines": { "node": ">=0.10.0" @@ -8293,7 +8145,7 @@ }, "node_modules/decamelize-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dependencies": { "decamelize": "^1.1.0", @@ -8308,7 +8160,7 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "engines": { "node": ">=0.10.0" @@ -8316,17 +8168,17 @@ }, "node_modules/decimal.js": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, "node_modules/dedent": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, "node_modules/deep-equal": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz", + "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.3.tgz", "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", "dependencies": { "array-buffer-byte-length": "^1.0.0", @@ -8357,12 +8209,12 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "resolved": "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" }, "node_modules/deepmerge": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { "node": ">=0.10.0" @@ -8370,7 +8222,7 @@ }, "node_modules/default-gateway": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dependencies": { "execa": "^5.0.0" @@ -8381,7 +8233,7 @@ }, "node_modules/define-data-property": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { "es-define-property": "^1.0.0", @@ -8397,7 +8249,7 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "engines": { "node": ">=8" @@ -8405,7 +8257,7 @@ }, "node_modules/define-properties": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dependencies": { "define-data-property": "^1.0.1", @@ -8421,7 +8273,7 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" @@ -8429,28 +8281,20 @@ }, "node_modules/delegates": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, "node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { "node": ">= 0.8" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, "node_modules/destroy": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { "node": ">= 0.8", @@ -8459,12 +8303,12 @@ }, "node_modules/detect-browser": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "resolved": "https://registry.npmmirror.com/detect-browser/-/detect-browser-5.3.0.tgz", "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" }, "node_modules/detect-newline": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "engines": { "node": ">=8" @@ -8472,12 +8316,12 @@ }, "node_modules/detect-node": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" }, "node_modules/detect-port-alt": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "resolved": "https://registry.npmmirror.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "dependencies": { "address": "^1.0.1", @@ -8493,7 +8337,7 @@ }, "node_modules/detect-port-alt/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -8501,17 +8345,17 @@ }, "node_modules/detect-port-alt/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/didyoumean": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" }, "node_modules/diff-sequences": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -8519,7 +8363,7 @@ }, "node_modules/dir-glob": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { "path-type": "^4.0.0" @@ -8530,12 +8374,12 @@ }, "node_modules/dlv": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" }, "node_modules/dns-packet": { "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" @@ -8546,7 +8390,7 @@ }, "node_modules/doctrine": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { "esutils": "^2.0.2" @@ -8557,17 +8401,17 @@ }, "node_modules/dom-accessibility-api": { "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "resolved": "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" }, "node_modules/dom-align": { "version": "1.12.4", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz", + "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz", "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" }, "node_modules/dom-converter": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", "dependencies": { "utila": "~0.4" @@ -8575,7 +8419,7 @@ }, "node_modules/dom-serializer": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dependencies": { "domelementtype": "^2.0.1", @@ -8588,7 +8432,7 @@ }, "node_modules/domelementtype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "funding": [ { @@ -8599,7 +8443,7 @@ }, "node_modules/domexception": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "deprecated": "Use your platform's native DOMException instead", "dependencies": { @@ -8611,7 +8455,7 @@ }, "node_modules/domexception/node_modules/webidl-conversions": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "engines": { "node": ">=8" @@ -8619,7 +8463,7 @@ }, "node_modules/domhandler": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dependencies": { "domelementtype": "^2.2.0" @@ -8633,7 +8477,7 @@ }, "node_modules/domutils": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { "dom-serializer": "^1.0.1", @@ -8646,7 +8490,7 @@ }, "node_modules/dot-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", "dependencies": { "no-case": "^3.0.4", @@ -8655,7 +8499,7 @@ }, "node_modules/dotenv": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "engines": { "node": ">=10" @@ -8663,22 +8507,22 @@ }, "node_modules/dotenv-expand": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, "node_modules/duplexer": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, "node_modules/eastasianwidth": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/echarts": { "version": "5.5.1", - "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.1.tgz", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", "dependencies": { "tslib": "2.3.0", @@ -8687,17 +8531,17 @@ }, "node_modules/echarts/node_modules/tslib": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" }, "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dependencies": { "jake": "^10.8.5" @@ -8710,13 +8554,13 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", - "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==" + "version": "1.5.64", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz", + "integrity": "sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==" }, "node_modules/emittery": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "engines": { "node": ">=10" @@ -8727,28 +8571,28 @@ }, "node_modules/emoji-regex": { "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/emojis-list": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "engines": { "node": ">= 4" } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } }, "node_modules/encoding": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "optional": true, "dependencies": { @@ -8757,7 +8601,7 @@ }, "node_modules/enhanced-resolve": { "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dependencies": { "graceful-fs": "^4.2.4", @@ -8769,7 +8613,7 @@ }, "node_modules/entities": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -8777,7 +8621,7 @@ }, "node_modules/env-paths": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "engines": { "node": ">=6" @@ -8785,12 +8629,12 @@ }, "node_modules/err-code": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz", "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, "node_modules/error-ex": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dependencies": { "is-arrayish": "^0.2.1" @@ -8798,16 +8642,16 @@ }, "node_modules/error-stack-parser": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "resolved": "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "version": "1.23.5", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", @@ -8824,7 +8668,7 @@ "function.prototype.name": "^1.1.6", "get-intrinsic": "^1.2.4", "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", @@ -8840,10 +8684,10 @@ "is-string": "^1.0.7", "is-typed-array": "^1.1.13", "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", + "object-inspect": "^1.13.3", "object-keys": "^1.1.1", "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", + "regexp.prototype.flags": "^1.5.3", "safe-array-concat": "^1.1.2", "safe-regex-test": "^1.0.3", "string.prototype.trim": "^1.2.9", @@ -8865,12 +8709,12 @@ }, "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "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==" }, "node_modules/es-define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { "get-intrinsic": "^1.2.4" @@ -8881,7 +8725,7 @@ }, "node_modules/es-errors": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { "node": ">= 0.4" @@ -8889,7 +8733,7 @@ }, "node_modules/es-get-iterator": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz", "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dependencies": { "call-bind": "^1.0.2", @@ -8907,9 +8751,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", - "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -8918,12 +8762,13 @@ "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.2", + "iterator.prototype": "^1.1.3", "safe-array-concat": "^1.1.2" }, "engines": { @@ -8932,12 +8777,12 @@ }, "node_modules/es-module-lexer": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz", "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", "dependencies": { "es-errors": "^1.3.0" @@ -8948,7 +8793,7 @@ }, "node_modules/es-set-tostringtag": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", "dependencies": { "get-intrinsic": "^1.2.4", @@ -8961,7 +8806,7 @@ }, "node_modules/es-shim-unscopables": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { "hasown": "^2.0.0" @@ -8969,7 +8814,7 @@ }, "node_modules/es-to-primitive": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz", "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dependencies": { "is-callable": "^1.1.4", @@ -8984,21 +8829,21 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { "node": ">=10" @@ -9009,7 +8854,7 @@ }, "node_modules/escodegen": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dependencies": { "esprima": "^4.0.1", @@ -9029,7 +8874,7 @@ }, "node_modules/escodegen/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "optional": true, "engines": { @@ -9037,15 +8882,16 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -9092,7 +8938,7 @@ }, "node_modules/eslint-config-react-app": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "resolved": "https://registry.npmmirror.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", "dependencies": { "@babel/core": "^7.16.0", @@ -9119,7 +8965,7 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "resolved": "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { "debug": "^3.2.7", @@ -9129,7 +8975,7 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" @@ -9137,7 +8983,7 @@ }, "node_modules/eslint-import-resolver-node/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -9152,9 +8998,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dependencies": { "debug": "^3.2.7" }, @@ -9169,7 +9015,7 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" @@ -9177,7 +9023,7 @@ }, "node_modules/eslint-plugin-flowtype": { "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "resolved": "https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", "dependencies": { "lodash": "^4.17.21", @@ -9193,38 +9039,40 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "version": "2.31.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { "ms": "^2.1.1" @@ -9232,7 +9080,7 @@ }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { "esutils": "^2.0.2" @@ -9243,7 +9091,7 @@ }, "node_modules/eslint-plugin-import/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -9251,7 +9099,7 @@ }, "node_modules/eslint-plugin-jest": { "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", "dependencies": { "@typescript-eslint/experimental-utils": "^5.0.0" @@ -9273,53 +9121,44 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", - "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "version": "6.10.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", "dependencies": { - "aria-query": "~5.1.3", + "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "^4.9.1", - "axobject-query": "~3.1.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.19", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.0" + "string.prototype.includes": "^2.0.1" }, "engines": { "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dependencies": { - "deep-equal": "^2.0.5" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.37.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.19", + "es-iterator-helpers": "^1.1.0", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", @@ -9342,7 +9181,7 @@ }, "node_modules/eslint-plugin-react-hooks": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", "engines": { "node": ">=10" @@ -9353,7 +9192,7 @@ }, "node_modules/eslint-plugin-react/node_modules/doctrine": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { "esutils": "^2.0.2" @@ -9364,7 +9203,7 @@ }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -9372,7 +9211,7 @@ }, "node_modules/eslint-plugin-testing-library": { "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "resolved": "https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", "dependencies": { "@typescript-eslint/utils": "^5.58.0" @@ -9387,7 +9226,7 @@ }, "node_modules/eslint-rule-composer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "resolved": "https://registry.npmmirror.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", "engines": { "node": ">=4.0.0" @@ -9395,7 +9234,7 @@ }, "node_modules/eslint-scope": { "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { "esrecurse": "^4.3.0", @@ -9410,7 +9249,7 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -9421,7 +9260,7 @@ }, "node_modules/eslint-webpack-plugin": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "resolved": "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", "dependencies": { "@types/eslint": "^7.29.0 || ^8.4.1", @@ -9444,7 +9283,7 @@ }, "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz", "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dependencies": { "@types/node": "*", @@ -9457,7 +9296,7 @@ }, "node_modules/eslint-webpack-plugin/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" @@ -9471,7 +9310,7 @@ }, "node_modules/eslint/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -9486,7 +9325,7 @@ }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -9501,12 +9340,12 @@ }, "node_modules/eslint/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/espree": { "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { "acorn": "^8.9.0", @@ -9522,7 +9361,7 @@ }, "node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "bin": { "esparse": "bin/esparse.js", @@ -9534,7 +9373,7 @@ }, "node_modules/esquery": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dependencies": { "estraverse": "^5.1.0" @@ -9545,7 +9384,7 @@ }, "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { "estraverse": "^5.2.0" @@ -9556,7 +9395,7 @@ }, "node_modules/estraverse": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { "node": ">=4.0" @@ -9564,12 +9403,12 @@ }, "node_modules/estree-walker": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { "node": ">=0.10.0" @@ -9577,7 +9416,7 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" @@ -9585,12 +9424,12 @@ }, "node_modules/eventemitter3": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { "node": ">=0.8.x" @@ -9598,7 +9437,7 @@ }, "node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { "cross-spawn": "^7.0.3", @@ -9620,7 +9459,7 @@ }, "node_modules/exit": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "engines": { "node": ">= 0.8.0" @@ -9628,7 +9467,7 @@ }, "node_modules/expect": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dependencies": { "@jest/expect-utils": "^29.7.0", @@ -9643,40 +9482,40 @@ }, "node_modules/exponential-backoff": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz", "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -9689,7 +9528,7 @@ }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -9697,17 +9536,17 @@ }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -9722,7 +9561,7 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" @@ -9733,22 +9572,22 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" }, "node_modules/fastq": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" @@ -9756,7 +9595,7 @@ }, "node_modules/faye-websocket": { "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dependencies": { "websocket-driver": ">=0.5.1" @@ -9767,7 +9606,7 @@ }, "node_modules/fb-watchman": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dependencies": { "bser": "2.1.1" @@ -9775,7 +9614,7 @@ }, "node_modules/fbemitter": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/fbemitter/-/fbemitter-3.0.0.tgz", "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", "dependencies": { "fbjs": "^3.0.0" @@ -9783,7 +9622,7 @@ }, "node_modules/fbjs": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "resolved": "https://registry.npmmirror.com/fbjs/-/fbjs-3.0.5.tgz", "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", "dependencies": { "cross-fetch": "^3.1.5", @@ -9797,13 +9636,13 @@ }, "node_modules/fbjs-css-vars": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" }, "node_modules/fbjs/node_modules/ua-parser-js": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz", - "integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==", + "version": "1.0.39", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==", "funding": [ { "type": "opencollective", @@ -9818,18 +9657,21 @@ "url": "https://github.com/sponsors/faisalman" } ], + "bin": { + "ua-parser-js": "script/cli.js" + }, "engines": { "node": "*" } }, "node_modules/fecha": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "resolved": "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz", "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" }, "node_modules/file-entry-cache": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dependencies": { "flat-cache": "^3.0.4" @@ -9840,7 +9682,7 @@ }, "node_modules/file-loader": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dependencies": { "loader-utils": "^2.0.0", @@ -9859,7 +9701,7 @@ }, "node_modules/file-loader/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -9874,7 +9716,7 @@ }, "node_modules/file-loader/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" @@ -9882,12 +9724,12 @@ }, "node_modules/file-loader/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/file-loader/node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", @@ -9904,7 +9746,7 @@ }, "node_modules/filelist": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dependencies": { "minimatch": "^5.0.1" @@ -9912,7 +9754,7 @@ }, "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" @@ -9920,7 +9762,7 @@ }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dependencies": { "brace-expansion": "^2.0.1" @@ -9931,7 +9773,7 @@ }, "node_modules/filesize": { "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz", "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", "engines": { "node": ">= 0.4.0" @@ -9939,7 +9781,7 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" @@ -9949,12 +9791,12 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -9967,7 +9809,7 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -9975,12 +9817,12 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/find-cache-dir": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "resolved": "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dependencies": { "commondir": "^1.0.1", @@ -9996,7 +9838,7 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dependencies": { "locate-path": "^6.0.0", @@ -10011,7 +9853,7 @@ }, "node_modules/flat-cache": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dependencies": { "flatted": "^3.2.9", @@ -10023,13 +9865,13 @@ } }, "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" }, "node_modules/flux": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", + "resolved": "https://registry.npmmirror.com/flux/-/flux-4.0.4.tgz", "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", "dependencies": { "fbemitter": "^3.0.0", @@ -10040,9 +9882,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -10060,7 +9902,7 @@ }, "node_modules/for-each": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dependencies": { "is-callable": "^1.1.3" @@ -10068,7 +9910,7 @@ }, "node_modules/foreground-child": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz", "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dependencies": { "cross-spawn": "^7.0.0", @@ -10083,7 +9925,7 @@ }, "node_modules/foreground-child/node_modules/signal-exit": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { "node": ">=14" @@ -10094,7 +9936,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin": { "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", "dependencies": { "@babel/code-frame": "^7.8.3", @@ -10132,7 +9974,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -10147,7 +9989,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" @@ -10155,7 +9997,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -10170,7 +10012,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dependencies": { "@types/parse-json": "^4.0.0", @@ -10185,7 +10027,7 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", @@ -10199,12 +10041,12 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", "dependencies": { "@types/json-schema": "^7.0.4", @@ -10221,16 +10063,16 @@ }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "engines": { "node": ">=6" } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -10242,7 +10084,7 @@ }, "node_modules/forwarded": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" @@ -10250,7 +10092,7 @@ }, "node_modules/fraction.js": { "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "engines": { "node": "*" @@ -10262,7 +10104,7 @@ }, "node_modules/fresh": { "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" @@ -10270,7 +10112,7 @@ }, "node_modules/fs-extra": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dependencies": { "graceful-fs": "^4.2.0", @@ -10283,7 +10125,7 @@ }, "node_modules/fs-minipass": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dependencies": { "minipass": "^3.0.0" @@ -10294,17 +10136,17 @@ }, "node_modules/fs-monkey": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.6.tgz", "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, "optional": true, @@ -10317,7 +10159,7 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10325,7 +10167,7 @@ }, "node_modules/function.prototype.name": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz", "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dependencies": { "call-bind": "^1.0.2", @@ -10342,7 +10184,7 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "resolved": "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10350,7 +10192,7 @@ }, "node_modules/gauge": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "resolved": "https://registry.npmmirror.com/gauge/-/gauge-4.0.4.tgz", "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "deprecated": "This package is no longer supported.", "dependencies": { @@ -10369,7 +10211,7 @@ }, "node_modules/gaze": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/gaze/-/gaze-1.1.3.tgz", "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dependencies": { "globule": "^1.0.0" @@ -10380,7 +10222,7 @@ }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "engines": { "node": ">=6.9.0" @@ -10388,7 +10230,7 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -10396,7 +10238,7 @@ }, "node_modules/get-intrinsic": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { "es-errors": "^1.3.0", @@ -10414,12 +10256,12 @@ }, "node_modules/get-own-enumerable-property-symbols": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, "node_modules/get-package-type": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "engines": { "node": ">=8.0.0" @@ -10427,7 +10269,7 @@ }, "node_modules/get-stdin": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/get-stdin/-/get-stdin-4.0.1.tgz", "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", "engines": { "node": ">=0.10.0" @@ -10435,7 +10277,7 @@ }, "node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { "node": ">=10" @@ -10446,7 +10288,7 @@ }, "node_modules/get-symbol-description": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz", "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", "dependencies": { "call-bind": "^1.0.5", @@ -10462,17 +10304,17 @@ }, "node_modules/gl-matrix": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz", "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" }, "node_modules/gl-vec2": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/gl-vec2/-/gl-vec2-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/gl-vec2/-/gl-vec2-1.3.0.tgz", "integrity": "sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==" }, "node_modules/glob": { "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { @@ -10492,7 +10334,7 @@ }, "node_modules/glob-parent": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { "is-glob": "^4.0.3" @@ -10503,12 +10345,12 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/global-modules": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dependencies": { "global-prefix": "^3.0.0" @@ -10519,7 +10361,7 @@ }, "node_modules/global-prefix": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", "dependencies": { "ini": "^1.3.5", @@ -10532,7 +10374,7 @@ }, "node_modules/global-prefix/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dependencies": { "isexe": "^2.0.0" @@ -10543,7 +10385,7 @@ }, "node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dependencies": { "type-fest": "^0.20.2" @@ -10557,7 +10399,7 @@ }, "node_modules/globalthis": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dependencies": { "define-properties": "^1.2.1", @@ -10572,7 +10414,7 @@ }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { "array-union": "^2.1.0", @@ -10591,7 +10433,7 @@ }, "node_modules/globule": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", + "resolved": "https://registry.npmmirror.com/globule/-/globule-1.3.4.tgz", "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", "dependencies": { "glob": "~7.1.1", @@ -10604,7 +10446,7 @@ }, "node_modules/globule/node_modules/glob": { "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "deprecated": "Glob versions prior to v9 are no longer supported", "dependencies": { @@ -10624,7 +10466,7 @@ }, "node_modules/globule/node_modules/minimatch": { "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.0.8.tgz", "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", "dependencies": { "brace-expansion": "^1.1.7" @@ -10635,7 +10477,7 @@ }, "node_modules/gopd": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { "get-intrinsic": "^1.1.3" @@ -10646,17 +10488,17 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/graphemer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/graphlib": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "resolved": "https://registry.npmmirror.com/graphlib/-/graphlib-2.1.8.tgz", "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", "dependencies": { "lodash": "^4.17.15" @@ -10664,7 +10506,7 @@ }, "node_modules/gzip-size": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz", "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dependencies": { "duplexer": "^0.1.2" @@ -10678,12 +10520,12 @@ }, "node_modules/handle-thing": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, "node_modules/hard-rejection": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "engines": { "node": ">=6" @@ -10691,12 +10533,12 @@ }, "node_modules/harmony-reflect": { "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "resolved": "https://registry.npmmirror.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz", "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" }, "node_modules/has-bigints": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.0.2.tgz", "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -10704,7 +10546,7 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" @@ -10712,7 +10554,7 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { "es-define-property": "^1.0.0" @@ -10723,7 +10565,7 @@ }, "node_modules/has-proto": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", "engines": { "node": ">= 0.4" @@ -10734,7 +10576,7 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" @@ -10745,7 +10587,7 @@ }, "node_modules/has-tostringtag": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dependencies": { "has-symbols": "^1.0.3" @@ -10759,12 +10601,12 @@ }, "node_modules/has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dependencies": { "function-bind": "^1.1.2" @@ -10775,20 +10617,20 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "bin": { "he": "bin/he" } }, "node_modules/highlight-words-core": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/highlight-words-core/-/highlight-words-core-1.2.2.tgz", - "integrity": "sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==" + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/highlight-words-core/-/highlight-words-core-1.2.3.tgz", + "integrity": "sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ==" }, "node_modules/hoopy": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "resolved": "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "engines": { "node": ">= 6.0.0" @@ -10796,7 +10638,7 @@ }, "node_modules/hosted-git-info": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dependencies": { "lru-cache": "^6.0.0" @@ -10807,7 +10649,7 @@ }, "node_modules/hosted-git-info/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" @@ -10818,7 +10660,7 @@ }, "node_modules/hpack.js": { "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dependencies": { "inherits": "^2.0.1", @@ -10829,12 +10671,12 @@ }, "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", @@ -10848,12 +10690,12 @@ }, "node_modules/hpack.js/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/hpack.js/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" @@ -10861,7 +10703,7 @@ }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", "dependencies": { "whatwg-encoding": "^1.0.5" @@ -10872,7 +10714,7 @@ }, "node_modules/html-entities": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.2.tgz", "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", "funding": [ { @@ -10887,12 +10729,12 @@ }, "node_modules/html-escaper": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" }, "node_modules/html-minifier-terser": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", "dependencies": { "camel-case": "^4.1.2", @@ -10912,17 +10754,16 @@ }, "node_modules/html-parse-stringify": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "license": "MIT", "dependencies": { "void-elements": "3.1.0" } }, "node_modules/html-webpack-plugin": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", - "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "version": "5.6.3", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", "dependencies": { "@types/html-minifier-terser": "^6.0.0", "html-minifier-terser": "^6.0.2", @@ -10952,7 +10793,7 @@ }, "node_modules/htmlparser2": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -10970,17 +10811,17 @@ }, "node_modules/http-cache-semantics": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, "node_modules/http-deceiver": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" }, "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { "depd": "2.0.0", @@ -10995,12 +10836,12 @@ }, "node_modules/http-parser-js": { "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "resolved": "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz", "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" }, "node_modules/http-proxy": { "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dependencies": { "eventemitter3": "^4.0.0", @@ -11013,7 +10854,7 @@ }, "node_modules/http-proxy-agent": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", "dependencies": { "@tootallnate/once": "2", @@ -11025,9 +10866,9 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -11049,7 +10890,7 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { "agent-base": "6", @@ -11061,7 +10902,7 @@ }, "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "engines": { "node": ">=10.17.0" @@ -11069,7 +10910,7 @@ }, "node_modules/humanize-ms": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dependencies": { "ms": "^2.0.0" @@ -11077,16 +10918,15 @@ }, "node_modules/i18next": { "version": "19.9.2", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.9.2.tgz", + "resolved": "https://registry.npmmirror.com/i18next/-/i18next-19.9.2.tgz", "integrity": "sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.0" } }, "node_modules/iconv-lite": { "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -11097,7 +10937,7 @@ }, "node_modules/icss-utils": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "engines": { "node": "^10 || ^12 || >= 14" @@ -11108,12 +10948,12 @@ }, "node_modules/idb": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "resolved": "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz", "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" }, "node_modules/identity-obj-proxy": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dependencies": { "harmony-reflect": "^1.4.6" @@ -11124,7 +10964,7 @@ }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "engines": { "node": ">= 4" @@ -11132,7 +10972,7 @@ }, "node_modules/immer": { "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", "funding": { "type": "opencollective", @@ -11141,7 +10981,7 @@ }, "node_modules/import-fresh": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { "parent-module": "^1.0.0", @@ -11156,7 +10996,7 @@ }, "node_modules/import-local": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz", "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dependencies": { "pkg-dir": "^4.2.0", @@ -11174,7 +11014,7 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { "node": ">=0.8.19" @@ -11182,7 +11022,7 @@ }, "node_modules/indent-string": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "engines": { "node": ">=8" @@ -11190,7 +11030,7 @@ }, "node_modules/index-array-by": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz", + "resolved": "https://registry.npmmirror.com/index-array-by/-/index-array-by-1.4.2.tgz", "integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==", "engines": { "node": ">=12" @@ -11198,12 +11038,12 @@ }, "node_modules/infer-owner": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { @@ -11213,22 +11053,22 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/insert-css": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/insert-css/-/insert-css-2.0.0.tgz", "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==" }, "node_modules/install": { "version": "0.13.0", - "resolved": "https://registry.npmjs.org/install/-/install-0.13.0.tgz", + "resolved": "https://registry.npmmirror.com/install/-/install-0.13.0.tgz", "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==", "engines": { "node": ">= 0.10" @@ -11236,7 +11076,7 @@ }, "node_modules/internal-slot": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.7.tgz", "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", "dependencies": { "es-errors": "^1.3.0", @@ -11249,7 +11089,7 @@ }, "node_modules/internmap": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "engines": { "node": ">=12" @@ -11257,7 +11097,7 @@ }, "node_modules/ip-address": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-9.0.5.tgz", "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", "dependencies": { "jsbn": "1.1.0", @@ -11269,7 +11109,7 @@ }, "node_modules/ipaddr.js": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz", "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", "engines": { "node": ">= 10" @@ -11277,12 +11117,12 @@ }, "node_modules/is-any-array": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-any-array/-/is-any-array-2.0.1.tgz", "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" }, "node_modules/is-arguments": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.1.1.tgz", "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { "call-bind": "^1.0.2", @@ -11297,7 +11137,7 @@ }, "node_modules/is-array-buffer": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz", "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", "dependencies": { "call-bind": "^1.0.2", @@ -11312,12 +11152,12 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-async-function": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.0.0.tgz", "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -11331,7 +11171,7 @@ }, "node_modules/is-bigint": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" @@ -11342,7 +11182,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { "binary-extensions": "^2.0.0" @@ -11353,7 +11193,7 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz", "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { "call-bind": "^1.0.2", @@ -11368,7 +11208,7 @@ }, "node_modules/is-callable": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { "node": ">= 0.4" @@ -11378,9 +11218,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dependencies": { "hasown": "^2.0.2" }, @@ -11393,7 +11233,7 @@ }, "node_modules/is-data-view": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.1.tgz", "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", "dependencies": { "is-typed-array": "^1.1.13" @@ -11407,7 +11247,7 @@ }, "node_modules/is-date-object": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz", "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -11421,7 +11261,7 @@ }, "node_modules/is-docker": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "bin": { "is-docker": "cli.js" @@ -11435,18 +11275,21 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", "dependencies": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11454,7 +11297,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { "node": ">=8" @@ -11462,7 +11305,7 @@ }, "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "engines": { "node": ">=6" @@ -11470,7 +11313,7 @@ }, "node_modules/is-generator-function": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.0.10.tgz", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -11484,7 +11327,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" @@ -11495,12 +11338,12 @@ }, "node_modules/is-lambda": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-lambda/-/is-lambda-1.0.1.tgz", "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" }, "node_modules/is-map": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "engines": { "node": ">= 0.4" @@ -11511,12 +11354,12 @@ }, "node_modules/is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" }, "node_modules/is-negative-zero": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz", "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", "engines": { "node": ">= 0.4" @@ -11527,7 +11370,7 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "engines": { "node": ">=0.12.0" @@ -11535,7 +11378,7 @@ }, "node_modules/is-number-object": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.0.7.tgz", "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -11549,7 +11392,7 @@ }, "node_modules/is-obj": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "engines": { "node": ">=0.10.0" @@ -11557,7 +11400,7 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "engines": { "node": ">=8" @@ -11565,7 +11408,7 @@ }, "node_modules/is-plain-obj": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "engines": { "node": ">=10" @@ -11576,12 +11419,12 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, "node_modules/is-regex": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "resolved": "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz", "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { "call-bind": "^1.0.2", @@ -11596,7 +11439,7 @@ }, "node_modules/is-regexp": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", "engines": { "node": ">=0.10.0" @@ -11604,7 +11447,7 @@ }, "node_modules/is-root": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/is-root/-/is-root-2.1.0.tgz", "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", "engines": { "node": ">=6" @@ -11612,7 +11455,7 @@ }, "node_modules/is-set": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "engines": { "node": ">= 0.4" @@ -11623,7 +11466,7 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", "dependencies": { "call-bind": "^1.0.7" @@ -11637,7 +11480,7 @@ }, "node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "engines": { "node": ">=8" @@ -11648,7 +11491,7 @@ }, "node_modules/is-string": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { "has-tostringtag": "^1.0.0" @@ -11662,7 +11505,7 @@ }, "node_modules/is-symbol": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.0.4.tgz", "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" @@ -11676,7 +11519,7 @@ }, "node_modules/is-typed-array": { "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.13.tgz", "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dependencies": { "which-typed-array": "^1.1.14" @@ -11690,12 +11533,12 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "node_modules/is-weakmap": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "engines": { "node": ">= 0.4" @@ -11706,7 +11549,7 @@ }, "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz", "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { "call-bind": "^1.0.2" @@ -11717,7 +11560,7 @@ }, "node_modules/is-weakset": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.3.tgz", "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dependencies": { "call-bind": "^1.0.7", @@ -11732,7 +11575,7 @@ }, "node_modules/is-wsl": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dependencies": { "is-docker": "^2.0.0" @@ -11743,17 +11586,17 @@ }, "node_modules/isarray": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "engines": { "node": ">=8" @@ -11761,7 +11604,7 @@ }, "node_modules/istanbul-lib-instrument": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dependencies": { "@babel/core": "^7.12.3", @@ -11776,7 +11619,7 @@ }, "node_modules/istanbul-lib-instrument/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -11784,7 +11627,7 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dependencies": { "istanbul-lib-coverage": "^3.0.0", @@ -11797,7 +11640,7 @@ }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dependencies": { "semver": "^7.5.3" @@ -11811,7 +11654,7 @@ }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dependencies": { "debug": "^4.1.1", @@ -11824,7 +11667,7 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -11832,7 +11675,7 @@ }, "node_modules/istanbul-reports": { "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dependencies": { "html-escaper": "^2.0.0", @@ -11843,20 +11686,23 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", "dependencies": { "define-properties": "^1.2.1", "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "reflect.getprototypeof": "^1.0.4", "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -11870,7 +11716,7 @@ }, "node_modules/jake": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.2.tgz", "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "dependencies": { "async": "^3.2.3", @@ -11887,7 +11733,7 @@ }, "node_modules/jake/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -11902,7 +11748,7 @@ }, "node_modules/jest": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "dependencies": { "@jest/core": "^27.5.1", @@ -11926,7 +11772,7 @@ }, "node_modules/jest-changed-files": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dependencies": { "@jest/types": "^27.5.1", @@ -11939,7 +11785,7 @@ }, "node_modules/jest-changed-files/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -11954,7 +11800,7 @@ }, "node_modules/jest-changed-files/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -11962,7 +11808,7 @@ }, "node_modules/jest-changed-files/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -11977,7 +11823,7 @@ }, "node_modules/jest-circus": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", "dependencies": { "@jest/environment": "^27.5.1", @@ -12006,7 +11852,7 @@ }, "node_modules/jest-circus/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12021,7 +11867,7 @@ }, "node_modules/jest-circus/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12029,7 +11875,7 @@ }, "node_modules/jest-circus/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12044,7 +11890,7 @@ }, "node_modules/jest-circus/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12052,7 +11898,7 @@ }, "node_modules/jest-circus/node_modules/expect": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12066,7 +11912,7 @@ }, "node_modules/jest-circus/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { "chalk": "^4.0.0", @@ -12080,7 +11926,7 @@ }, "node_modules/jest-circus/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12088,7 +11934,7 @@ }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { "chalk": "^4.0.0", @@ -12102,7 +11948,7 @@ }, "node_modules/jest-circus/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -12121,7 +11967,7 @@ }, "node_modules/jest-circus/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12137,7 +11983,7 @@ }, "node_modules/jest-cli": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dependencies": { "@jest/core": "^27.5.1", @@ -12170,7 +12016,7 @@ }, "node_modules/jest-cli/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12185,7 +12031,7 @@ }, "node_modules/jest-cli/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12193,7 +12039,7 @@ }, "node_modules/jest-cli/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12208,7 +12054,7 @@ }, "node_modules/jest-cli/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12224,7 +12070,7 @@ }, "node_modules/jest-config": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dependencies": { "@babel/core": "^7.8.0", @@ -12266,7 +12112,7 @@ }, "node_modules/jest-config/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12281,7 +12127,7 @@ }, "node_modules/jest-config/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12289,7 +12135,7 @@ }, "node_modules/jest-config/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12304,7 +12150,7 @@ }, "node_modules/jest-config/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12312,7 +12158,7 @@ }, "node_modules/jest-config/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12328,7 +12174,7 @@ }, "node_modules/jest-diff": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dependencies": { "chalk": "^4.0.0", @@ -12342,7 +12188,7 @@ }, "node_modules/jest-diff/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12357,7 +12203,7 @@ }, "node_modules/jest-diff/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { "@jest/schemas": "^29.6.3", @@ -12370,7 +12216,7 @@ }, "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -12381,12 +12227,12 @@ }, "node_modules/jest-diff/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-docblock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dependencies": { "detect-newline": "^3.0.0" @@ -12397,7 +12243,7 @@ }, "node_modules/jest-each": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dependencies": { "@jest/types": "^27.5.1", @@ -12412,7 +12258,7 @@ }, "node_modules/jest-each/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12427,7 +12273,7 @@ }, "node_modules/jest-each/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12435,7 +12281,7 @@ }, "node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12450,7 +12296,7 @@ }, "node_modules/jest-each/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12458,7 +12304,7 @@ }, "node_modules/jest-each/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12474,7 +12320,7 @@ }, "node_modules/jest-environment-jsdom": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dependencies": { "@jest/environment": "^27.5.1", @@ -12491,7 +12337,7 @@ }, "node_modules/jest-environment-jsdom/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12506,7 +12352,7 @@ }, "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12514,7 +12360,7 @@ }, "node_modules/jest-environment-jsdom/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12529,7 +12375,7 @@ }, "node_modules/jest-environment-jsdom/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12545,7 +12391,7 @@ }, "node_modules/jest-environment-node": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dependencies": { "@jest/environment": "^27.5.1", @@ -12561,7 +12407,7 @@ }, "node_modules/jest-environment-node/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12576,7 +12422,7 @@ }, "node_modules/jest-environment-node/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12584,7 +12430,7 @@ }, "node_modules/jest-environment-node/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12599,7 +12445,7 @@ }, "node_modules/jest-environment-node/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12615,7 +12461,7 @@ }, "node_modules/jest-get-type": { "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -12623,7 +12469,7 @@ }, "node_modules/jest-haste-map": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dependencies": { "@jest/types": "^27.5.1", @@ -12648,7 +12494,7 @@ }, "node_modules/jest-haste-map/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12663,7 +12509,7 @@ }, "node_modules/jest-haste-map/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12671,7 +12517,7 @@ }, "node_modules/jest-haste-map/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12686,7 +12532,7 @@ }, "node_modules/jest-haste-map/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12702,7 +12548,7 @@ }, "node_modules/jest-jasmine2": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "dependencies": { "@jest/environment": "^27.5.1", @@ -12729,7 +12575,7 @@ }, "node_modules/jest-jasmine2/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -12744,7 +12590,7 @@ }, "node_modules/jest-jasmine2/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -12752,7 +12598,7 @@ }, "node_modules/jest-jasmine2/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12767,7 +12613,7 @@ }, "node_modules/jest-jasmine2/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12775,7 +12621,7 @@ }, "node_modules/jest-jasmine2/node_modules/expect": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12789,7 +12635,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { "chalk": "^4.0.0", @@ -12803,7 +12649,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12811,7 +12657,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { "chalk": "^4.0.0", @@ -12825,7 +12671,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -12844,7 +12690,7 @@ }, "node_modules/jest-jasmine2/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -12860,7 +12706,7 @@ }, "node_modules/jest-leak-detector": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dependencies": { "jest-get-type": "^27.5.1", @@ -12872,7 +12718,7 @@ }, "node_modules/jest-leak-detector/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -12880,7 +12726,7 @@ }, "node_modules/jest-matcher-utils": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dependencies": { "chalk": "^4.0.0", @@ -12894,7 +12740,7 @@ }, "node_modules/jest-matcher-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12909,7 +12755,7 @@ }, "node_modules/jest-matcher-utils/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { "@jest/schemas": "^29.6.3", @@ -12922,7 +12768,7 @@ }, "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -12933,12 +12779,12 @@ }, "node_modules/jest-matcher-utils/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-message-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -12957,7 +12803,7 @@ }, "node_modules/jest-message-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -12972,7 +12818,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { "@jest/schemas": "^29.6.3", @@ -12985,7 +12831,7 @@ }, "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -12996,12 +12842,12 @@ }, "node_modules/jest-message-util/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-mock": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dependencies": { "@jest/types": "^27.5.1", @@ -13013,7 +12859,7 @@ }, "node_modules/jest-mock/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13028,7 +12874,7 @@ }, "node_modules/jest-mock/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13036,7 +12882,7 @@ }, "node_modules/jest-mock/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13051,7 +12897,7 @@ }, "node_modules/jest-pnp-resolver": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "engines": { "node": ">=6" @@ -13067,7 +12913,7 @@ }, "node_modules/jest-regex-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -13075,7 +12921,7 @@ }, "node_modules/jest-resolve": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13095,7 +12941,7 @@ }, "node_modules/jest-resolve-dependencies": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", "dependencies": { "@jest/types": "^27.5.1", @@ -13108,7 +12954,7 @@ }, "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13123,7 +12969,7 @@ }, "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13131,7 +12977,7 @@ }, "node_modules/jest-resolve-dependencies/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13146,7 +12992,7 @@ }, "node_modules/jest-resolve/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13161,7 +13007,7 @@ }, "node_modules/jest-resolve/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13169,7 +13015,7 @@ }, "node_modules/jest-resolve/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13184,7 +13030,7 @@ }, "node_modules/jest-resolve/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13200,7 +13046,7 @@ }, "node_modules/jest-resolve/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -13216,7 +13062,7 @@ }, "node_modules/jest-runner": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", "dependencies": { "@jest/console": "^27.5.1", @@ -13247,7 +13093,7 @@ }, "node_modules/jest-runner/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13262,7 +13108,7 @@ }, "node_modules/jest-runner/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13270,7 +13116,7 @@ }, "node_modules/jest-runner/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13285,7 +13131,7 @@ }, "node_modules/jest-runner/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -13304,7 +13150,7 @@ }, "node_modules/jest-runner/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13320,7 +13166,7 @@ }, "node_modules/jest-runtime": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", "dependencies": { "@jest/environment": "^27.5.1", @@ -13352,7 +13198,7 @@ }, "node_modules/jest-runtime/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13367,7 +13213,7 @@ }, "node_modules/jest-runtime/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13375,7 +13221,7 @@ }, "node_modules/jest-runtime/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13390,7 +13236,7 @@ }, "node_modules/jest-runtime/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -13409,7 +13255,7 @@ }, "node_modules/jest-runtime/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13425,7 +13271,7 @@ }, "node_modules/jest-serializer": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", "dependencies": { "@types/node": "*", @@ -13437,7 +13283,7 @@ }, "node_modules/jest-snapshot": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "dependencies": { "@babel/core": "^7.7.2", @@ -13469,7 +13315,7 @@ }, "node_modules/jest-snapshot/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13484,7 +13330,7 @@ }, "node_modules/jest-snapshot/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13492,7 +13338,7 @@ }, "node_modules/jest-snapshot/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13507,7 +13353,7 @@ }, "node_modules/jest-snapshot/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -13515,7 +13361,7 @@ }, "node_modules/jest-snapshot/node_modules/expect": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13529,7 +13375,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-diff": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { "chalk": "^4.0.0", @@ -13543,7 +13389,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -13551,7 +13397,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { "chalk": "^4.0.0", @@ -13565,7 +13411,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-message-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -13584,7 +13430,7 @@ }, "node_modules/jest-snapshot/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -13600,7 +13446,7 @@ }, "node_modules/jest-util": { "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dependencies": { "@jest/types": "^29.6.3", @@ -13616,7 +13462,7 @@ }, "node_modules/jest-util/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13631,7 +13477,7 @@ }, "node_modules/jest-validate": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", "dependencies": { "@jest/types": "^27.5.1", @@ -13647,7 +13493,7 @@ }, "node_modules/jest-validate/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -13662,7 +13508,7 @@ }, "node_modules/jest-validate/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -13670,7 +13516,7 @@ }, "node_modules/jest-validate/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" @@ -13681,7 +13527,7 @@ }, "node_modules/jest-validate/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13696,7 +13542,7 @@ }, "node_modules/jest-validate/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" @@ -13704,7 +13550,7 @@ }, "node_modules/jest-watch-typeahead": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", "dependencies": { "ansi-escapes": "^4.3.1", @@ -13724,7 +13570,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/@jest/console": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-28.1.3.tgz", "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dependencies": { "@jest/types": "^28.1.3", @@ -13740,7 +13586,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" @@ -13748,7 +13594,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-28.1.3.tgz", "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dependencies": { "@sinclair/typebox": "^0.24.1" @@ -13759,7 +13605,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-28.1.3.tgz", "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dependencies": { "@jest/console": "^28.1.3", @@ -13773,7 +13619,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/@jest/types": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-28.1.3.tgz", "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dependencies": { "@jest/schemas": "^28.1.3", @@ -13789,12 +13635,12 @@ }, "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.24.51.tgz", "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" }, "node_modules/jest-watch-typeahead/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -13809,7 +13655,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/emittery": { "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.10.2.tgz", "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", "engines": { "node": ">=12" @@ -13820,7 +13666,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-28.1.3.tgz", "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dependencies": { "@babel/code-frame": "^7.12.13", @@ -13839,7 +13685,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" @@ -13847,7 +13693,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz", "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", "engines": { "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" @@ -13855,7 +13701,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-util": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-28.1.3.tgz", "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", "dependencies": { "@jest/types": "^28.1.3", @@ -13871,7 +13717,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-28.1.3.tgz", "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", "dependencies": { "@jest/test-result": "^28.1.3", @@ -13889,7 +13735,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { "char-regex": "^1.0.2", @@ -13901,7 +13747,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" @@ -13912,7 +13758,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/pretty-format": { "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-28.1.3.tgz", "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dependencies": { "@jest/schemas": "^28.1.3", @@ -13926,7 +13772,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -13937,12 +13783,12 @@ }, "node_modules/jest-watch-typeahead/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/jest-watch-typeahead/node_modules/slash": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "engines": { "node": ">=12" @@ -13953,7 +13799,7 @@ }, "node_modules/jest-watch-typeahead/node_modules/string-length": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-5.0.1.tgz", "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "dependencies": { "char-regex": "^2.0.0", @@ -13967,16 +13813,16 @@ } }, "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", "engines": { "node": ">=12.20" } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dependencies": { "ansi-regex": "^6.0.1" @@ -13989,9 +13835,9 @@ } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -14001,7 +13847,7 @@ }, "node_modules/jest-watcher": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dependencies": { "@jest/test-result": "^27.5.1", @@ -14018,7 +13864,7 @@ }, "node_modules/jest-watcher/node_modules/@jest/types": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.0", @@ -14033,7 +13879,7 @@ }, "node_modules/jest-watcher/node_modules/@types/yargs": { "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", "dependencies": { "@types/yargs-parser": "*" @@ -14041,7 +13887,7 @@ }, "node_modules/jest-watcher/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -14056,7 +13902,7 @@ }, "node_modules/jest-watcher/node_modules/jest-util": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { "@jest/types": "^27.5.1", @@ -14072,7 +13918,7 @@ }, "node_modules/jest-worker": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dependencies": { "@types/node": "*", @@ -14085,7 +13931,7 @@ }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" @@ -14099,7 +13945,7 @@ }, "node_modules/jiti": { "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz", "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "bin": { "jiti": "bin/jiti.js" @@ -14107,27 +13953,27 @@ }, "node_modules/jquery": { "version": "3.7.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz", "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" }, "node_modules/jquery-mousewheel": { "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "resolved": "https://registry.npmmirror.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" }, "node_modules/js-base64": { "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" @@ -14138,12 +13984,12 @@ }, "node_modules/jsbn": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, "node_modules/jsdom": { "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dependencies": { "abab": "^2.0.5", @@ -14188,16 +14034,16 @@ }, "node_modules/jsdom/node_modules/@tootallnate/once": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "engines": { "node": ">= 6" } }, "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -14209,7 +14055,7 @@ }, "node_modules/jsdom/node_modules/http-proxy-agent": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dependencies": { "@tootallnate/once": "1", @@ -14222,7 +14068,7 @@ }, "node_modules/jsdom/node_modules/tr46": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dependencies": { "punycode": "^2.1.1" @@ -14233,7 +14079,7 @@ }, "node_modules/jsdom/node_modules/whatwg-url": { "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dependencies": { "lodash": "^4.7.0", @@ -14245,19 +14091,19 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-bigint": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz", "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", "dependencies": { "bignumber.js": "^9.0.0" @@ -14265,32 +14111,32 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "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==" }, "node_modules/json-schema": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" }, "node_modules/json2mq": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz", "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", "dependencies": { "string-convert": "^0.2.0" @@ -14298,7 +14144,7 @@ }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" @@ -14309,7 +14155,7 @@ }, "node_modules/jsonfile": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { "universalify": "^2.0.0" @@ -14320,7 +14166,7 @@ }, "node_modules/jsonpath": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/jsonpath/-/jsonpath-1.1.1.tgz", "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", "dependencies": { "esprima": "1.2.2", @@ -14330,7 +14176,7 @@ }, "node_modules/jsonpath/node_modules/esprima": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-1.2.2.tgz", "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", "bin": { "esparse": "bin/esparse.js", @@ -14342,7 +14188,7 @@ }, "node_modules/jsonpointer": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", "engines": { "node": ">=0.10.0" @@ -14350,7 +14196,7 @@ }, "node_modules/jsx-ast-utils": { "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dependencies": { "array-includes": "^3.1.6", @@ -14363,9 +14209,9 @@ } }, "node_modules/kapsule": { - "version": "1.14.5", - "resolved": "https://registry.npmjs.org/kapsule/-/kapsule-1.14.5.tgz", - "integrity": "sha512-H0iSpTynUzZw3tgraDmReprpFRmH5oP5GPmaNsurSwLx2H5iCpOMIkp5q+sfhB4Tz/UJd1E1IbEE9Z6ksnJ6RA==", + "version": "1.14.6", + "resolved": "https://registry.npmmirror.com/kapsule/-/kapsule-1.14.6.tgz", + "integrity": "sha512-wSi6tHNOfXrIK2Pvv6BhZ9ukzhbp+XZlOOPWSVGUbqfFsnnli4Eq8FN6TaWJv2e17sY5+fKYVxa4DP2oPGlKhg==", "dependencies": { "lodash-es": "4" }, @@ -14375,7 +14221,7 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { "json-buffer": "3.0.1" @@ -14383,7 +14229,7 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "resolved": "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { "node": ">=0.10.0" @@ -14391,7 +14237,7 @@ }, "node_modules/kleur": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "engines": { "node": ">=6" @@ -14399,7 +14245,7 @@ }, "node_modules/klona": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "engines": { "node": ">= 8" @@ -14407,12 +14253,12 @@ }, "node_modules/language-subtag-registry": { "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" }, "node_modules/language-tags": { "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.9.tgz", "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dependencies": { "language-subtag-registry": "^0.3.20" @@ -14422,9 +14268,9 @@ } }, "node_modules/launch-editor": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.1.tgz", - "integrity": "sha512-elBx2l/tp9z99X5H/qev8uyDywVh0VXAwEbjk8kJhnc5grOFkGh7aW6q55me9xnYbss261XtnUrysZ+XvGbhQA==", + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -14432,7 +14278,7 @@ }, "node_modules/leven": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "engines": { "node": ">=6" @@ -14440,7 +14286,7 @@ }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dependencies": { "prelude-ls": "^1.2.1", @@ -14452,7 +14298,7 @@ }, "node_modules/lilconfig": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "engines": { "node": ">=10" @@ -14460,12 +14306,12 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/loader-runner": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "engines": { "node": ">=6.11.5" @@ -14473,7 +14319,7 @@ }, "node_modules/loader-utils": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dependencies": { "big.js": "^5.2.2", @@ -14486,7 +14332,7 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dependencies": { "p-locate": "^5.0.0" @@ -14500,52 +14346,52 @@ }, "node_modules/lodash": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash-es": { "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.curry": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "resolved": "https://registry.npmmirror.com/lodash.curry/-/lodash.curry-4.1.1.tgz", "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" }, "node_modules/lodash.debounce": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.flow": { "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "resolved": "https://registry.npmmirror.com/lodash.flow/-/lodash.flow-3.5.0.tgz", "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" }, "node_modules/lodash.memoize": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz", "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "node_modules/lodash.sortby": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, "node_modules/lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -14556,7 +14402,7 @@ }, "node_modules/lower-case": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dependencies": { "tslib": "^2.0.3" @@ -14564,7 +14410,7 @@ }, "node_modules/lru-cache": { "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "engines": { "node": ">=12" @@ -14572,7 +14418,7 @@ }, "node_modules/lz-string": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "resolved": "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz", "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", "bin": { "lz-string": "bin/bin.js" @@ -14580,7 +14426,7 @@ }, "node_modules/magic-string": { "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dependencies": { "sourcemap-codec": "^1.4.8" @@ -14588,7 +14434,7 @@ }, "node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dependencies": { "semver": "^6.0.0" @@ -14602,7 +14448,7 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" @@ -14610,7 +14456,7 @@ }, "node_modules/make-fetch-happen": { "version": "10.2.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dependencies": { "agentkeepalive": "^4.2.1", @@ -14636,7 +14482,7 @@ }, "node_modules/makeerror": { "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dependencies": { "tmpl": "1.0.5" @@ -14644,7 +14490,7 @@ }, "node_modules/map-obj": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "engines": { "node": ">=8" @@ -14655,17 +14501,17 @@ }, "node_modules/material-colors": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "resolved": "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz", "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" }, "node_modules/mdn-data": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" }, "node_modules/media-typer": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" @@ -14673,7 +14519,7 @@ }, "node_modules/memfs": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz", "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dependencies": { "fs-monkey": "^1.0.4" @@ -14684,12 +14530,12 @@ }, "node_modules/memoize-one": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-4.0.3.tgz", "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==" }, "node_modules/meow": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "resolved": "https://registry.npmmirror.com/meow/-/meow-9.0.0.tgz", "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dependencies": { "@types/minimist": "^1.2.0", @@ -14714,7 +14560,7 @@ }, "node_modules/meow/node_modules/type-fest": { "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "engines": { "node": ">=10" @@ -14724,18 +14570,21 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { "node": ">= 8" @@ -14743,16 +14592,16 @@ }, "node_modules/methods": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -14763,7 +14612,7 @@ }, "node_modules/mime": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" @@ -14774,7 +14623,7 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" @@ -14782,7 +14631,7 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" @@ -14793,7 +14642,7 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "engines": { "node": ">=6" @@ -14801,16 +14650,16 @@ }, "node_modules/min-indent": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "engines": { "node": ">=4" } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", - "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -14828,12 +14677,12 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { "brace-expansion": "^1.1.7" @@ -14844,7 +14693,7 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -14852,7 +14701,7 @@ }, "node_modules/minimist-options": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dependencies": { "arrify": "^1.0.1", @@ -14865,7 +14714,7 @@ }, "node_modules/minimist-options/node_modules/is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "engines": { "node": ">=0.10.0" @@ -14873,7 +14722,7 @@ }, "node_modules/minipass": { "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { "yallist": "^4.0.0" @@ -14884,7 +14733,7 @@ }, "node_modules/minipass-collect": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "dependencies": { "minipass": "^3.0.0" @@ -14895,7 +14744,7 @@ }, "node_modules/minipass-fetch": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz", "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", "dependencies": { "minipass": "^3.1.6", @@ -14911,7 +14760,7 @@ }, "node_modules/minipass-flush": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dependencies": { "minipass": "^3.0.0" @@ -14922,7 +14771,7 @@ }, "node_modules/minipass-pipeline": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dependencies": { "minipass": "^3.0.0" @@ -14933,7 +14782,7 @@ }, "node_modules/minipass-sized": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz", "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dependencies": { "minipass": "^3.0.0" @@ -14944,7 +14793,7 @@ }, "node_modules/minizlib": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dependencies": { "minipass": "^3.0.0", @@ -14956,7 +14805,7 @@ }, "node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "bin": { "mkdirp": "bin/cmd.js" @@ -14967,7 +14816,7 @@ }, "node_modules/ml-array-max": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", + "resolved": "https://registry.npmmirror.com/ml-array-max/-/ml-array-max-1.2.4.tgz", "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", "dependencies": { "is-any-array": "^2.0.0" @@ -14975,7 +14824,7 @@ }, "node_modules/ml-array-min": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", + "resolved": "https://registry.npmmirror.com/ml-array-min/-/ml-array-min-1.2.3.tgz", "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", "dependencies": { "is-any-array": "^2.0.0" @@ -14983,7 +14832,7 @@ }, "node_modules/ml-array-rescale": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", + "resolved": "https://registry.npmmirror.com/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", "dependencies": { "is-any-array": "^2.0.0", @@ -14992,9 +14841,9 @@ } }, "node_modules/ml-matrix": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.11.1.tgz", - "integrity": "sha512-Fvp1xF1O07tt6Ux9NcnEQTei5UlqbRpvvaFZGs7l3Ij+nOaEDcmbSVtxwNa8V4IfdyFI1NLNUteroMJ1S6vcEg==", + "version": "6.12.0", + "resolved": "https://registry.npmmirror.com/ml-matrix/-/ml-matrix-6.12.0.tgz", + "integrity": "sha512-AGfR+pWaC0GmzjUnB6BfwhndPEUGz0i7QUYdqNuw1zhTov/vSRJ9pP2hs6BoGpaSbtXgrKjZz2zjD1M0xuur6A==", "dependencies": { "is-any-array": "^2.0.1", "ml-array-rescale": "^1.3.7" @@ -15002,7 +14851,7 @@ }, "node_modules/moment": { "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" @@ -15010,17 +14859,17 @@ }, "node_modules/mousetrap": { "version": "1.6.5", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz", + "resolved": "https://registry.npmmirror.com/mousetrap/-/mousetrap-1.6.5.tgz", "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/multicast-dns": { "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dependencies": { "dns-packet": "^5.2.2", @@ -15032,7 +14881,7 @@ }, "node_modules/mz": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dependencies": { "any-promise": "^1.0.0", @@ -15041,13 +14890,13 @@ } }, "node_modules/nan": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", - "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==" + "version": "2.22.0", + "resolved": "https://registry.npmmirror.com/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" }, "node_modules/nanoid": { "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { @@ -15064,35 +14913,35 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/natural-compare-lite": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "engines": { "node": ">= 0.6" } }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/ngraph.events": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ngraph.events/-/ngraph.events-1.2.2.tgz", + "resolved": "https://registry.npmmirror.com/ngraph.events/-/ngraph.events-1.2.2.tgz", "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" }, "node_modules/ngraph.forcelayout": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz", + "resolved": "https://registry.npmmirror.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz", "integrity": "sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==", "dependencies": { "ngraph.events": "^1.0.0", @@ -15102,7 +14951,7 @@ }, "node_modules/ngraph.graph": { "version": "20.0.1", - "resolved": "https://registry.npmjs.org/ngraph.graph/-/ngraph.graph-20.0.1.tgz", + "resolved": "https://registry.npmmirror.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz", "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==", "dependencies": { "ngraph.events": "^1.2.1" @@ -15110,17 +14959,17 @@ }, "node_modules/ngraph.merge": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ngraph.merge/-/ngraph.merge-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz", "integrity": "sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==" }, "node_modules/ngraph.random": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ngraph.random/-/ngraph.random-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/ngraph.random/-/ngraph.random-1.1.0.tgz", "integrity": "sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==" }, "node_modules/no-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dependencies": { "lower-case": "^2.0.2", @@ -15129,7 +14978,7 @@ }, "node_modules/node-fetch": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dependencies": { "whatwg-url": "^5.0.0" @@ -15148,7 +14997,7 @@ }, "node_modules/node-forge": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "engines": { "node": ">= 6.13.0" @@ -15156,7 +15005,7 @@ }, "node_modules/node-gyp": { "version": "9.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", + "resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-9.4.1.tgz", "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", "dependencies": { "env-paths": "^2.2.0", @@ -15180,17 +15029,17 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node_modules/node-releases": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" }, "node_modules/node-sass": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-9.0.0.tgz", + "resolved": "https://registry.npmmirror.com/node-sass/-/node-sass-9.0.0.tgz", "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", "deprecated": "Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.", "hasInstallScript": true, @@ -15219,7 +15068,7 @@ }, "node_modules/node-sass/node_modules/@npmcli/fs": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-1.1.1.tgz", "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "dependencies": { "@gar/promisify": "^1.0.1", @@ -15228,7 +15077,7 @@ }, "node_modules/node-sass/node_modules/@npmcli/move-file": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-1.1.2.tgz", "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", "deprecated": "This functionality has been moved to @npmcli/fs", "dependencies": { @@ -15241,7 +15090,7 @@ }, "node_modules/node-sass/node_modules/@tootallnate/once": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "engines": { "node": ">= 6" @@ -15249,7 +15098,7 @@ }, "node_modules/node-sass/node_modules/cacache": { "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-15.3.0.tgz", "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "dependencies": { "@npmcli/fs": "^1.0.0", @@ -15277,7 +15126,7 @@ }, "node_modules/node-sass/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -15292,7 +15141,7 @@ }, "node_modules/node-sass/node_modules/http-proxy-agent": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dependencies": { "@tootallnate/once": "1", @@ -15305,7 +15154,7 @@ }, "node_modules/node-sass/node_modules/lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" @@ -15316,7 +15165,7 @@ }, "node_modules/node-sass/node_modules/minipass-fetch": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz", "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "dependencies": { "minipass": "^3.1.0", @@ -15332,7 +15181,7 @@ }, "node_modules/node-sass/node_modules/node-gyp": { "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-8.4.1.tgz", "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "dependencies": { "env-paths": "^2.2.0", @@ -15355,7 +15204,7 @@ }, "node_modules/node-sass/node_modules/node-gyp/node_modules/make-fetch-happen": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "dependencies": { "agentkeepalive": "^4.1.3", @@ -15381,7 +15230,7 @@ }, "node_modules/node-sass/node_modules/nopt": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dependencies": { "abbrev": "1" @@ -15395,7 +15244,7 @@ }, "node_modules/node-sass/node_modules/socks-proxy-agent": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "dependencies": { "agent-base": "^6.0.2", @@ -15408,7 +15257,7 @@ }, "node_modules/node-sass/node_modules/ssri": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz", "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dependencies": { "minipass": "^3.1.1" @@ -15419,7 +15268,7 @@ }, "node_modules/node-sass/node_modules/unique-filename": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dependencies": { "unique-slug": "^2.0.0" @@ -15427,7 +15276,7 @@ }, "node_modules/node-sass/node_modules/unique-slug": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dependencies": { "imurmurhash": "^0.1.4" @@ -15435,7 +15284,7 @@ }, "node_modules/nopt": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-6.0.0.tgz", "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dependencies": { "abbrev": "^1.0.0" @@ -15449,7 +15298,7 @@ }, "node_modules/normalize-package-data": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dependencies": { "hosted-git-info": "^4.0.1", @@ -15463,7 +15312,7 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" @@ -15471,7 +15320,7 @@ }, "node_modules/normalize-range": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "engines": { "node": ">=0.10.0" @@ -15479,7 +15328,7 @@ }, "node_modules/normalize-url": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "engines": { "node": ">=10" @@ -15490,7 +15339,7 @@ }, "node_modules/npm": { "version": "8.19.4", - "resolved": "https://registry.npmjs.org/npm/-/npm-8.19.4.tgz", + "resolved": "https://registry.npmmirror.com/npm/-/npm-8.19.4.tgz", "integrity": "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==", "bundleDependencies": [ "@isaacs/string-locale-compare", @@ -15567,6 +15416,11 @@ "which", "write-file-atomic" ], + "workspaces": [ + "docs", + "smoke-tests", + "workspaces/*" + ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^5.6.3", @@ -15652,7 +15506,7 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { "path-key": "^3.0.0" @@ -17856,7 +17710,7 @@ }, "node_modules/npmlog": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-6.0.2.tgz", "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "deprecated": "This package is no longer supported.", "dependencies": { @@ -17871,7 +17725,7 @@ }, "node_modules/nth-check": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dependencies": { "boolbase": "^1.0.0" @@ -17881,13 +17735,13 @@ } }, "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" + "version": "2.2.13", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "engines": { "node": ">=0.10.0" @@ -17895,16 +17749,16 @@ }, "node_modules/object-hash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "engines": { "node": ">= 6" } }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "engines": { "node": ">= 0.4" }, @@ -17914,7 +17768,7 @@ }, "node_modules/object-is": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz", "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dependencies": { "call-bind": "^1.0.7", @@ -17929,7 +17783,7 @@ }, "node_modules/object-keys": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { "node": ">= 0.4" @@ -17937,7 +17791,7 @@ }, "node_modules/object.assign": { "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz", "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dependencies": { "call-bind": "^1.0.5", @@ -17954,7 +17808,7 @@ }, "node_modules/object.entries": { "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.8.tgz", "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dependencies": { "call-bind": "^1.0.7", @@ -17967,7 +17821,7 @@ }, "node_modules/object.fromentries": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.8.tgz", "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dependencies": { "call-bind": "^1.0.7", @@ -17984,7 +17838,7 @@ }, "node_modules/object.getownpropertydescriptors": { "version": "2.1.8", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", "dependencies": { "array.prototype.reduce": "^1.0.6", @@ -18004,7 +17858,7 @@ }, "node_modules/object.groupby": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/object.groupby/-/object.groupby-1.0.3.tgz", "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", "dependencies": { "call-bind": "^1.0.7", @@ -18017,7 +17871,7 @@ }, "node_modules/object.values": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.2.0.tgz", "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dependencies": { "call-bind": "^1.0.7", @@ -18033,12 +17887,12 @@ }, "node_modules/obuf": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, "node_modules/on-finished": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" @@ -18049,7 +17903,7 @@ }, "node_modules/on-headers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", "engines": { "node": ">= 0.8" @@ -18057,7 +17911,7 @@ }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" @@ -18065,7 +17919,7 @@ }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { "mimic-fn": "^2.1.0" @@ -18079,7 +17933,7 @@ }, "node_modules/open": { "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dependencies": { "define-lazy-prop": "^2.0.0", @@ -18095,7 +17949,7 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dependencies": { "deep-is": "^0.1.3", @@ -18111,7 +17965,7 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { "yocto-queue": "^0.1.0" @@ -18125,7 +17979,7 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dependencies": { "p-limit": "^3.0.2" @@ -18139,7 +17993,7 @@ }, "node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dependencies": { "aggregate-error": "^3.0.0" @@ -18153,7 +18007,7 @@ }, "node_modules/p-retry": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dependencies": { "@types/retry": "0.12.0", @@ -18165,7 +18019,7 @@ }, "node_modules/p-retry/node_modules/retry": { "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "engines": { "node": ">= 4" @@ -18173,20 +18027,20 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "engines": { "node": ">=6" } }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, "node_modules/param-case": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dependencies": { "dot-case": "^3.0.4", @@ -18195,7 +18049,7 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dependencies": { "callsites": "^3.0.0" @@ -18206,7 +18060,7 @@ }, "node_modules/parse-json": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dependencies": { "@babel/code-frame": "^7.0.0", @@ -18223,12 +18077,12 @@ }, "node_modules/parse5": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, "node_modules/parseurl": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { "node": ">= 0.8" @@ -18236,7 +18090,7 @@ }, "node_modules/pascal-case": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dependencies": { "no-case": "^3.0.4", @@ -18245,7 +18099,7 @@ }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "engines": { "node": ">=8" @@ -18253,7 +18107,7 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" @@ -18261,7 +18115,7 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" @@ -18269,12 +18123,12 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-scurry": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { "lru-cache": "^10.2.0", @@ -18289,25 +18143,25 @@ }, "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-scurry/node_modules/minipass": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "engines": { "node": ">=8" @@ -18315,17 +18169,17 @@ }, "node_modules/performance-now": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { "node": ">=8.6" @@ -18336,7 +18190,7 @@ }, "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" @@ -18344,7 +18198,7 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "engines": { "node": ">= 6" @@ -18352,7 +18206,7 @@ }, "node_modules/pkg-dir": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dependencies": { "find-up": "^4.0.0" @@ -18363,7 +18217,7 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { "locate-path": "^5.0.0", @@ -18375,7 +18229,7 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { "p-locate": "^4.1.0" @@ -18386,7 +18240,7 @@ }, "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" @@ -18400,7 +18254,7 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" @@ -18411,7 +18265,7 @@ }, "node_modules/pkg-up": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz", "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", "dependencies": { "find-up": "^3.0.0" @@ -18422,7 +18276,7 @@ }, "node_modules/pkg-up/node_modules/find-up": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dependencies": { "locate-path": "^3.0.0" @@ -18433,7 +18287,7 @@ }, "node_modules/pkg-up/node_modules/locate-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dependencies": { "p-locate": "^3.0.0", @@ -18445,7 +18299,7 @@ }, "node_modules/pkg-up/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" @@ -18459,7 +18313,7 @@ }, "node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dependencies": { "p-limit": "^2.0.0" @@ -18470,7 +18324,7 @@ }, "node_modules/pkg-up/node_modules/path-exists": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "engines": { "node": ">=4" @@ -18478,7 +18332,7 @@ }, "node_modules/polished": { "version": "4.3.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "resolved": "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz", "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", "dependencies": { "@babel/runtime": "^7.17.8" @@ -18489,16 +18343,16 @@ }, "node_modules/possible-typed-array-names": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.49", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -18515,8 +18369,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -18524,7 +18378,7 @@ }, "node_modules/postcss-attribute-case-insensitive": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -18542,7 +18396,7 @@ }, "node_modules/postcss-browser-comments": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", "engines": { "node": ">=8" @@ -18554,7 +18408,7 @@ }, "node_modules/postcss-calc": { "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dependencies": { "postcss-selector-parser": "^6.0.9", @@ -18566,7 +18420,7 @@ }, "node_modules/postcss-clamp": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18580,7 +18434,7 @@ }, "node_modules/postcss-color-functional-notation": { "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18598,7 +18452,7 @@ }, "node_modules/postcss-color-hex-alpha": { "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18616,7 +18470,7 @@ }, "node_modules/postcss-color-rebeccapurple": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18634,7 +18488,7 @@ }, "node_modules/postcss-colormin": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz", "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dependencies": { "browserslist": "^4.21.4", @@ -18651,7 +18505,7 @@ }, "node_modules/postcss-convert-values": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", "dependencies": { "browserslist": "^4.21.4", @@ -18666,7 +18520,7 @@ }, "node_modules/postcss-custom-media": { "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18684,7 +18538,7 @@ }, "node_modules/postcss-custom-properties": { "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18702,7 +18556,7 @@ }, "node_modules/postcss-custom-selectors": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dependencies": { "postcss-selector-parser": "^6.0.4" @@ -18720,7 +18574,7 @@ }, "node_modules/postcss-dir-pseudo-class": { "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -18738,7 +18592,7 @@ }, "node_modules/postcss-discard-comments": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -18749,7 +18603,7 @@ }, "node_modules/postcss-discard-duplicates": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -18760,7 +18614,7 @@ }, "node_modules/postcss-discard-empty": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -18771,7 +18625,7 @@ }, "node_modules/postcss-discard-overridden": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -18782,7 +18636,7 @@ }, "node_modules/postcss-double-position-gradients": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", @@ -18801,7 +18655,7 @@ }, "node_modules/postcss-env-function": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "resolved": "https://registry.npmmirror.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz", "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18815,7 +18669,7 @@ }, "node_modules/postcss-flexbugs-fixes": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", "peerDependencies": { "postcss": "^8.1.4" @@ -18823,7 +18677,7 @@ }, "node_modules/postcss-focus-visible": { "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", "dependencies": { "postcss-selector-parser": "^6.0.9" @@ -18837,7 +18691,7 @@ }, "node_modules/postcss-focus-within": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", "dependencies": { "postcss-selector-parser": "^6.0.9" @@ -18851,7 +18705,7 @@ }, "node_modules/postcss-font-variant": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", "peerDependencies": { "postcss": "^8.1.0" @@ -18859,7 +18713,7 @@ }, "node_modules/postcss-gap-properties": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", "engines": { "node": "^12 || ^14 || >=16" @@ -18874,7 +18728,7 @@ }, "node_modules/postcss-image-set-function": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -18892,7 +18746,7 @@ }, "node_modules/postcss-import": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dependencies": { "postcss-value-parser": "^4.0.0", @@ -18908,7 +18762,7 @@ }, "node_modules/postcss-import/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -18924,7 +18778,7 @@ }, "node_modules/postcss-initial": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-initial/-/postcss-initial-4.0.1.tgz", "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", "peerDependencies": { "postcss": "^8.0.0" @@ -18932,7 +18786,7 @@ }, "node_modules/postcss-js": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dependencies": { "camelcase-css": "^2.0.1" @@ -18950,7 +18804,7 @@ }, "node_modules/postcss-lab-function": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", "dependencies": { "@csstools/postcss-progressive-custom-properties": "^1.1.0", @@ -18969,7 +18823,7 @@ }, "node_modules/postcss-load-config": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz", "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "funding": [ { @@ -19003,7 +18857,7 @@ }, "node_modules/postcss-load-config/node_modules/lilconfig": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.2.tgz", "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "engines": { "node": ">=14" @@ -19013,9 +18867,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", "bin": { "yaml": "bin.mjs" }, @@ -19025,7 +18879,7 @@ }, "node_modules/postcss-loader": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz", "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", "dependencies": { "cosmiconfig": "^7.0.0", @@ -19046,7 +18900,7 @@ }, "node_modules/postcss-logical": { "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-5.0.4.tgz", "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", "engines": { "node": "^12 || ^14 || >=16" @@ -19057,7 +18911,7 @@ }, "node_modules/postcss-media-minmax": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", "engines": { "node": ">=10.0.0" @@ -19068,7 +18922,7 @@ }, "node_modules/postcss-merge-longhand": { "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", "dependencies": { "postcss-value-parser": "^4.2.0", @@ -19083,7 +18937,7 @@ }, "node_modules/postcss-merge-rules": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dependencies": { "browserslist": "^4.21.4", @@ -19100,7 +18954,7 @@ }, "node_modules/postcss-minify-font-values": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19114,7 +18968,7 @@ }, "node_modules/postcss-minify-gradients": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "dependencies": { "colord": "^2.9.1", @@ -19130,7 +18984,7 @@ }, "node_modules/postcss-minify-params": { "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", "dependencies": { "browserslist": "^4.21.4", @@ -19146,7 +19000,7 @@ }, "node_modules/postcss-minify-selectors": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", "dependencies": { "postcss-selector-parser": "^6.0.5" @@ -19160,7 +19014,7 @@ }, "node_modules/postcss-modules-extract-imports": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", "engines": { "node": "^10 || ^12 || >= 14" @@ -19170,12 +19024,12 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", - "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", "dependencies": { "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", + "postcss-selector-parser": "^7.0.0", "postcss-value-parser": "^4.1.0" }, "engines": { @@ -19185,12 +19039,24 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-scope": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", - "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "postcss-selector-parser": "^7.0.0" }, "engines": { "node": "^10 || ^12 || >= 14" @@ -19199,9 +19065,21 @@ "postcss": "^8.1.0" } }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/postcss-modules-values": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dependencies": { "icss-utils": "^5.0.0" @@ -19215,7 +19093,7 @@ }, "node_modules/postcss-nested": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.2.0.tgz", "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "funding": [ { @@ -19239,7 +19117,7 @@ }, "node_modules/postcss-nesting": { "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz", "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", "dependencies": { "@csstools/selector-specificity": "^2.0.0", @@ -19258,7 +19136,7 @@ }, "node_modules/postcss-normalize": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz", "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", "dependencies": { "@csstools/normalize.css": "*", @@ -19275,7 +19153,7 @@ }, "node_modules/postcss-normalize-charset": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", "engines": { "node": "^10 || ^12 || >=14.0" @@ -19286,7 +19164,7 @@ }, "node_modules/postcss-normalize-display-values": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19300,7 +19178,7 @@ }, "node_modules/postcss-normalize-positions": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19314,7 +19192,7 @@ }, "node_modules/postcss-normalize-repeat-style": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19328,7 +19206,7 @@ }, "node_modules/postcss-normalize-string": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19342,7 +19220,7 @@ }, "node_modules/postcss-normalize-timing-functions": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19356,7 +19234,7 @@ }, "node_modules/postcss-normalize-unicode": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", "dependencies": { "browserslist": "^4.21.4", @@ -19371,7 +19249,7 @@ }, "node_modules/postcss-normalize-url": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", "dependencies": { "normalize-url": "^6.0.1", @@ -19386,7 +19264,7 @@ }, "node_modules/postcss-normalize-whitespace": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19400,7 +19278,7 @@ }, "node_modules/postcss-opacity-percentage": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", "funding": [ { @@ -19421,7 +19299,7 @@ }, "node_modules/postcss-ordered-values": { "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", "dependencies": { "cssnano-utils": "^3.1.0", @@ -19436,7 +19314,7 @@ }, "node_modules/postcss-overflow-shorthand": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19454,7 +19332,7 @@ }, "node_modules/postcss-page-break": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", "peerDependencies": { "postcss": "^8" @@ -19462,7 +19340,7 @@ }, "node_modules/postcss-place": { "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-7.0.5.tgz", "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19480,7 +19358,7 @@ }, "node_modules/postcss-preset-env": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", "dependencies": { "@csstools/postcss-cascade-layers": "^1.1.1", @@ -19546,7 +19424,7 @@ }, "node_modules/postcss-pseudo-class-any-link": { "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -19564,7 +19442,7 @@ }, "node_modules/postcss-reduce-initial": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dependencies": { "browserslist": "^4.21.4", @@ -19579,7 +19457,7 @@ }, "node_modules/postcss-reduce-transforms": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", "dependencies": { "postcss-value-parser": "^4.2.0" @@ -19593,7 +19471,7 @@ }, "node_modules/postcss-replace-overflow-wrap": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", "peerDependencies": { "postcss": "^8.0.3" @@ -19601,7 +19479,7 @@ }, "node_modules/postcss-selector-not": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", "dependencies": { "postcss-selector-parser": "^6.0.10" @@ -19619,7 +19497,7 @@ }, "node_modules/postcss-selector-parser": { "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dependencies": { "cssesc": "^3.0.0", @@ -19631,7 +19509,7 @@ }, "node_modules/postcss-svgo": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", "dependencies": { "postcss-value-parser": "^4.2.0", @@ -19646,7 +19524,7 @@ }, "node_modules/postcss-svgo/node_modules/commander": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "engines": { "node": ">= 10" @@ -19654,7 +19532,7 @@ }, "node_modules/postcss-svgo/node_modules/css-tree": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dependencies": { "mdn-data": "2.0.14", @@ -19666,12 +19544,12 @@ }, "node_modules/postcss-svgo/node_modules/mdn-data": { "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" }, "node_modules/postcss-svgo/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -19679,7 +19557,7 @@ }, "node_modules/postcss-svgo/node_modules/svgo": { "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dependencies": { "@trysound/sax": "0.2.0", @@ -19699,7 +19577,7 @@ }, "node_modules/postcss-unique-selectors": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "dependencies": { "postcss-selector-parser": "^6.0.5" @@ -19713,12 +19591,12 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "engines": { "node": ">= 0.8.0" @@ -19726,7 +19604,7 @@ }, "node_modules/pretty-bytes": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "engines": { "node": ">=6" @@ -19737,7 +19615,7 @@ }, "node_modules/pretty-error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", "dependencies": { "lodash": "^4.17.20", @@ -19746,7 +19624,7 @@ }, "node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dependencies": { "ansi-regex": "^5.0.1", @@ -19759,7 +19637,7 @@ }, "node_modules/pretty-format/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { "node": ">=10" @@ -19770,7 +19648,7 @@ }, "node_modules/probe.gl": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/probe.gl/-/probe.gl-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/probe.gl/-/probe.gl-3.6.0.tgz", "integrity": "sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g==", "dependencies": { "@babel/runtime": "^7.0.0", @@ -19781,12 +19659,12 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, "node_modules/promise": { "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "resolved": "https://registry.npmmirror.com/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "dependencies": { "asap": "~2.0.3" @@ -19794,12 +19672,12 @@ }, "node_modules/promise-inflight": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" }, "node_modules/promise-retry": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dependencies": { "err-code": "^2.0.2", @@ -19811,7 +19689,7 @@ }, "node_modules/prompts": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dependencies": { "kleur": "^3.0.3", @@ -19823,7 +19701,7 @@ }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dependencies": { "loose-envify": "^1.4.0", @@ -19833,12 +19711,12 @@ }, "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/proxy-addr": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { "forwarded": "0.2.0", @@ -19850,20 +19728,23 @@ }, "node_modules/proxy-addr/node_modules/ipaddr.js": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { "node": ">= 0.10" } }, "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + "version": "1.13.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.13.0.tgz", + "integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==", + "dependencies": { + "punycode": "^2.3.1" + } }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" @@ -19871,12 +19752,12 @@ }, "node_modules/pure-color": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/pure-color/-/pure-color-1.3.0.tgz", "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" }, "node_modules/q": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "engines": { @@ -19885,11 +19766,11 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -19900,12 +19781,12 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { @@ -19924,7 +19805,7 @@ }, "node_modules/quick-lru": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "engines": { "node": ">=8" @@ -19932,7 +19813,7 @@ }, "node_modules/raf": { "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", "dependencies": { "performance-now": "^2.1.0" @@ -19940,7 +19821,7 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dependencies": { "safe-buffer": "^5.1.0" @@ -19948,7 +19829,7 @@ }, "node_modules/range-parser": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { "node": ">= 0.6" @@ -19956,7 +19837,7 @@ }, "node_modules/raw-body": { "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", @@ -19968,17 +19849,9 @@ "node": ">= 0.8" } }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/raw-body/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -19989,7 +19862,7 @@ }, "node_modules/rc-align": { "version": "4.0.15", - "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.15.tgz", + "resolved": "https://registry.npmmirror.com/rc-align/-/rc-align-4.0.15.tgz", "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20005,7 +19878,7 @@ }, "node_modules/rc-cascader": { "version": "3.7.3", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.7.3.tgz", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.7.3.tgz", "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==", "dependencies": { "@babel/runtime": "^7.12.5", @@ -20022,7 +19895,7 @@ }, "node_modules/rc-checkbox": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz", "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20036,7 +19909,7 @@ }, "node_modules/rc-collapse": { "version": "3.4.2", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.4.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.4.2.tgz", "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20052,7 +19925,7 @@ }, "node_modules/rc-dialog": { "version": "9.0.4", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.0.4.tgz", + "resolved": "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.0.4.tgz", "integrity": "sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20068,7 +19941,7 @@ }, "node_modules/rc-drawer": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.3.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.3.0.tgz", "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20084,7 +19957,7 @@ }, "node_modules/rc-dropdown": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.6.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-3.6.2.tgz", "integrity": "sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20099,7 +19972,7 @@ }, "node_modules/rc-field-form": { "version": "1.38.2", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.38.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.38.2.tgz", "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==", "dependencies": { "@babel/runtime": "^7.18.0", @@ -20116,7 +19989,7 @@ }, "node_modules/rc-image": { "version": "5.13.0", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-5.13.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-image/-/rc-image-5.13.0.tgz", "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==", "dependencies": { "@babel/runtime": "^7.11.2", @@ -20133,7 +20006,7 @@ }, "node_modules/rc-input": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-0.1.4.tgz", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-0.1.4.tgz", "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", "dependencies": { "@babel/runtime": "^7.11.1", @@ -20147,7 +20020,7 @@ }, "node_modules/rc-input-number": { "version": "7.3.11", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-7.3.11.tgz", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-7.3.11.tgz", "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20161,7 +20034,7 @@ }, "node_modules/rc-mentions": { "version": "1.13.1", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-1.13.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-1.13.1.tgz", "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20178,7 +20051,7 @@ }, "node_modules/rc-menu": { "version": "9.8.4", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.8.4.tgz", + "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.8.4.tgz", "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20194,9 +20067,9 @@ } }, "node_modules/rc-motion": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.2.tgz", - "integrity": "sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==", + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.3.tgz", + "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -20209,7 +20082,7 @@ }, "node_modules/rc-notification": { "version": "4.6.1", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-4.6.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-notification/-/rc-notification-4.6.1.tgz", "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20227,7 +20100,7 @@ }, "node_modules/rc-overflow": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", "dependencies": { "@babel/runtime": "^7.11.1", @@ -20242,7 +20115,7 @@ }, "node_modules/rc-pagination": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.2.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.2.0.tgz", "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20255,7 +20128,7 @@ }, "node_modules/rc-picker": { "version": "2.7.6", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-2.7.6.tgz", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-2.7.6.tgz", "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20277,7 +20150,7 @@ }, "node_modules/rc-progress": { "version": "3.4.2", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.4.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-progress/-/rc-progress-3.4.2.tgz", "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20291,7 +20164,7 @@ }, "node_modules/rc-rate": { "version": "2.9.3", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.9.3.tgz", + "resolved": "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.9.3.tgz", "integrity": "sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20308,7 +20181,7 @@ }, "node_modules/rc-resize-observer": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", "dependencies": { "@babel/runtime": "^7.20.7", @@ -20323,7 +20196,7 @@ }, "node_modules/rc-segmented": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.3.0.tgz", "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", "dependencies": { "@babel/runtime": "^7.11.1", @@ -20338,7 +20211,7 @@ }, "node_modules/rc-select": { "version": "14.1.18", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.1.18.tgz", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.1.18.tgz", "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20359,7 +20232,7 @@ }, "node_modules/rc-slider": { "version": "10.0.1", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.0.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-10.0.1.tgz", "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20377,7 +20250,7 @@ }, "node_modules/rc-steps": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-steps/-/rc-steps-5.0.0.tgz", "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==", "dependencies": { "@babel/runtime": "^7.16.7", @@ -20394,7 +20267,7 @@ }, "node_modules/rc-switch": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-3.2.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-switch/-/rc-switch-3.2.2.tgz", "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20408,7 +20281,7 @@ }, "node_modules/rc-table": { "version": "7.26.0", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.26.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.26.0.tgz", "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20427,7 +20300,7 @@ }, "node_modules/rc-tabs": { "version": "12.5.10", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.5.10.tgz", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.5.10.tgz", "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==", "dependencies": { "@babel/runtime": "^7.11.2", @@ -20448,7 +20321,7 @@ }, "node_modules/rc-tabs/node_modules/rc-dropdown": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz", "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", "dependencies": { "@babel/runtime": "^7.18.3", @@ -20463,7 +20336,7 @@ }, "node_modules/rc-textarea": { "version": "0.4.7", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-0.4.7.tgz", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-0.4.7.tgz", "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20479,7 +20352,7 @@ }, "node_modules/rc-tooltip": { "version": "5.2.2", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz", "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", "dependencies": { "@babel/runtime": "^7.11.2", @@ -20493,7 +20366,7 @@ }, "node_modules/rc-tree": { "version": "5.7.12", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.7.12.tgz", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.7.12.tgz", "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20512,7 +20385,7 @@ }, "node_modules/rc-tree-select": { "version": "5.5.5", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz", "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", "dependencies": { "@babel/runtime": "^7.10.1", @@ -20528,7 +20401,7 @@ }, "node_modules/rc-trigger": { "version": "5.3.4", - "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.4.tgz", + "resolved": "https://registry.npmmirror.com/rc-trigger/-/rc-trigger-5.3.4.tgz", "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", "dependencies": { "@babel/runtime": "^7.18.3", @@ -20547,7 +20420,7 @@ }, "node_modules/rc-upload": { "version": "4.3.6", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.6.tgz", + "resolved": "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.6.tgz", "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==", "dependencies": { "@babel/runtime": "^7.18.3", @@ -20561,7 +20434,7 @@ }, "node_modules/rc-util": { "version": "5.43.0", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.43.0.tgz", "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", "dependencies": { "@babel/runtime": "^7.18.3", @@ -20574,13 +20447,13 @@ }, "node_modules/rc-util/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" }, "node_modules/rc-virtual-list": { - "version": "3.14.5", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz", - "integrity": "sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==", + "version": "3.15.0", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.15.0.tgz", + "integrity": "sha512-dF2YQztqrU3ijAeWOqscTshCEr7vpimzSqAVjO1AyAmaqcHulaXpnGR0ptK5PXfxTUy48VkJOiglMIxlkYGs0w==", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -20597,7 +20470,7 @@ }, "node_modules/react": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dependencies": { "loose-envify": "^1.1.0" @@ -20608,7 +20481,7 @@ }, "node_modules/react-app-polyfill": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", "dependencies": { "core-js": "^3.19.2", @@ -20624,7 +20497,7 @@ }, "node_modules/react-app-polyfill/node_modules/promise": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "resolved": "https://registry.npmmirror.com/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dependencies": { "asap": "~2.0.6" @@ -20632,12 +20505,12 @@ }, "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/react-base16-styling": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "resolved": "https://registry.npmmirror.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz", "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", "dependencies": { "base16": "^1.0.0", @@ -20648,7 +20521,7 @@ }, "node_modules/react-color": { "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", + "resolved": "https://registry.npmmirror.com/react-color/-/react-color-2.19.3.tgz", "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", "dependencies": { "@icons/material": "^0.2.4", @@ -20665,7 +20538,7 @@ }, "node_modules/react-dev-utils": { "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "resolved": "https://registry.npmmirror.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz", "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", "dependencies": { "@babel/code-frame": "^7.16.0", @@ -20699,7 +20572,7 @@ }, "node_modules/react-dev-utils/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { "ansi-styles": "^4.1.0", @@ -20714,7 +20587,7 @@ }, "node_modules/react-dev-utils/node_modules/loader-utils": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.3.1.tgz", "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", "engines": { "node": ">= 12.13.0" @@ -20722,7 +20595,7 @@ }, "node_modules/react-dom": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dependencies": { "loose-envify": "^1.1.0", @@ -20734,12 +20607,12 @@ }, "node_modules/react-error-overlay": { "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "resolved": "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz", "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, "node_modules/react-highlight-words": { "version": "0.18.0", - "resolved": "https://registry.npmjs.org/react-highlight-words/-/react-highlight-words-0.18.0.tgz", + "resolved": "https://registry.npmmirror.com/react-highlight-words/-/react-highlight-words-0.18.0.tgz", "integrity": "sha512-5z+46eLPjB4JWgOhuQ0E+6iUPTD1U3amiy5KKjzZmeJ5zyvHr91hnzBT3UHya/KlySm5KRTKpYpba9vs67oO2A==", "dependencies": { "highlight-words-core": "^1.2.0", @@ -20752,9 +20625,8 @@ }, "node_modules/react-i18next": { "version": "11.18.6", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.18.6.tgz", + "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-11.18.6.tgz", "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.14.5", "html-parse-stringify": "^3.0.1" @@ -20774,12 +20646,12 @@ }, "node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "node_modules/react-json-view": { "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "resolved": "https://registry.npmmirror.com/react-json-view/-/react-json-view-1.21.3.tgz", "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", "dependencies": { "flux": "^4.0.1", @@ -20794,12 +20666,12 @@ }, "node_modules/react-lifecycles-compat": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-refresh": { "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", "engines": { "node": ">=0.10.0" @@ -20807,7 +20679,7 @@ }, "node_modules/react-resize-detector": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-7.1.2.tgz", + "resolved": "https://registry.npmmirror.com/react-resize-detector/-/react-resize-detector-7.1.2.tgz", "integrity": "sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==", "dependencies": { "lodash": "^4.17.21" @@ -20818,11 +20690,11 @@ } }, "node_modules/react-router": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.1.tgz", - "integrity": "sha512-kIwJveZNwp7teQRI5QmwWo39A5bXRyqpH0COKKmPnyD2vBvDwgFXSqDUYtt1h+FEyfnE8eXr7oe0MxRzVwCcvQ==", + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.28.0.tgz", + "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", "dependencies": { - "@remix-run/router": "1.19.1" + "@remix-run/router": "1.21.0" }, "engines": { "node": ">=14.0.0" @@ -20832,12 +20704,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.1.tgz", - "integrity": "sha512-veut7m41S1fLql4pLhxeSW3jlqs+4MtjRLj0xvuCEXsxusJCbs6I8yn9BxzzDX2XDgafrccY6hwjmd/bL54tFw==", + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.28.0.tgz", + "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", "dependencies": { - "@remix-run/router": "1.19.1", - "react-router": "6.26.1" + "@remix-run/router": "1.21.0", + "react-router": "6.28.0" }, "engines": { "node": ">=14.0.0" @@ -20849,7 +20721,7 @@ }, "node_modules/react-scripts": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/react-scripts/-/react-scripts-5.0.1.tgz", "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", "dependencies": { "@babel/core": "^7.16.0", @@ -20921,7 +20793,7 @@ }, "node_modules/react-scripts/node_modules/camelcase": { "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" @@ -20932,7 +20804,7 @@ }, "node_modules/react-scripts/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -20947,9 +20819,9 @@ } }, "node_modules/react-textarea-autosize": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", - "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "version": "8.5.5", + "resolved": "https://registry.npmmirror.com/react-textarea-autosize/-/react-textarea-autosize-8.5.5.tgz", + "integrity": "sha512-CVA94zmfp8m4bSHtWwmANaBR8EPsKy2aZ7KwqhoS4Ftib87F9Kvi7XQhOixypPLMc6kVYgOXvKFuuzZDpHGRPg==", "dependencies": { "@babel/runtime": "^7.20.13", "use-composed-ref": "^1.3.0", @@ -20964,7 +20836,7 @@ }, "node_modules/reactcss": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "resolved": "https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz", "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", "dependencies": { "lodash": "^4.0.1" @@ -20972,7 +20844,7 @@ }, "node_modules/read-cache": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dependencies": { "pify": "^2.3.0" @@ -20980,7 +20852,7 @@ }, "node_modules/read-pkg": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dependencies": { "@types/normalize-package-data": "^2.4.0", @@ -20994,7 +20866,7 @@ }, "node_modules/read-pkg-up": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dependencies": { "find-up": "^4.1.0", @@ -21010,7 +20882,7 @@ }, "node_modules/read-pkg-up/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { "locate-path": "^5.0.0", @@ -21022,7 +20894,7 @@ }, "node_modules/read-pkg-up/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { "p-locate": "^4.1.0" @@ -21033,7 +20905,7 @@ }, "node_modules/read-pkg-up/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" @@ -21047,7 +20919,7 @@ }, "node_modules/read-pkg-up/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" @@ -21058,7 +20930,7 @@ }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz", "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "engines": { "node": ">=8" @@ -21066,12 +20938,12 @@ }, "node_modules/read-pkg/node_modules/hosted-git-info": { "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz", "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "node_modules/read-pkg/node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz", "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dependencies": { "hosted-git-info": "^2.1.4", @@ -21082,7 +20954,7 @@ }, "node_modules/read-pkg/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -21098,7 +20970,7 @@ }, "node_modules/read-pkg/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" @@ -21106,7 +20978,7 @@ }, "node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "engines": { "node": ">=8" @@ -21114,7 +20986,7 @@ }, "node_modules/readable-stream": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", @@ -21127,7 +20999,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dependencies": { "picomatch": "^2.2.1" @@ -21138,7 +21010,7 @@ }, "node_modules/recursive-readdir": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "resolved": "https://registry.npmmirror.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz", "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", "dependencies": { "minimatch": "^3.0.5" @@ -21149,7 +21021,7 @@ }, "node_modules/redent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dependencies": { "indent-string": "^4.0.0", @@ -21160,17 +21032,17 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", - "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.1", + "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.4", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" }, "engines": { "node": ">= 0.4" @@ -21181,13 +21053,13 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dependencies": { "regenerate": "^1.4.2" }, @@ -21197,12 +21069,12 @@ }, "node_modules/regenerator-runtime": { "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dependencies": { "@babel/runtime": "^7.8.4" @@ -21210,18 +21082,18 @@ }, "node_modules/regex-parser": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.3.0.tgz", "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -21231,14 +21103,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -21246,33 +21118,30 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/regl": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/regl/-/regl-1.7.0.tgz", + "resolved": "https://registry.npmmirror.com/regl/-/regl-1.7.0.tgz", "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" }, "node_modules/relateurl": { "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", "engines": { "node": ">= 0.10" @@ -21280,7 +21149,7 @@ }, "node_modules/renderkid": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", "dependencies": { "css-select": "^4.1.3", @@ -21292,7 +21161,7 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "engines": { "node": ">=0.10.0" @@ -21300,7 +21169,7 @@ }, "node_modules/require-from-string": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" @@ -21308,17 +21177,17 @@ }, "node_modules/requires-port": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" }, "node_modules/resolve": { "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz", "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dependencies": { "is-core-module": "^2.13.0", @@ -21334,7 +21203,7 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dependencies": { "resolve-from": "^5.0.0" @@ -21345,7 +21214,7 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" @@ -21353,7 +21222,7 @@ }, "node_modules/resolve-from": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "engines": { "node": ">=4" @@ -21361,7 +21230,7 @@ }, "node_modules/resolve-url-loader": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", "dependencies": { "adjust-sourcemap-loader": "^4.0.0", @@ -21388,17 +21257,17 @@ }, "node_modules/resolve-url-loader/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/resolve-url-loader/node_modules/picocolors": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" }, "node_modules/resolve-url-loader/node_modules/postcss": { "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { "picocolors": "^0.2.1", @@ -21414,7 +21283,7 @@ }, "node_modules/resolve-url-loader/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -21422,7 +21291,7 @@ }, "node_modules/resolve.exports": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", "engines": { "node": ">=10" @@ -21430,7 +21299,7 @@ }, "node_modules/retry": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "engines": { "node": ">= 4" @@ -21438,7 +21307,7 @@ }, "node_modules/reusify": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { "iojs": ">=1.0.0", @@ -21447,7 +21316,7 @@ }, "node_modules/rimraf": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "deprecated": "Rimraf versions prior to v4 are no longer supported", "dependencies": { @@ -21461,9 +21330,9 @@ } }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "bin": { "rollup": "dist/bin/rollup" }, @@ -21476,7 +21345,7 @@ }, "node_modules/rollup-plugin-terser": { "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", "dependencies": { @@ -21491,7 +21360,7 @@ }, "node_modules/rollup-plugin-terser/node_modules/jest-worker": { "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dependencies": { "@types/node": "*", @@ -21504,7 +21373,7 @@ }, "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dependencies": { "randombytes": "^2.1.0" @@ -21512,7 +21381,7 @@ }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { @@ -21534,7 +21403,7 @@ }, "node_modules/safe-array-concat": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz", "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dependencies": { "call-bind": "^1.0.7", @@ -21551,7 +21420,7 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { @@ -21570,7 +21439,7 @@ }, "node_modules/safe-regex-test": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz", "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dependencies": { "call-bind": "^1.0.6", @@ -21586,17 +21455,17 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sanitize.css": { "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "resolved": "https://registry.npmmirror.com/sanitize.css/-/sanitize.css-13.0.0.tgz", "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" }, "node_modules/sass-graph": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", + "resolved": "https://registry.npmmirror.com/sass-graph/-/sass-graph-4.0.1.tgz", "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", "dependencies": { "glob": "^7.0.0", @@ -21613,7 +21482,7 @@ }, "node_modules/sass-graph/node_modules/cliui": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { "string-width": "^4.2.0", @@ -21626,7 +21495,7 @@ }, "node_modules/sass-graph/node_modules/yargs": { "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", @@ -21643,7 +21512,7 @@ }, "node_modules/sass-graph/node_modules/yargs-parser": { "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" @@ -21651,7 +21520,7 @@ }, "node_modules/sass-loader": { "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", "dependencies": { "klona": "^2.0.4", @@ -21688,12 +21557,12 @@ }, "node_modules/sax": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "node_modules/saxes": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dependencies": { "xmlchars": "^2.2.0" @@ -21704,7 +21573,7 @@ }, "node_modules/scheduler": { "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dependencies": { "loose-envify": "^1.1.0" @@ -21712,7 +21581,7 @@ }, "node_modules/schema-utils": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", "dependencies": { "@types/json-schema": "^7.0.9", @@ -21730,7 +21599,7 @@ }, "node_modules/screenfull": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz", "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==", "engines": { "node": "^14.13.1 || >=16.0.0" @@ -21741,7 +21610,7 @@ }, "node_modules/scroll-into-view-if-needed": { "version": "2.2.31", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", "dependencies": { "compute-scroll-into-view": "^1.0.20" @@ -21749,7 +21618,7 @@ }, "node_modules/scss-tokenizer": { "version": "0.4.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "resolved": "https://registry.npmmirror.com/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", "dependencies": { "js-base64": "^2.4.9", @@ -21758,12 +21627,12 @@ }, "node_modules/select-hose": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" }, "node_modules/selfsigned": { "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", "dependencies": { "@types/node-forge": "^1.3.0", @@ -21775,7 +21644,7 @@ }, "node_modules/semver": { "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" @@ -21785,9 +21654,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -21809,7 +21678,7 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -21817,17 +21686,20 @@ }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dependencies": { "randombytes": "^2.1.0" @@ -21835,7 +21707,7 @@ }, "node_modules/serve-index": { "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dependencies": { "accepts": "~1.3.4", @@ -21852,7 +21724,7 @@ }, "node_modules/serve-index/node_modules/debug": { "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" @@ -21860,7 +21732,7 @@ }, "node_modules/serve-index/node_modules/depd": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "engines": { "node": ">= 0.6" @@ -21868,7 +21740,7 @@ }, "node_modules/serve-index/node_modules/http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dependencies": { "depd": "~1.1.2", @@ -21882,36 +21754,36 @@ }, "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "engines": { "node": ">= 0.6" } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -21919,12 +21791,12 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dependencies": { "define-data-property": "^1.1.4", @@ -21940,7 +21812,7 @@ }, "node_modules/set-function-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", "dependencies": { "define-data-property": "^1.1.4", @@ -21954,22 +21826,22 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/shallowequal": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz", "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { "shebang-regex": "^3.0.0" @@ -21980,7 +21852,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { "node": ">=8" @@ -21988,7 +21860,7 @@ }, "node_modules/shell-quote": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -21996,7 +21868,7 @@ }, "node_modules/side-channel": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { "call-bind": "^1.0.7", @@ -22013,12 +21885,12 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/simple-swizzle": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "resolved": "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "dependencies": { "is-arrayish": "^0.3.1" @@ -22026,17 +21898,17 @@ }, "node_modules/simple-swizzle/node_modules/is-arrayish": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, "node_modules/sisteransi": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { "node": ">=8" @@ -22044,7 +21916,7 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "engines": { "node": ">= 6.0.0", @@ -22053,7 +21925,7 @@ }, "node_modules/sockjs": { "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dependencies": { "faye-websocket": "^0.11.3", @@ -22063,7 +21935,7 @@ }, "node_modules/socks": { "version": "2.8.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "resolved": "https://registry.npmmirror.com/socks/-/socks-2.8.3.tgz", "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dependencies": { "ip-address": "^9.0.5", @@ -22076,7 +21948,7 @@ }, "node_modules/socks-proxy-agent": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", "dependencies": { "agent-base": "^6.0.2", @@ -22089,28 +21961,28 @@ }, "node_modules/source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz", "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "node_modules/source-map": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "engines": { "node": ">= 8" } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-loader": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-3.0.2.tgz", "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", "dependencies": { "abab": "^2.0.5", @@ -22130,7 +22002,7 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", @@ -22139,7 +22011,7 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -22147,13 +22019,13 @@ }, "node_modules/sourcemap-codec": { "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "deprecated": "Please use @jridgewell/sourcemap-codec instead" }, "node_modules/spdx-correct": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -22162,12 +22034,12 @@ }, "node_modules/spdx-exceptions": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -22176,12 +22048,12 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.20", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==" }, "node_modules/spdy": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dependencies": { "debug": "^4.1.0", @@ -22196,7 +22068,7 @@ }, "node_modules/spdy-transport": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dependencies": { "debug": "^4.1.0", @@ -22209,12 +22081,12 @@ }, "node_modules/sprintf-js": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "node_modules/ssri": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-9.0.1.tgz", "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dependencies": { "minipass": "^3.1.1" @@ -22225,13 +22097,13 @@ }, "node_modules/stable": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" }, "node_modules/stack-utils": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dependencies": { "escape-string-regexp": "^2.0.0" @@ -22242,7 +22114,7 @@ }, "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "engines": { "node": ">=8" @@ -22250,12 +22122,12 @@ }, "node_modules/stackframe": { "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, "node_modules/static-eval": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/static-eval/-/static-eval-2.0.2.tgz", "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", "dependencies": { "escodegen": "^1.8.1" @@ -22263,7 +22135,7 @@ }, "node_modules/static-eval/node_modules/escodegen": { "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-1.14.3.tgz", "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dependencies": { "esprima": "^4.0.1", @@ -22284,7 +22156,7 @@ }, "node_modules/static-eval/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { "node": ">=4.0" @@ -22292,7 +22164,7 @@ }, "node_modules/static-eval/node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dependencies": { "prelude-ls": "~1.1.2", @@ -22304,7 +22176,7 @@ }, "node_modules/static-eval/node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dependencies": { "deep-is": "~0.1.3", @@ -22320,7 +22192,7 @@ }, "node_modules/static-eval/node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { "node": ">= 0.8.0" @@ -22328,7 +22200,7 @@ }, "node_modules/static-eval/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "optional": true, "engines": { @@ -22337,7 +22209,7 @@ }, "node_modules/static-eval/node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz", "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dependencies": { "prelude-ls": "~1.1.2" @@ -22348,7 +22220,7 @@ }, "node_modules/statuses": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { "node": ">= 0.8" @@ -22356,7 +22228,7 @@ }, "node_modules/stdout-stream": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "resolved": "https://registry.npmmirror.com/stdout-stream/-/stdout-stream-1.4.1.tgz", "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", "dependencies": { "readable-stream": "^2.0.1" @@ -22364,12 +22236,12 @@ }, "node_modules/stdout-stream/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/stdout-stream/node_modules/readable-stream": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", @@ -22383,12 +22255,12 @@ }, "node_modules/stdout-stream/node_modules/safe-buffer": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/stdout-stream/node_modules/string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" @@ -22396,7 +22268,7 @@ }, "node_modules/stop-iteration-iterator": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", "dependencies": { "internal-slot": "^1.0.4" @@ -22407,7 +22279,7 @@ }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { "safe-buffer": "~5.2.0" @@ -22415,12 +22287,12 @@ }, "node_modules/string-convert": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz", "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" }, "node_modules/string-length": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { "char-regex": "^1.0.2", @@ -22432,12 +22304,12 @@ }, "node_modules/string-natural-compare": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz", "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", @@ -22451,7 +22323,7 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": { "emoji-regex": "^8.0.0", @@ -22464,26 +22336,30 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/string.prototype.includes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz", - "integrity": "sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==", + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/string.prototype.matchall": { "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dependencies": { "call-bind": "^1.0.7", @@ -22508,7 +22384,7 @@ }, "node_modules/string.prototype.repeat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", "dependencies": { "define-properties": "^1.1.3", @@ -22517,7 +22393,7 @@ }, "node_modules/string.prototype.trim": { "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dependencies": { "call-bind": "^1.0.7", @@ -22534,7 +22410,7 @@ }, "node_modules/string.prototype.trimend": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dependencies": { "call-bind": "^1.0.7", @@ -22547,7 +22423,7 @@ }, "node_modules/string.prototype.trimstart": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dependencies": { "call-bind": "^1.0.7", @@ -22563,7 +22439,7 @@ }, "node_modules/stringify-object": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", @@ -22576,7 +22452,7 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" @@ -22588,7 +22464,7 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": { "ansi-regex": "^5.0.1" @@ -22599,7 +22475,7 @@ }, "node_modules/strip-bom": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "engines": { "node": ">=8" @@ -22607,7 +22483,7 @@ }, "node_modules/strip-comments": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz", "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", "engines": { "node": ">=10" @@ -22615,7 +22491,7 @@ }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "engines": { "node": ">=6" @@ -22623,7 +22499,7 @@ }, "node_modules/strip-indent": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dependencies": { "min-indent": "^1.0.0" @@ -22634,7 +22510,7 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" @@ -22645,7 +22521,7 @@ }, "node_modules/style-loader": { "version": "3.3.4", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz", "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", "engines": { "node": ">= 12.13.0" @@ -22660,12 +22536,12 @@ }, "node_modules/style-mod": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.1.2.tgz", "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" }, "node_modules/stylehacks": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz", "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", "dependencies": { "browserslist": "^4.21.4", @@ -22680,7 +22556,7 @@ }, "node_modules/sucrase": { "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", @@ -22701,7 +22577,7 @@ }, "node_modules/sucrase/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { "balanced-match": "^1.0.0" @@ -22709,7 +22585,7 @@ }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "resolved": "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "engines": { "node": ">= 6" @@ -22717,7 +22593,7 @@ }, "node_modules/sucrase/node_modules/glob": { "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", @@ -22736,7 +22612,7 @@ }, "node_modules/sucrase/node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" @@ -22750,7 +22626,7 @@ }, "node_modules/sucrase/node_modules/minipass": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" @@ -22758,7 +22634,7 @@ }, "node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" @@ -22769,7 +22645,7 @@ }, "node_modules/supports-hyperlinks": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dependencies": { "has-flag": "^4.0.0", @@ -22781,7 +22657,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "engines": { "node": ">= 0.4" @@ -22792,12 +22668,12 @@ }, "node_modules/svg-parser": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz", "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" }, "node_modules/svgo": { "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dependencies": { @@ -22824,7 +22700,7 @@ }, "node_modules/svgo/node_modules/ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { "color-convert": "^1.9.0" @@ -22835,7 +22711,7 @@ }, "node_modules/svgo/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { "sprintf-js": "~1.0.2" @@ -22843,7 +22719,7 @@ }, "node_modules/svgo/node_modules/chalk": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { "ansi-styles": "^3.2.1", @@ -22856,7 +22732,7 @@ }, "node_modules/svgo/node_modules/color-convert": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" @@ -22864,12 +22740,12 @@ }, "node_modules/svgo/node_modules/color-name": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", "dependencies": { "boolbase": "^1.0.0", @@ -22880,7 +22756,7 @@ }, "node_modules/svgo/node_modules/css-what": { "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "engines": { "node": ">= 6" @@ -22891,7 +22767,7 @@ }, "node_modules/svgo/node_modules/dom-serializer": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dependencies": { "domelementtype": "^2.0.1", @@ -22900,7 +22776,7 @@ }, "node_modules/svgo/node_modules/domutils": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dependencies": { "dom-serializer": "0", @@ -22909,12 +22785,12 @@ }, "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "node_modules/svgo/node_modules/escape-string-regexp": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { "node": ">=0.8.0" @@ -22922,7 +22798,7 @@ }, "node_modules/svgo/node_modules/has-flag": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" @@ -22930,7 +22806,7 @@ }, "node_modules/svgo/node_modules/js-yaml": { "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dependencies": { "argparse": "^1.0.7", @@ -22942,7 +22818,7 @@ }, "node_modules/svgo/node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dependencies": { "minimist": "^1.2.6" @@ -22953,7 +22829,7 @@ }, "node_modules/svgo/node_modules/nth-check": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz", "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", "dependencies": { "boolbase": "~1.0.0" @@ -22961,12 +22837,12 @@ }, "node_modules/svgo/node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, "node_modules/svgo/node_modules/supports-color": { "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" @@ -22977,36 +22853,36 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", - "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.15.tgz", + "integrity": "sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", + "jiti": "^1.21.6", "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -23018,7 +22894,7 @@ }, "node_modules/tailwindcss/node_modules/resolve": { "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dependencies": { "is-core-module": "^2.13.0", @@ -23034,7 +22910,7 @@ }, "node_modules/tapable": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { "node": ">=6" @@ -23042,7 +22918,7 @@ }, "node_modules/tar": { "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", @@ -23058,7 +22934,7 @@ }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { "node": ">=8" @@ -23066,7 +22942,7 @@ }, "node_modules/temp-dir": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "engines": { "node": ">=8" @@ -23074,7 +22950,7 @@ }, "node_modules/tempy": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "resolved": "https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz", "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", "dependencies": { "is-stream": "^2.0.0", @@ -23091,7 +22967,7 @@ }, "node_modules/tempy/node_modules/type-fest": { "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "engines": { "node": ">=10" @@ -23102,7 +22978,7 @@ }, "node_modules/terminal-link": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dependencies": { "ansi-escapes": "^4.2.1", @@ -23116,9 +22992,9 @@ } }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.36.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -23134,7 +23010,7 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", @@ -23167,7 +23043,7 @@ }, "node_modules/terser-webpack-plugin/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -23182,7 +23058,7 @@ }, "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" @@ -23190,12 +23066,12 @@ }, "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", @@ -23212,12 +23088,12 @@ }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/test-exclude": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dependencies": { "@istanbuljs/schema": "^0.1.2", @@ -23230,12 +23106,12 @@ }, "node_modules/text-table": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/thenify": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dependencies": { "any-promise": "^1.0.0" @@ -23243,7 +23119,7 @@ }, "node_modules/thenify-all": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "resolved": "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dependencies": { "thenify": ">= 3.1.0 < 4" @@ -23253,14 +23129,14 @@ } }, "node_modules/three": { - "version": "0.167.1", - "resolved": "https://registry.npmjs.org/three/-/three-0.167.1.tgz", - "integrity": "sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==" + "version": "0.170.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.170.0.tgz", + "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==" }, "node_modules/three-forcegraph": { - "version": "1.41.14", - "resolved": "https://registry.npmjs.org/three-forcegraph/-/three-forcegraph-1.41.14.tgz", - "integrity": "sha512-W/cZElLXO0l6ffdMmDakh4bUGSYuSv/YxInOHMN9KAQgDwJ8904SOBh8qkTnGu7UPsi0mAsrUgkfViW8heloTA==", + "version": "1.42.3", + "resolved": "https://registry.npmmirror.com/three-forcegraph/-/three-forcegraph-1.42.3.tgz", + "integrity": "sha512-65aDCP6qFY41OEX+ZxSfaCfXDgHsjEixNk+hiSnpvdnTGzovx1OJhDetmCw2sh5JJMDAbOkMnhdbZuiJiuRDFA==", "dependencies": { "accessor-fn": "1", "d3-array": "1 - 3", @@ -23281,11 +23157,11 @@ } }, "node_modules/three-render-objects": { - "version": "1.29.4", - "resolved": "https://registry.npmjs.org/three-render-objects/-/three-render-objects-1.29.4.tgz", - "integrity": "sha512-E6YwTN5zNsaMjo/5rosgnK44b1aq//3YJGJ5BxG9t7+euRm7ZAmNX3NIqFkoDhKtFC5WLoOxZjyNoq8Uc49gaA==", + "version": "1.31.0", + "resolved": "https://registry.npmmirror.com/three-render-objects/-/three-render-objects-1.31.0.tgz", + "integrity": "sha512-of54HTCHatV9OwhrBAKF6A2xtWxBQ47+u5WITTaTbGW6Px9mqLxw7L61dYDHqeQVuvlWMG8VQwyXmkeVsWx4Wg==", "dependencies": { - "@tweenjs/tween.js": "18 - 23", + "@tweenjs/tween.js": "18 - 25", "accessor-fn": "1", "kapsule": "1", "polished": "4" @@ -23294,17 +23170,17 @@ "node": ">=12" }, "peerDependencies": { - "three": "*" + "three": ">=0.168" } }, "node_modules/throat": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" }, "node_modules/throttle-debounce": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz", "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", "engines": { "node": ">=12.22" @@ -23312,30 +23188,22 @@ }, "node_modules/thunky": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" }, "node_modules/tinycolor2": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" }, "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" @@ -23346,12 +23214,12 @@ }, "node_modules/toggle-selection": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "resolved": "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" @@ -23359,7 +23227,7 @@ }, "node_modules/tough-cookie": { "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz", "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dependencies": { "psl": "^1.1.33", @@ -23373,7 +23241,7 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "engines": { "node": ">= 4.0.0" @@ -23381,12 +23249,12 @@ }, "node_modules/tr46": { "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/trim-newlines": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "engines": { "node": ">=8" @@ -23394,22 +23262,22 @@ }, "node_modules/true-case-path": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "resolved": "https://registry.npmmirror.com/true-case-path/-/true-case-path-2.2.1.tgz", "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" }, "node_modules/tryer": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, "node_modules/ts-interface-checker": { "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "resolved": "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" }, "node_modules/tsconfig-paths": { "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dependencies": { "@types/json5": "^0.0.29", @@ -23420,7 +23288,7 @@ }, "node_modules/tsconfig-paths/node_modules/json5": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz", "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" @@ -23431,20 +23299,20 @@ }, "node_modules/tsconfig-paths/node_modules/strip-bom": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "engines": { "node": ">=4" } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/tsutils": { "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dependencies": { "tslib": "^1.8.1" @@ -23458,12 +23326,12 @@ }, "node_modules/tsutils/node_modules/tslib": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dependencies": { "prelude-ls": "^1.2.1" @@ -23474,7 +23342,7 @@ }, "node_modules/type-detect": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "engines": { "node": ">=4" @@ -23482,7 +23350,7 @@ }, "node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { "node": ">=10" @@ -23493,7 +23361,7 @@ }, "node_modules/type-is": { "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", @@ -23505,7 +23373,7 @@ }, "node_modules/typed-array-buffer": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", "dependencies": { "call-bind": "^1.0.7", @@ -23518,7 +23386,7 @@ }, "node_modules/typed-array-byte-length": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", "dependencies": { "call-bind": "^1.0.7", @@ -23535,16 +23403,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -23554,16 +23423,16 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-proto": "^1.0.3", "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" }, "engines": { "node": ">= 0.4" @@ -23574,7 +23443,7 @@ }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dependencies": { "is-typedarray": "^1.0.0" @@ -23582,7 +23451,7 @@ }, "node_modules/typescript": { "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "bin": { "tsc": "bin/tsc", @@ -23593,9 +23462,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.38", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.38.tgz", - "integrity": "sha512-fYmIy7fKTSFAhG3fuPlubeGaMoAd6r0rSnfEsO5nEY55i26KSLt9EH7PLQiiqPUhNqYIJvSkTy1oArIcXAbPbA==", + "version": "0.7.39", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w==", "funding": [ { "type": "opencollective", @@ -23610,13 +23479,16 @@ "url": "https://github.com/sponsors/faisalman" } ], + "bin": { + "ua-parser-js": "script/cli.js" + }, "engines": { "node": "*" } }, "node_modules/unbox-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dependencies": { "call-bind": "^1.0.2", @@ -23630,25 +23502,25 @@ }, "node_modules/underscore": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.12.1.tgz", "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz", "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", @@ -23659,16 +23531,16 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "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==", "engines": { "node": ">=4" @@ -23676,7 +23548,7 @@ }, "node_modules/unique-filename": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-2.0.1.tgz", "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "dependencies": { "unique-slug": "^3.0.0" @@ -23687,7 +23559,7 @@ }, "node_modules/unique-slug": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-3.0.0.tgz", "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "dependencies": { "imurmurhash": "^0.1.4" @@ -23698,7 +23570,7 @@ }, "node_modules/unique-string": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dependencies": { "crypto-random-string": "^2.0.0" @@ -23709,7 +23581,7 @@ }, "node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "engines": { "node": ">= 10.0.0" @@ -23717,7 +23589,7 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { "node": ">= 0.8" @@ -23725,12 +23597,12 @@ }, "node_modules/unquote": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" }, "node_modules/upath": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "engines": { "node": ">=4", @@ -23738,9 +23610,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "funding": [ { "type": "opencollective", @@ -23756,8 +23628,8 @@ } ], "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -23768,7 +23640,7 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" @@ -23776,7 +23648,7 @@ }, "node_modules/url-parse": { "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dependencies": { "querystringify": "^2.1.1", @@ -23785,7 +23657,7 @@ }, "node_modules/use-composed-ref": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "resolved": "https://registry.npmmirror.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz", "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -23793,7 +23665,7 @@ }, "node_modules/use-isomorphic-layout-effect": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -23806,7 +23678,7 @@ }, "node_modules/use-latest": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "resolved": "https://registry.npmmirror.com/use-latest/-/use-latest-1.2.1.tgz", "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", "dependencies": { "use-isomorphic-layout-effect": "^1.1.1" @@ -23822,12 +23694,12 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/util.promisify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", "dependencies": { "define-properties": "^1.1.3", @@ -23841,12 +23713,12 @@ }, "node_modules/utila": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "resolved": "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz", "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" }, "node_modules/utility-types": { "version": "3.11.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "resolved": "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz", "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "engines": { "node": ">= 4" @@ -23854,7 +23726,7 @@ }, "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "engines": { "node": ">= 0.4.0" @@ -23862,7 +23734,7 @@ }, "node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { "uuid": "dist/bin/uuid" @@ -23870,7 +23742,7 @@ }, "node_modules/v8-to-istanbul": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -23883,12 +23755,12 @@ }, "node_modules/v8-to-istanbul/node_modules/convert-source-map": { "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dependencies": { "spdx-correct": "^3.0.0", @@ -23897,7 +23769,7 @@ }, "node_modules/validator": { "version": "13.12.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "resolved": "https://registry.npmmirror.com/validator/-/validator-13.12.0.tgz", "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", "engines": { "node": ">= 0.10" @@ -23905,7 +23777,7 @@ }, "node_modules/vary": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { "node": ">= 0.8" @@ -23913,7 +23785,7 @@ }, "node_modules/vis-network": { "version": "9.1.9", - "resolved": "https://registry.npmjs.org/vis-network/-/vis-network-9.1.9.tgz", + "resolved": "https://registry.npmmirror.com/vis-network/-/vis-network-9.1.9.tgz", "integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==", "funding": { "type": "opencollective", @@ -23930,16 +23802,15 @@ }, "node_modules/void-elements": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/w3c-hr-time": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", "dependencies": { @@ -23948,12 +23819,12 @@ }, "node_modules/w3c-keyname": { "version": "2.2.8", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "resolved": "https://registry.npmmirror.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz", "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, "node_modules/w3c-xmlserializer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", "dependencies": { "xml-name-validator": "^3.0.0" @@ -23964,7 +23835,7 @@ }, "node_modules/walker": { "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dependencies": { "makeerror": "1.0.12" @@ -23972,7 +23843,7 @@ }, "node_modules/watchpack": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dependencies": { "glob-to-regexp": "^0.4.1", @@ -23984,7 +23855,7 @@ }, "node_modules/wbuf": { "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dependencies": { "minimalistic-assert": "^1.0.0" @@ -23992,32 +23863,31 @@ }, "node_modules/web-vitals": { "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "resolved": "https://registry.npmmirror.com/web-vitals/-/web-vitals-2.1.4.tgz", "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" }, "node_modules/webidl-conversions": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", "engines": { "node": ">=10.4" } }, "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.96.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -24051,7 +23921,7 @@ }, "node_modules/webpack-dev-middleware": { "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", "dependencies": { "colorette": "^2.0.10", @@ -24073,7 +23943,7 @@ }, "node_modules/webpack-dev-server": { "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "dependencies": { "@types/bonjour": "^3.5.9", @@ -24131,7 +24001,7 @@ }, "node_modules/webpack-dev-server/node_modules/ws": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" @@ -24151,7 +24021,7 @@ }, "node_modules/webpack-manifest-plugin": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "resolved": "https://registry.npmmirror.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", "dependencies": { "tapable": "^2.0.0", @@ -24166,7 +24036,7 @@ }, "node_modules/webpack-manifest-plugin/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -24174,7 +24044,7 @@ }, "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-2.3.1.tgz", "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", "dependencies": { "source-list-map": "^2.0.1", @@ -24186,7 +24056,7 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "engines": { "node": ">=10.13.0" @@ -24194,7 +24064,7 @@ }, "node_modules/webpack/node_modules/ajv": { "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -24209,7 +24079,7 @@ }, "node_modules/webpack/node_modules/ajv-keywords": { "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "peerDependencies": { "ajv": "^6.9.1" @@ -24217,7 +24087,7 @@ }, "node_modules/webpack/node_modules/eslint-scope": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dependencies": { "esrecurse": "^4.3.0", @@ -24229,7 +24099,7 @@ }, "node_modules/webpack/node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "engines": { "node": ">=4.0" @@ -24237,12 +24107,12 @@ }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dependencies": { "@types/json-schema": "^7.0.8", @@ -24259,7 +24129,7 @@ }, "node_modules/websocket-driver": { "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dependencies": { "http-parser-js": ">=0.5.1", @@ -24272,7 +24142,7 @@ }, "node_modules/websocket-extensions": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "resolved": "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "engines": { "node": ">=0.8.0" @@ -24280,7 +24150,7 @@ }, "node_modules/whatwg-encoding": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", "dependencies": { "iconv-lite": "0.4.24" @@ -24288,7 +24158,7 @@ }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -24299,17 +24169,17 @@ }, "node_modules/whatwg-fetch": { "version": "3.6.20", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" }, "node_modules/whatwg-mimetype": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, "node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", @@ -24318,12 +24188,12 @@ }, "node_modules/whatwg-url/node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { "isexe": "^2.0.0" @@ -24337,7 +24207,7 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dependencies": { "is-bigint": "^1.0.1", @@ -24351,15 +24221,16 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", - "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", "dependencies": { + "call-bind": "^1.0.7", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", + "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.1.4", "is-weakref": "^1.0.2", @@ -24377,7 +24248,7 @@ }, "node_modules/which-collection": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dependencies": { "is-map": "^2.0.3", @@ -24394,7 +24265,7 @@ }, "node_modules/which-typed-array": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.15.tgz", "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dependencies": { "available-typed-arrays": "^1.0.7", @@ -24412,7 +24283,7 @@ }, "node_modules/wide-align": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "resolved": "https://registry.npmmirror.com/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" @@ -24420,7 +24291,7 @@ }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "engines": { "node": ">=0.10.0" @@ -24428,7 +24299,7 @@ }, "node_modules/workbox-background-sync": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", "dependencies": { "idb": "^7.0.1", @@ -24437,7 +24308,7 @@ }, "node_modules/workbox-broadcast-update": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", "dependencies": { "workbox-core": "6.6.0" @@ -24445,7 +24316,7 @@ }, "node_modules/workbox-build": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.6.0.tgz", "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", @@ -24492,7 +24363,7 @@ }, "node_modules/workbox-build/node_modules/fs-extra": { "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dependencies": { "at-least-node": "^1.0.0", @@ -24506,7 +24377,7 @@ }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz", "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dependencies": { "whatwg-url": "^7.0.0" @@ -24517,7 +24388,7 @@ }, "node_modules/workbox-build/node_modules/tr46": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz", "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dependencies": { "punycode": "^2.1.0" @@ -24525,12 +24396,12 @@ }, "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz", "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/workbox-build/node_modules/whatwg-url": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz", "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dependencies": { "lodash.sortby": "^4.7.0", @@ -24540,7 +24411,7 @@ }, "node_modules/workbox-cacheable-response": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", "deprecated": "workbox-background-sync@6.6.0", "dependencies": { @@ -24549,12 +24420,12 @@ }, "node_modules/workbox-core": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.6.0.tgz", "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" }, "node_modules/workbox-expiration": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.6.0.tgz", "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", "dependencies": { "idb": "^7.0.1", @@ -24563,7 +24434,7 @@ }, "node_modules/workbox-google-analytics": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", "dependencies": { @@ -24575,7 +24446,7 @@ }, "node_modules/workbox-navigation-preload": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", "dependencies": { "workbox-core": "6.6.0" @@ -24583,7 +24454,7 @@ }, "node_modules/workbox-precaching": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.6.0.tgz", "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", "dependencies": { "workbox-core": "6.6.0", @@ -24593,7 +24464,7 @@ }, "node_modules/workbox-range-requests": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", "dependencies": { "workbox-core": "6.6.0" @@ -24601,7 +24472,7 @@ }, "node_modules/workbox-recipes": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.6.0.tgz", "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", "dependencies": { "workbox-cacheable-response": "6.6.0", @@ -24614,7 +24485,7 @@ }, "node_modules/workbox-routing": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.6.0.tgz", "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", "dependencies": { "workbox-core": "6.6.0" @@ -24622,7 +24493,7 @@ }, "node_modules/workbox-strategies": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.6.0.tgz", "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", "dependencies": { "workbox-core": "6.6.0" @@ -24630,7 +24501,7 @@ }, "node_modules/workbox-streams": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.6.0.tgz", "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", "dependencies": { "workbox-core": "6.6.0", @@ -24639,12 +24510,12 @@ }, "node_modules/workbox-sw": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.6.0.tgz", "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" }, "node_modules/workbox-webpack-plugin": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", "dependencies": { "fast-json-stable-stringify": "^2.1.0", @@ -24662,7 +24533,7 @@ }, "node_modules/workbox-webpack-plugin/node_modules/source-map": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { "node": ">=0.10.0" @@ -24670,7 +24541,7 @@ }, "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dependencies": { "source-list-map": "^2.0.0", @@ -24679,7 +24550,7 @@ }, "node_modules/workbox-window": { "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.6.0.tgz", "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", "dependencies": { "@types/trusted-types": "^2.0.2", @@ -24688,7 +24559,7 @@ }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", @@ -24705,7 +24576,7 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { "ansi-styles": "^4.0.0", @@ -24721,12 +24592,12 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/write-file-atomic": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dependencies": { "imurmurhash": "^0.1.4", @@ -24737,7 +24608,7 @@ }, "node_modules/ws": { "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", "engines": { "node": ">=8.3.0" @@ -24757,17 +24628,17 @@ }, "node_modules/xml-name-validator": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" }, "node_modules/xmlchars": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "engines": { "node": ">=10" @@ -24775,12 +24646,12 @@ }, "node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "engines": { "node": ">= 6" @@ -24788,7 +24659,7 @@ }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { "cliui": "^7.0.2", @@ -24805,7 +24676,7 @@ }, "node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { "node": ">=10" @@ -24813,7 +24684,7 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "engines": { "node": ">=10" @@ -24824,7 +24695,7 @@ }, "node_modules/zrender": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.0.tgz", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", "dependencies": { "tslib": "2.3.0" @@ -24832,8 +24703,17812 @@ }, "node_modules/zrender/node_modules/tslib": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" } + }, + "dependencies": { + "@adobe/css-tools": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@adobe/css-tools/-/css-tools-4.4.1.tgz", + "integrity": "sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==" + }, + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@ant-design/colors": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-6.0.0.tgz", + "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==", + "requires": { + "@ctrl/tinycolor": "^3.4.0" + } + }, + "@ant-design/icons": { + "version": "4.8.3", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-4.8.3.tgz", + "integrity": "sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons-svg": "^4.3.0", + "@babel/runtime": "^7.11.2", + "classnames": "^2.2.6", + "lodash": "^4.17.15", + "rc-util": "^5.9.4" + } + }, + "@ant-design/icons-svg": { + "version": "4.4.2", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" + }, + "@ant-design/react-slick": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz", + "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "requires": { + "@babel/runtime": "^7.10.4", + "classnames": "^2.2.5", + "json2mq": "^0.2.0", + "resize-observer-polyfill": "^1.5.1", + "throttle-debounce": "^5.0.0" + } + }, + "@antv/algorithm": { + "version": "0.1.26", + "resolved": "https://registry.npmmirror.com/@antv/algorithm/-/algorithm-0.1.26.tgz", + "integrity": "sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==", + "requires": { + "@antv/util": "^2.0.13", + "tslib": "^2.0.0" + } + }, + "@antv/dom-util": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@antv/dom-util/-/dom-util-2.0.4.tgz", + "integrity": "sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ==", + "requires": { + "tslib": "^2.0.3" + } + }, + "@antv/event-emitter": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==" + }, + "@antv/g-base": { + "version": "0.5.16", + "resolved": "https://registry.npmmirror.com/@antv/g-base/-/g-base-0.5.16.tgz", + "integrity": "sha512-jP06wggTubDPHXoKwFg3/f1lyxBX9ywwN3E/HG74Nd7DXqOXQis8tsIWW+O6dS/h9vyuXLd1/wDWkMMm3ZzXdg==", + "requires": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.9", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.13", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^3.0.1", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-canvas": { + "version": "0.5.17", + "resolved": "https://registry.npmmirror.com/@antv/g-canvas/-/g-canvas-0.5.17.tgz", + "integrity": "sha512-sXYJMWTOlb/Ycb6sTKu00LcJqInXJY4t99+kSM40u2OfqrXYmaXDjHR7D2V0roMkbK/QWiWS9UnEidCR1VtMOA==", + "requires": { + "@antv/g-base": "^0.5.12", + "@antv/g-math": "^0.1.9", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-math": { + "version": "0.1.9", + "resolved": "https://registry.npmmirror.com/@antv/g-math/-/g-math-0.1.9.tgz", + "integrity": "sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ==", + "requires": { + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0" + } + }, + "@antv/g-svg": { + "version": "0.5.7", + "resolved": "https://registry.npmmirror.com/@antv/g-svg/-/g-svg-0.5.7.tgz", + "integrity": "sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw==", + "requires": { + "@antv/g-base": "^0.5.12", + "@antv/g-math": "^0.1.9", + "@antv/util": "~2.0.0", + "detect-browser": "^5.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-webgpu": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz", + "integrity": "sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ==", + "requires": { + "@antv/g-webgpu-core": "^0.7.2", + "@antv/g-webgpu-engine": "^0.7.2", + "gl-matrix": "^3.1.0", + "gl-vec2": "^1.3.0", + "lodash": "^4.17.15" + } + }, + "@antv/g-webgpu-core": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz", + "integrity": "sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w==", + "requires": { + "eventemitter3": "^4.0.0", + "gl-matrix": "^3.1.0", + "lodash": "^4.17.15", + "probe.gl": "^3.1.1" + } + }, + "@antv/g-webgpu-engine": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz", + "integrity": "sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg==", + "requires": { + "@antv/g-webgpu-core": "^0.7.2", + "gl-matrix": "^3.1.0", + "lodash": "^4.17.15", + "regl": "^1.3.11" + } + }, + "@antv/g6": { + "version": "4.8.24", + "resolved": "https://registry.npmmirror.com/@antv/g6/-/g6-4.8.24.tgz", + "integrity": "sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ==", + "requires": { + "@antv/g6-pc": "0.8.24" + } + }, + "@antv/g6-core": { + "version": "0.8.24", + "resolved": "https://registry.npmmirror.com/@antv/g6-core/-/g6-core-0.8.24.tgz", + "integrity": "sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A==", + "requires": { + "@antv/algorithm": "^0.1.26", + "@antv/dom-util": "^2.0.1", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "^0.5.1", + "@antv/g-math": "^0.1.1", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/util": "~2.0.5", + "ml-matrix": "^6.5.0", + "tslib": "^2.6.2" + } + }, + "@antv/g6-element": { + "version": "0.8.24", + "resolved": "https://registry.npmmirror.com/@antv/g6-element/-/g6-element-0.8.24.tgz", + "integrity": "sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw==", + "requires": { + "@antv/g-base": "^0.5.1", + "@antv/g6-core": "0.8.24", + "@antv/util": "~2.0.5", + "tslib": "^2.6.2" + } + }, + "@antv/g6-pc": { + "version": "0.8.24", + "resolved": "https://registry.npmmirror.com/@antv/g6-pc/-/g6-pc-0.8.24.tgz", + "integrity": "sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ==", + "requires": { + "@ant-design/colors": "^4.0.5", + "@antv/algorithm": "^0.1.26", + "@antv/dom-util": "^2.0.1", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "^0.5.1", + "@antv/g-canvas": "^0.5.2", + "@antv/g-math": "^0.1.1", + "@antv/g-svg": "^0.5.1", + "@antv/g6-core": "0.8.24", + "@antv/g6-element": "0.8.24", + "@antv/g6-plugin": "0.8.24", + "@antv/hierarchy": "^0.6.10", + "@antv/layout": "^0.3.0", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/util": "~2.0.5", + "color": "^3.1.3", + "d3-force": "^2.0.1", + "dagre": "^0.8.5", + "insert-css": "^2.0.0", + "ml-matrix": "^6.5.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "@ant-design/colors": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-4.0.5.tgz", + "integrity": "sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q==", + "requires": { + "tinycolor2": "^1.4.1" + } + } + } + }, + "@antv/g6-plugin": { + "version": "0.8.24", + "resolved": "https://registry.npmmirror.com/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz", + "integrity": "sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g==", + "requires": { + "@antv/dom-util": "^2.0.2", + "@antv/g-base": "^0.5.1", + "@antv/g-canvas": "^0.5.2", + "@antv/g-svg": "^0.5.2", + "@antv/g6-core": "0.8.24", + "@antv/g6-element": "0.8.24", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.3", + "@antv/scale": "^0.3.4", + "@antv/util": "^2.0.9", + "insert-css": "^2.0.0" + } + }, + "@antv/graphin": { + "version": "2.7.27", + "resolved": "https://registry.npmmirror.com/@antv/graphin/-/graphin-2.7.27.tgz", + "integrity": "sha512-cqsLl3xpZ5mPgTq5UufcqJDlxzKZSLk9/JWXmoQYpvDC4cpzDjBZeVlaDfhT8iToB5aR15CEIu6j+XsQDMqUsA==", + "requires": { + "@antv/g6": "^4.8.19", + "d3-quadtree": "^3.0.1", + "lodash-es": "^4.17.21" + } + }, + "@antv/graphin-components": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@antv/graphin-components/-/graphin-components-2.4.1.tgz", + "integrity": "sha512-Vaxhg1Jbv76j0SwrDLS5/VoHEx2mJW9CEbNdJ7HuWCaz24imvOymV4FpKSJND2PUq7BgIrzo48NaF3bpfiWZZA==", + "requires": { + "@antv/graphin": "^2.7.18" + } + }, + "@antv/graphin-icons": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz", + "integrity": "sha512-2nogK6ZrDklnfIOJrqOAgD7iFLjfZIjLbA8pDUbeXN5c9b0Mu84oCfyqg8OmWwvi9Gt80eUzoplo73gKjZECJg==" + }, + "@antv/graphlib": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@antv/graphlib/-/graphlib-1.2.0.tgz", + "integrity": "sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==" + }, + "@antv/hierarchy": { + "version": "0.6.14", + "resolved": "https://registry.npmmirror.com/@antv/hierarchy/-/hierarchy-0.6.14.tgz", + "integrity": "sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ==" + }, + "@antv/layout": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@antv/layout/-/layout-0.3.25.tgz", + "integrity": "sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g==", + "requires": { + "@antv/g-webgpu": "0.7.2", + "@antv/graphlib": "^1.0.0", + "@antv/util": "^3.3.2", + "d3-force": "^2.1.1", + "d3-quadtree": "^2.0.0", + "dagre-compound": "^0.0.11", + "ml-matrix": "6.5.0" + }, + "dependencies": { + "@antv/util": { + "version": "3.3.10", + "resolved": "https://registry.npmmirror.com/@antv/util/-/util-3.3.10.tgz", + "integrity": "sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ==", + "requires": { + "fast-deep-equal": "^3.1.3", + "gl-matrix": "^3.3.0", + "tslib": "^2.3.1" + } + }, + "d3-quadtree": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + }, + "ml-matrix": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/ml-matrix/-/ml-matrix-6.5.0.tgz", + "integrity": "sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg==", + "requires": { + "ml-array-rescale": "^1.3.1" + } + } + } + }, + "@antv/matrix-util": { + "version": "3.1.0-beta.3", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz", + "integrity": "sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A==", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.4.3", + "tslib": "^2.0.3" + } + }, + "@antv/path-util": { + "version": "2.0.15", + "resolved": "https://registry.npmmirror.com/@antv/path-util/-/path-util-2.0.15.tgz", + "integrity": "sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw==", + "requires": { + "@antv/matrix-util": "^3.0.4", + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + }, + "dependencies": { + "@antv/matrix-util": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz", + "integrity": "sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ==", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.3.0", + "tslib": "^2.0.3" + } + } + } + }, + "@antv/scale": { + "version": "0.3.18", + "resolved": "https://registry.npmmirror.com/@antv/scale/-/scale-0.3.18.tgz", + "integrity": "sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w==", + "requires": { + "@antv/util": "~2.0.3", + "fecha": "~4.2.0", + "tslib": "^2.0.0" + } + }, + "@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "requires": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "@antv/x6": { + "version": "1.35.1", + "resolved": "https://registry.npmmirror.com/@antv/x6/-/x6-1.35.1.tgz", + "integrity": "sha512-XLFSGbcT/MOI883YKql9J/CqHUCPZxgwfel+sNN1eQbHA+JXYsGt0t9+IJ1qieaYAlxjgio5up+S9I0n+8QL/A==", + "requires": { + "csstype": "^3.0.3", + "jquery": "^3.5.1", + "jquery-mousewheel": "^3.1.13", + "lodash-es": "^4.17.15", + "mousetrap": "^1.6.5", + "utility-types": "^3.10.0" + } + }, + "@antv/x6-react-components": { + "version": "1.1.20", + "resolved": "https://registry.npmmirror.com/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz", + "integrity": "sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q==", + "requires": { + "clamp": "^1.0.1", + "classnames": "^2.2.6", + "rc-dropdown": "^3.0.0-alpha.0", + "rc-util": "^4.15.7", + "react-color": "2.17.1", + "react-resize-detector": "^7.0.0", + "ua-parser-js": "^0.7.20" + }, + "dependencies": { + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-color": { + "version": "2.17.1", + "resolved": "https://registry.npmmirror.com/react-color/-/react-color-2.17.1.tgz", + "integrity": "sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.11", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "@antv/x6-react-shape": { + "version": "1.6.6", + "resolved": "https://registry.npmmirror.com/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz", + "integrity": "sha512-+SIvQWeGhfH9miKDQvJT497iVDs/CcMwcgbNKbPV6qTUaSUeXjz/bZy8knbQ5t9XtkVYeQXZP7swiKK2xMI0UQ==" + }, + "@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "requires": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + } + }, + "@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==" + }, + "@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz", + "integrity": "sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/eslint-plugin/-/eslint-plugin-7.25.9.tgz", + "integrity": "sha512-MWg1lz+JiP9l1fXkE0qCUVo+1XwgNRPs6GTc88hmw6qN3AdgmfTSkyHt0e1xOTsKdXW5xlh2Lsk3wrFZbW5rzQ==", + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "requires": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "requires": { + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "requires": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "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==", + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz", + "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==", + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "dependencies": { + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "requires": { + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/helper-simple-access": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "requires": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==" + }, + "@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==" + }, + "@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==" + }, + "@babel/helper-wrap-function": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "requires": { + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "requires": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + } + }, + "@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "requires": { + "@babel/types": "^7.26.0" + } + }, + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.9", + "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.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@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==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", + "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-decorators": "^7.25.9" + } + }, + "@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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@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==", + "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==", + "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-placeholder-for-preset-env.2", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", + "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.26.0.tgz", + "integrity": "sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz", + "integrity": "sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-flow": "^7.25.9" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "requires": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "requires": { + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "requires": { + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.25.9" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "requires": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, + "@babel/preset-env": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "requires": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" + } + }, + "@babel/preset-typescript": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" + } + }, + "@babel/runtime": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "requires": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + } + }, + "@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "requires": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "dependencies": { + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + } + } + }, + "@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "requires": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@codemirror/autocomplete": { + "version": "6.18.3", + "resolved": "https://registry.npmmirror.com/@codemirror/autocomplete/-/autocomplete-6.18.3.tgz", + "integrity": "sha512-1dNIOmiM0z4BIBwxmxEfA1yoxh1MF/6KPBbh20a5vphGV0ictKlgQsbJs6D6SkR6iJpGbpwRsa6PFMNlg9T9pQ==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" + } + }, + "@codemirror/commands": { + "version": "6.7.1", + "resolved": "https://registry.npmmirror.com/@codemirror/commands/-/commands-6.7.1.tgz", + "integrity": "sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw==", + "requires": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" + } + }, + "@codemirror/language": { + "version": "6.10.4", + "resolved": "https://registry.npmmirror.com/@codemirror/language/-/language-6.10.4.tgz", + "integrity": "sha512-qjt7Wn/nxGuI278GYVlqE5V93Xn8ZQwzqZtgS0FaWr7K2yWgd5/FlBNqNi4jtUvBVvWJzAGfnggIlpyjTOaF4A==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "@codemirror/lint": { + "version": "6.8.3", + "resolved": "https://registry.npmmirror.com/@codemirror/lint/-/lint-6.8.3.tgz", + "integrity": "sha512-GSGfKxCo867P7EX1k2LoCrjuQFeqVgPGRRsSl4J4c0KMkD+k1y6WYvTQkzv0iZ8JhLJDujEvlnMchv4CZQLh3Q==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.35.0", + "crelt": "^1.0.5" + } + }, + "@codemirror/search": { + "version": "6.5.8", + "resolved": "https://registry.npmmirror.com/@codemirror/search/-/search-6.5.8.tgz", + "integrity": "sha512-PoWtZvo7c1XFeZWmmyaOp2G0XVbOnm+fJzvghqGAktBW3cufwJUWvSCcNG0ppXiBEM05mZu6RhMtXPv2hpllig==", + "requires": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" + }, + "@codemirror/view": { + "version": "6.35.0", + "resolved": "https://registry.npmmirror.com/@codemirror/view/-/view-6.35.0.tgz", + "integrity": "sha512-I0tYy63q5XkaWsJ8QRv5h6ves7kvtrBWjBcnf/bzohFJQc5c14a1AQRdE8QpPF9eMp5Mq2FMm59TCj1gDfE7kw==", + "requires": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==" + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==" + }, + "@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==" + }, + "@ecomfe/eslint-config": { + "version": "7.5.1", + "resolved": "https://registry.npmmirror.com/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz", + "integrity": "sha512-17Qc003QeeP9dZcI838owFLbSPjfCwZofYIu3zbLqpTVxdbxkkijj10fzYnMRGuOW0uGOzSqITzrIaJmLZRHBA==", + "dev": true, + "requires": { + "semver": "^7.3.5" + } + }, + "@ecomfe/stylelint-config": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz", + "integrity": "sha512-rIrZ7EU+zGVnqWWvYrCJWNrV04jyRSOqbLhsH1vl2FgTyUOBbvErRHfPoGqng8S9MfbIunnkzCDaoqpw6G4Tzw==", + "dev": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "requires": { + "eslint-visitor-keys": "^3.4.3" + } + }, + "@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmmirror.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==" + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } + }, + "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==" + } + } + }, + "@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==" + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" + }, + "@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "requires": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==" + }, + "@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/@icons/material/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + } + } + }, + "@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==" + }, + "@lezer/common": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==" + }, + "@lezer/highlight": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@lezer/highlight/-/highlight-1.2.1.tgz", + "integrity": "sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==", + "requires": { + "@lezer/common": "^1.0.0" + } + }, + "@lezer/lr": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/@lezer/lr/-/lr-1.4.2.tgz", + "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", + "requires": { + "@lezer/common": "^1.0.0" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@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" + } + }, + "@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.15", + "resolved": "https://registry.npmmirror.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz", + "integrity": "sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==", + "requires": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + } + }, + "@probe.gl/env": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/@probe.gl/env/-/env-3.6.0.tgz", + "integrity": "sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==", + "requires": { + "@babel/runtime": "^7.0.0" + } + }, + "@probe.gl/log": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/@probe.gl/log/-/log-3.6.0.tgz", + "integrity": "sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==", + "requires": { + "@babel/runtime": "^7.0.0", + "@probe.gl/env": "3.6.0" + } + }, + "@probe.gl/stats": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/@probe.gl/stats/-/stats-3.6.0.tgz", + "integrity": "sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==", + "requires": { + "@babel/runtime": "^7.0.0" + } + }, + "@rc-component/portal": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@rc-component/portal/-/portal-1.1.2.tgz", + "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "requires": { + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + } + }, + "@remix-run/router": { + "version": "1.21.0", + "resolved": "https://registry.npmmirror.com/@remix-run/router/-/router-1.21.0.tgz", + "integrity": "sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, + "@rushstack/eslint-patch": { + "version": "1.10.4", + "resolved": "https://registry.npmmirror.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "requires": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + } + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmmirror.com/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "requires": { + "deep-equal": "^2.0.5" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmmirror.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + } + }, + "@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmmirror.com/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + } + }, + "@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmmirror.com/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==" + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@tweenjs/tween.js": { + "version": "25.0.0", + "resolved": "https://registry.npmmirror.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz", + "integrity": "sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A==" + }, + "@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==" + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmmirror.com/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/d3-timer": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-2.0.3.tgz", + "integrity": "sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==" + }, + "@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, + "@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + }, + "dependencies": { + "@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + } + } + }, + "@types/express-serve-static-core": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.2.tgz", + "integrity": "sha512-vluaspfvWEtE4vcSDlKRNer52DvOGrB2xv6diXy6UKyKW0lqZiWHGNApSyxOv+8DE5Z27IzVvE7hNkxg7EXIcg==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.14", + "resolved": "https://registry.npmmirror.com/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmmirror.com/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==" + }, + "@types/node": { + "version": "22.9.3", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.9.3.tgz", + "integrity": "sha512-F3u1fs/fce3FFk+DAxbxc78DF8x0cY09RRL8GnXLmkJ1jvx3TtPdWoTT5/NiYfI5ASqXBmfqJi9dZ3gxMx4lzw==", + "requires": { + "undici-types": "~6.19.8" + } + }, + "@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmmirror.com/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" + }, + "@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmmirror.com/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==" + }, + "@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmmirror.com/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" + }, + "@types/qs": { + "version": "6.9.17", + "resolved": "https://registry.npmmirror.com/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==" + }, + "@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmmirror.com/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "requires": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "requires": { + "@types/react": "*" + } + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmmirror.com/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==" + }, + "@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "requires": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmmirror.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "requires": { + "@types/jest": "*" + } + }, + "@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" + }, + "@types/ws": { + "version": "8.5.13", + "resolved": "https://registry.npmmirror.com/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "requires": { + "@typescript-eslint/utils": "5.62.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "requires": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "requires": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@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==" + }, + "3d-force-graph": { + "version": "1.73.6", + "resolved": "https://registry.npmmirror.com/3d-force-graph/-/3d-force-graph-1.73.6.tgz", + "integrity": "sha512-9p/HmnD8dvGano/ybFIeFRb+HOSzVUcvJVeEeGhsTAtnerc7xD6eK3XgRMRka+tHrjBL2F5EcS9d0NQ5OjxRBQ==", + "requires": { + "accessor-fn": "1", + "kapsule": "1", + "three": ">=0.118 <1", + "three-forcegraph": "1", + "three-render-objects": "^1.29" + } + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "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==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "dependencies": { + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + } + } + }, + "accessor-fn": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/accessor-fn/-/accessor-fn-1.5.1.tgz", + "integrity": "sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A==" + }, + "acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + } + } + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + }, + "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==" + }, + "add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "requires": { + "object-assign": "4.x" + } + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "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==", + "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==" + } + } + }, + "ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmmirror.com/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==" + }, + "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==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "antd": { + "version": "4.24.16", + "resolved": "https://registry.npmmirror.com/antd/-/antd-4.24.16.tgz", + "integrity": "sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ==", + "requires": { + "@ant-design/colors": "^6.0.0", + "@ant-design/icons": "^4.8.2", + "@ant-design/react-slick": "~1.0.2", + "@babel/runtime": "^7.18.3", + "@ctrl/tinycolor": "^3.6.1", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "lodash": "^4.17.21", + "moment": "^2.29.2", + "rc-cascader": "~3.7.3", + "rc-checkbox": "~3.0.1", + "rc-collapse": "~3.4.2", + "rc-dialog": "~9.0.2", + "rc-drawer": "~6.3.0", + "rc-dropdown": "~4.0.1", + "rc-field-form": "~1.38.2", + "rc-image": "~5.13.0", + "rc-input": "~0.1.4", + "rc-input-number": "~7.3.11", + "rc-mentions": "~1.13.1", + "rc-menu": "~9.8.4", + "rc-motion": "^2.9.0", + "rc-notification": "~4.6.1", + "rc-pagination": "~3.2.0", + "rc-picker": "~2.7.6", + "rc-progress": "~3.4.2", + "rc-rate": "~2.9.3", + "rc-resize-observer": "^1.3.1", + "rc-segmented": "~2.3.0", + "rc-select": "~14.1.18", + "rc-slider": "~10.0.1", + "rc-steps": "~5.0.0", + "rc-switch": "~3.2.2", + "rc-table": "~7.26.0", + "rc-tabs": "~12.5.10", + "rc-textarea": "~0.4.7", + "rc-tooltip": "~5.2.2", + "rc-tree": "~5.7.12", + "rc-tree-select": "~5.5.5", + "rc-trigger": "^5.3.4", + "rc-upload": "~4.3.6", + "rc-util": "^5.37.0", + "scroll-into-view-if-needed": "^2.2.25" + }, + "dependencies": { + "rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + } + } + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "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": "2.0.0", + "resolved": "https://registry.npmmirror.com/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==" + }, + "array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "requires": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + } + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.reduce": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", + "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "requires": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmmirror.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" + }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "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==" + }, + "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==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "requires": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, + "axe-core": { + "version": "4.10.2", + "resolved": "https://registry.npmmirror.com/axe-core/-/axe-core-4.10.2.tgz", + "integrity": "sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==" + }, + "axios": { + "version": "0.27.2", + "resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", + "requires": { + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" + } + }, + "axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==" + }, + "babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "requires": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "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==" + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "dependencies": { + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.12", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz", + "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.3", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz", + "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.6.3" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + } + }, + "babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "requires": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base16": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "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==" + }, + "bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "requires": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "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==" + }, + "bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==" + }, + "binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "requires": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "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.3", + "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "requires": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.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==" + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==" + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "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==", + "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.30001684", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001684.tgz", + "integrity": "sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==" + }, + "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==" + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" + }, + "check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmmirror.com/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "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" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" + }, + "chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==" + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" + }, + "cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" + }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" + }, + "classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "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==" + }, + "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==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "codemirror": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/codemirror/-/codemirror-6.0.1.tgz", + "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", + "requires": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + } + }, + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + } + } + }, + "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==", + "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==" + }, + "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==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmmirror.com/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "requires": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.0.2", + "safe-buffer": "5.2.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==", + "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==" + } + } + }, + "compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmmirror.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "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==" + }, + "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==", + "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==" + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "core-js": { + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz", + "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==" + }, + "core-js-compat": { + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "requires": { + "browserslist": "^4.24.2" + } + }, + "core-js-pure": { + "version": "3.39.0", + "resolved": "https://registry.npmmirror.com/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==" + }, + "cron-expression-validator": { + "version": "1.0.20", + "resolved": "https://registry.npmmirror.com/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz", + "integrity": "sha512-g0osBTdp+1ryDw2vzlG6UpDPaa4fO94ZChF2R0lEnRurbuUEL74XEVX7xZJ13m4Mq/gb3ni6UQu8+Oqt+eocsw==" + }, + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "requires": { + "node-fetch": "^2.6.12" + } + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==" + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "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==" + }, + "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==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmmirror.com/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "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==", + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "requires": { + "internmap": "1 - 2" + } + }, + "d3-binarytree": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/d3-binarytree/-/d3-binarytree-1.0.2.tgz", + "integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==" + }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" + }, + "d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz", + "integrity": "sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==" + }, + "d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==" + }, + "d3-force": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-2.1.1.tgz", + "integrity": "sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==", + "requires": { + "d3-dispatch": "1 - 2", + "d3-quadtree": "1 - 2", + "d3-timer": "1 - 2" + }, + "dependencies": { + "d3-quadtree": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz", + "integrity": "sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==" + } + } + }, + "d3-force-3d": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/d3-force-3d/-/d3-force-3d-3.0.5.tgz", + "integrity": "sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg==", + "requires": { + "d3-binarytree": "1", + "d3-dispatch": "1 - 3", + "d3-octree": "1", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" + }, + "d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-octree": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/d3-octree/-/d3-octree-1.0.2.tgz", + "integrity": "sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA==" + }, + "d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" + }, + "d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "requires": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + } + }, + "d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "requires": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + } + }, + "d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "requires": { + "d3-array": "2 - 3" + } + }, + "d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "requires": { + "d3-time": "1 - 3" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmmirror.com/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "dagre-compound": { + "version": "0.0.11", + "resolved": "https://registry.npmmirror.com/dagre-compound/-/dagre-compound-0.0.11.tgz", + "integrity": "sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "data-joint": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/data-joint/-/data-joint-1.3.1.tgz", + "integrity": "sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ==", + "requires": { + "index-array-by": "^1.4.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "dependencies": { + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + } + } + }, + "data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + } + }, + "date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmmirror.com/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "requires": { + "@babel/runtime": "^7.21.0" + } + }, + "dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + }, + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "requires": { + "ms": "^2.1.3" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==" + } + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "deep-equal": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.3.tgz", + "integrity": "sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.5", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.2", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.13" + } + }, + "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==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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==" + } + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmmirror.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + }, + "dom-align": { + "version": "1.12.4", + "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz", + "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==" + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "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==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==" + }, + "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==" + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "echarts": { + "version": "5.5.1", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.5.1.tgz", + "integrity": "sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==", + "requires": { + "tslib": "2.3.0", + "zrender": "5.6.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + }, + "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==" + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmmirror.com/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "electron-to-chromium": { + "version": "1.5.64", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz", + "integrity": "sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==" + }, + "emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + }, + "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==", + "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==", + "requires": { + "stackframe": "^1.3.4" + } + }, + "es-abstract": { + "version": "1.23.5", + "resolved": "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.23.5.tgz", + "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "requires": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.3", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "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==" + }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } + }, + "es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + } + }, + "es-module-lexer": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "requires": { + "es-errors": "^1.3.0" + } + }, + "es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "requires": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "requires": { + "hasown": "^2.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==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" + }, + "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==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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==" + } + } + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "requires": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmmirror.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "eslint-module-utils": { + "version": "2.12.0", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmmirror.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.31.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "requires": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "requires": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + } + }, + "eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "requires": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==" + }, + "eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "requires": { + "@typescript-eslint/utils": "^5.58.0" + } + }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==" + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + }, + "eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "requires": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmmirror.com/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, + "express": { + "version": "4.21.1", + "resolved": "https://registry.npmmirror.com/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.10", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "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==", + "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==" + } + } + }, + "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==" + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "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" + } + } + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fast-uri": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/fast-uri/-/fast-uri-3.0.3.tgz", + "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==" + }, + "fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } + }, + "fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "requires": { + "fbjs": "^3.0.0" + } + }, + "fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + }, + "dependencies": { + "ua-parser-js": { + "version": "1.0.39", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz", + "integrity": "sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw==" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "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==" + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmmirror.com/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "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==", + "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==" + } + } + }, + "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==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==" + }, + "flux": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/flux/-/flux-4.0.4.tgz", + "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "requires": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + } + }, + "follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "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==" + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + } + } + }, + "form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "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==" + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "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==" + }, + "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==" + }, + "get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "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==" + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "requires": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + } + }, + "gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + }, + "gl-vec2": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/gl-vec2/-/gl-vec2-1.3.0.tgz", + "integrity": "sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "requires": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globule": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/globule/-/globule-1.3.4.tgz", + "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", + "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==", + "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==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "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==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "requires": { + "lodash": "^4.17.15" + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "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==" + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + }, + "harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmmirror.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "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.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" + }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "highlight-words-core": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/highlight-words-core/-/highlight-words-core-1.2.3.tgz", + "integrity": "sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ==" + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + }, + "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==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "html-entities": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==" + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + } + }, + "html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "requires": { + "void-elements": "3.1.0" + } + }, + "html-webpack-plugin": { + "version": "5.6.3", + "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz", + "integrity": "sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==", + "requires": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + } + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "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==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "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==" + }, + "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==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "requires": { + "ms": "^2.0.0" + } + }, + "i18next": { + "version": "19.9.2", + "resolved": "https://registry.npmmirror.com/i18next/-/i18next-19.9.2.tgz", + "integrity": "sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg==", + "requires": { + "@babel/runtime": "^7.12.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + }, + "idb": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "requires": { + "harmony-reflect": "^1.4.6" + } + }, + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmmirror.com/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "index-array-by": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/index-array-by/-/index-array-by-1.4.2.tgz", + "integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==" + }, + "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==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "insert-css": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/insert-css/-/insert-css-2.0.0.tgz", + "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==" + }, + "install": { + "version": "0.13.0", + "resolved": "https://registry.npmmirror.com/install/-/install-0.13.0.tgz", + "integrity": "sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==" + }, + "internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "requires": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" + }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + } + }, + "ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==" + }, + "is-any-array": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-any-array/-/is-any-array-2.0.1.tgz", + "integrity": "sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==" + }, + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "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==" + }, + "is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "requires": { + "hasown": "^2.0.2" + } + }, + "is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "requires": { + "is-typed-array": "^1.1.13" + } + }, + "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==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finalizationregistry": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", + "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "requires": { + "call-bind": "^1.0.7" + } + }, + "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==" + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "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-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==" + }, + "is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==" + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + }, + "is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==" + }, + "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==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "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==" + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "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==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==" + }, + "is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "requires": { + "call-bind": "^1.0.7" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "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==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "requires": { + "which-typed-array": "^1.1.14" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==" + }, + "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==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==" + }, + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "requires": { + "semver": "^7.5.3" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jake": { + "version": "10.9.2", + "resolved": "https://registry.npmmirror.com/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "requires": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "requires": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + } + }, + "jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "requires": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "requires": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "requires": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, + "jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + }, + "jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "requires": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "requires": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + } + } + }, + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, + "jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" + }, + "jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==" + }, + "jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "requires": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "requires": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "requires": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + } + }, + "jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "requires": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "requires": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + } + } + }, + "jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "requires": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "requires": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==" + }, + "jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + } + } + }, + "jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==" + }, + "jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "requires": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "requires": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "dependencies": { + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "requires": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + }, + "string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "requires": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==" + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==" + } + } + } + } + }, + "jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "requires": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + } + } + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==" + }, + "jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npmmirror.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==" + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "requires": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "dependencies": { + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "form-data": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.2.tgz", + "integrity": "sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "requires": { + "punycode": "^2.1.1" + } + }, + "whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "requires": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + } + } + } + }, + "jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==" + }, + "json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "requires": { + "bignumber.js": "^9.0.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "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==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "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==" + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "requires": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + }, + "dependencies": { + "esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==" + } + } + }, + "jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==" + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmmirror.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "kapsule": { + "version": "1.14.6", + "resolved": "https://registry.npmmirror.com/kapsule/-/kapsule-1.14.6.tgz", + "integrity": "sha512-wSi6tHNOfXrIK2Pvv6BhZ9ukzhbp+XZlOOPWSVGUbqfFsnnli4Eq8FN6TaWJv2e17sY5+fKYVxa4DP2oPGlKhg==", + "requires": { + "lodash-es": "4" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmmirror.com/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "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==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "klona": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==" + }, + "language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmmirror.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==" + }, + "language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "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==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.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.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "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==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==" + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "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==", + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + } + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "requires": { + "tmpl": "1.0.5" + } + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "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==" + }, + "memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmmirror.com/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "memoize-one": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-4.0.3.tgz", + "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==" + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==" + } + } + }, + "merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" + }, + "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==" + }, + "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==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "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==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "mini-css-extract-plugin": { + "version": "2.9.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "requires": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + } + }, + "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==" + }, + "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==" + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "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==" + } + } + }, + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ml-array-max": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/ml-array-max/-/ml-array-max-1.2.4.tgz", + "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", + "requires": { + "is-any-array": "^2.0.0" + } + }, + "ml-array-min": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/ml-array-min/-/ml-array-min-1.2.3.tgz", + "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", + "requires": { + "is-any-array": "^2.0.0" + } + }, + "ml-array-rescale": { + "version": "1.3.7", + "resolved": "https://registry.npmmirror.com/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", + "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", + "requires": { + "is-any-array": "^2.0.0", + "ml-array-max": "^1.2.4", + "ml-array-min": "^1.2.3" + } + }, + "ml-matrix": { + "version": "6.12.0", + "resolved": "https://registry.npmmirror.com/ml-matrix/-/ml-matrix-6.12.0.tgz", + "integrity": "sha512-AGfR+pWaC0GmzjUnB6BfwhndPEUGz0i7QUYdqNuw1zhTov/vSRJ9pP2hs6BoGpaSbtXgrKjZz2zjD1M0xuur6A==", + "requires": { + "is-any-array": "^2.0.1", + "ml-array-rescale": "^1.3.7" + } + }, + "moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==" + }, + "mousetrap": { + "version": "1.6.5", + "resolved": "https://registry.npmmirror.com/mousetrap/-/mousetrap-1.6.5.tgz", + "integrity": "sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nan": { + "version": "2.22.0", + "resolved": "https://registry.npmmirror.com/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==" + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==" + }, + "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==" + }, + "ngraph.events": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/ngraph.events/-/ngraph.events-1.2.2.tgz", + "integrity": "sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ==" + }, + "ngraph.forcelayout": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz", + "integrity": "sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw==", + "requires": { + "ngraph.events": "^1.0.0", + "ngraph.merge": "^1.0.0", + "ngraph.random": "^1.0.0" + } + }, + "ngraph.graph": { + "version": "20.0.1", + "resolved": "https://registry.npmmirror.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz", + "integrity": "sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA==", + "requires": { + "ngraph.events": "^1.2.1" + } + }, + "ngraph.merge": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz", + "integrity": "sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg==" + }, + "ngraph.random": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/ngraph.random/-/ngraph.random-1.1.0.tgz", + "integrity": "sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-gyp": { + "version": "9.4.1", + "resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-9.4.1.tgz", + "integrity": "sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ==", + "requires": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node-sass": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/node-sass/-/node-sass-9.0.0.tgz", + "integrity": "sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "lodash": "^4.17.15", + "make-fetch-happen": "^10.0.4", + "meow": "^9.0.0", + "nan": "^2.17.0", + "node-gyp": "^8.4.1", + "sass-graph": "^4.0.1", + "stdout-stream": "^1.4.0", + "true-case-path": "^2.2.1" + }, + "dependencies": { + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmmirror.com/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "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" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + } + } + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "requires": { + "abbrev": "1" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "requires": { + "minipass": "^3.1.1" + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "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==", + "requires": { + "imurmurhash": "^0.1.4" + } + } + } + }, + "nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", + "requires": { + "abbrev": "^1.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "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==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm": { + "version": "8.19.4", + "resolved": "https://registry.npmmirror.com/npm/-/npm-8.19.4.tgz", + "integrity": "sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw==", + "requires": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/config": "^4.2.1", + "@npmcli/fs": "^2.1.0", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/package-json": "^2.0.0", + "@npmcli/run-script": "^4.2.1", + "abbrev": "~1.1.1", + "archy": "~1.0.0", + "cacache": "^16.1.3", + "chalk": "^4.1.2", + "chownr": "^2.0.0", + "cli-columns": "^4.0.0", + "cli-table3": "^0.6.2", + "columnify": "^1.6.0", + "fastest-levenshtein": "^1.0.12", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "graceful-fs": "^4.2.10", + "hosted-git-info": "^5.2.1", + "ini": "^3.0.1", + "init-package-json": "^3.0.2", + "is-cidr": "^4.0.2", + "json-parse-even-better-errors": "^2.3.1", + "libnpmaccess": "^6.0.4", + "libnpmdiff": "^4.0.5", + "libnpmexec": "^4.0.14", + "libnpmfund": "^3.0.5", + "libnpmhook": "^8.0.4", + "libnpmorg": "^4.0.4", + "libnpmpack": "^4.1.3", + "libnpmpublish": "^6.0.5", + "libnpmsearch": "^5.0.4", + "libnpmteam": "^4.0.4", + "libnpmversion": "^3.0.7", + "make-fetch-happen": "^10.2.0", + "minimatch": "^5.1.0", + "minipass": "^3.1.6", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "ms": "^2.1.2", + "node-gyp": "^9.1.0", + "nopt": "^6.0.0", + "npm-audit-report": "^3.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.1.0", + "npm-pick-manifest": "^7.0.2", + "npm-profile": "^6.2.0", + "npm-registry-fetch": "^13.3.1", + "npm-user-validate": "^1.0.1", + "npmlog": "^6.0.2", + "opener": "^1.5.2", + "p-map": "^4.0.0", + "pacote": "^13.6.2", + "parse-conflict-json": "^2.0.2", + "proc-log": "^2.0.1", + "qrcode-terminal": "^0.12.0", + "read": "~1.0.7", + "read-package-json": "^5.0.2", + "read-package-json-fast": "^2.0.3", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.1", + "tar": "^6.1.11", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "treeverse": "^2.0.0", + "validate-npm-package-name": "^4.0.0", + "which": "^2.0.2", + "write-file-atomic": "^4.0.1" + }, + "dependencies": { + "@colors/colors": { + "version": "1.5.0", + "bundled": true, + "optional": true + }, + "@gar/promisify": { + "version": "1.1.3", + "bundled": true + }, + "@isaacs/string-locale-compare": { + "version": "1.1.0", + "bundled": true + }, + "@npmcli/arborist": { + "version": "5.6.3", + "bundled": true, + "requires": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/map-workspaces": "^2.0.3", + "@npmcli/metavuln-calculator": "^3.0.1", + "@npmcli/move-file": "^2.0.0", + "@npmcli/name-from-folder": "^1.0.1", + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/package-json": "^2.0.0", + "@npmcli/query": "^1.2.0", + "@npmcli/run-script": "^4.1.3", + "bin-links": "^3.0.3", + "cacache": "^16.1.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^5.2.1", + "json-parse-even-better-errors": "^2.3.1", + "json-stringify-nice": "^1.1.4", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "npm-install-checks": "^5.0.0", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.2", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "parse-conflict-json": "^2.0.1", + "proc-log": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^1.0.1", + "read-package-json-fast": "^2.0.2", + "readdir-scoped-modules": "^1.1.0", + "rimraf": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^9.0.0", + "treeverse": "^2.0.0", + "walk-up-path": "^1.0.0" + } + }, + "@npmcli/ci-detect": { + "version": "2.0.0", + "bundled": true + }, + "@npmcli/config": { + "version": "4.2.2", + "bundled": true, + "requires": { + "@npmcli/map-workspaces": "^2.0.2", + "ini": "^3.0.0", + "mkdirp-infer-owner": "^2.0.0", + "nopt": "^6.0.0", + "proc-log": "^2.0.0", + "read-package-json-fast": "^2.0.3", + "semver": "^7.3.5", + "walk-up-path": "^1.0.0" + } + }, + "@npmcli/disparity-colors": { + "version": "2.0.0", + "bundled": true, + "requires": { + "ansi-styles": "^4.3.0" + } + }, + "@npmcli/fs": { + "version": "2.1.2", + "bundled": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "3.0.2", + "bundled": true, + "requires": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "bundled": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "dependencies": { + "npm-bundled": { + "version": "1.1.2", + "bundled": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + } + } + }, + "@npmcli/map-workspaces": { + "version": "2.0.4", + "bundled": true, + "requires": { + "@npmcli/name-from-folder": "^1.0.1", + "glob": "^8.0.1", + "minimatch": "^5.0.1", + "read-package-json-fast": "^2.0.3" + } + }, + "@npmcli/metavuln-calculator": { + "version": "3.1.1", + "bundled": true, + "requires": { + "cacache": "^16.0.0", + "json-parse-even-better-errors": "^2.3.1", + "pacote": "^13.0.3", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "2.0.1", + "bundled": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/name-from-folder": { + "version": "1.0.1", + "bundled": true + }, + "@npmcli/node-gyp": { + "version": "2.0.0", + "bundled": true + }, + "@npmcli/package-json": { + "version": "2.0.0", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.1" + } + }, + "@npmcli/promise-spawn": { + "version": "3.0.0", + "bundled": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/query": { + "version": "1.2.0", + "bundled": true, + "requires": { + "npm-package-arg": "^9.1.0", + "postcss-selector-parser": "^6.0.10", + "semver": "^7.3.7" + } + }, + "@npmcli/run-script": { + "version": "4.2.1", + "bundled": true, + "requires": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^2.0.3", + "which": "^2.0.2" + } + }, + "@tootallnate/once": { + "version": "2.0.0", + "bundled": true + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "6.0.2", + "bundled": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "bundled": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "bundled": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "bundled": true + }, + "ansi-styles": { + "version": "4.3.0", + "bundled": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "2.0.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "bundled": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "balanced-match": { + "version": "1.0.2", + "bundled": true + }, + "bin-links": { + "version": "3.0.3", + "bundled": true, + "requires": { + "cmd-shim": "^5.0.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0", + "read-cmd-shim": "^3.0.0", + "rimraf": "^3.0.0", + "write-file-atomic": "^4.0.0" + }, + "dependencies": { + "npm-normalize-package-bin": { + "version": "2.0.0", + "bundled": true + } + } + }, + "binary-extensions": { + "version": "2.2.0", + "bundled": true + }, + "brace-expansion": { + "version": "2.0.1", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "builtins": { + "version": "5.0.1", + "bundled": true, + "requires": { + "semver": "^7.0.0" + } + }, + "cacache": { + "version": "16.1.3", + "bundled": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "bundled": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chownr": { + "version": "2.0.0", + "bundled": true + }, + "cidr-regex": { + "version": "3.1.1", + "bundled": true, + "requires": { + "ip-regex": "^4.1.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "bundled": true + }, + "cli-columns": { + "version": "4.0.0", + "bundled": true, + "requires": { + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "cli-table3": { + "version": "0.6.2", + "bundled": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "5.0.0", + "bundled": true, + "requires": { + "mkdirp-infer-owner": "^2.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "bundled": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "bundled": true + }, + "color-support": { + "version": "1.1.3", + "bundled": true + }, + "columnify": { + "version": "1.6.0", + "bundled": true, + "requires": { + "strip-ansi": "^6.0.1", + "wcwidth": "^1.0.0" + } + }, + "common-ancestor-path": { + "version": "1.0.1", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "cssesc": { + "version": "3.0.0", + "bundled": true + }, + "debug": { + "version": "4.3.4", + "bundled": true, + "requires": { + "ms": "2.1.2" + }, + "dependencies": { + "ms": { + "version": "2.1.2", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "^1.0.2" + } + }, + "delegates": { + "version": "1.0.0", + "bundled": true + }, + "depd": { + "version": "1.1.2", + "bundled": true + }, + "dezalgo": { + "version": "1.0.4", + "bundled": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "diff": { + "version": "5.1.0", + "bundled": true + }, + "emoji-regex": { + "version": "8.0.0", + "bundled": true + }, + "encoding": { + "version": "0.1.13", + "bundled": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + } + }, + "env-paths": { + "version": "2.2.1", + "bundled": true + }, + "err-code": { + "version": "2.0.3", + "bundled": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "bundled": true + }, + "fs-minipass": { + "version": "2.1.0", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true + }, + "gauge": { + "version": "4.0.4", + "bundled": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "glob": { + "version": "8.0.3", + "bundled": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "bundled": true + }, + "has": { + "version": "1.0.3", + "bundled": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "5.2.1", + "bundled": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "bundled": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "bundled": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.6.3", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ignore-walk": { + "version": "5.0.1", + "bundled": true, + "requires": { + "minimatch": "^5.0.1" + } + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "indent-string": { + "version": "4.0.0", + "bundled": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true + }, + "ini": { + "version": "3.0.1", + "bundled": true + }, + "init-package-json": { + "version": "3.0.2", + "bundled": true, + "requires": { + "npm-package-arg": "^9.0.1", + "promzard": "^0.3.0", + "read": "^1.0.7", + "read-package-json": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "^4.0.0" + } + }, + "ip": { + "version": "2.0.0", + "bundled": true + }, + "ip-regex": { + "version": "4.3.0", + "bundled": true + }, + "is-cidr": { + "version": "4.0.2", + "bundled": true, + "requires": { + "cidr-regex": "^3.1.1" + } + }, + "is-core-module": { + "version": "2.10.0", + "bundled": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "bundled": true + }, + "is-lambda": { + "version": "1.0.1", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "bundled": true + }, + "json-stringify-nice": { + "version": "1.1.4", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "just-diff": { + "version": "5.1.1", + "bundled": true + }, + "just-diff-apply": { + "version": "5.4.1", + "bundled": true + }, + "libnpmaccess": { + "version": "6.0.4", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "minipass": "^3.1.1", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0" + } + }, + "libnpmdiff": { + "version": "4.0.5", + "bundled": true, + "requires": { + "@npmcli/disparity-colors": "^2.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "binary-extensions": "^2.2.0", + "diff": "^5.1.0", + "minimatch": "^5.0.1", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1", + "tar": "^6.1.0" + } + }, + "libnpmexec": { + "version": "4.0.14", + "bundled": true, + "requires": { + "@npmcli/arborist": "^5.6.3", + "@npmcli/ci-detect": "^2.0.0", + "@npmcli/fs": "^2.1.1", + "@npmcli/run-script": "^4.2.0", + "chalk": "^4.1.0", + "mkdirp-infer-owner": "^2.0.0", + "npm-package-arg": "^9.0.1", + "npmlog": "^6.0.2", + "pacote": "^13.6.1", + "proc-log": "^2.0.0", + "read": "^1.0.7", + "read-package-json-fast": "^2.0.2", + "semver": "^7.3.7", + "walk-up-path": "^1.0.0" + } + }, + "libnpmfund": { + "version": "3.0.5", + "bundled": true, + "requires": { + "@npmcli/arborist": "^5.6.3" + } + }, + "libnpmhook": { + "version": "8.0.4", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + } + }, + "libnpmorg": { + "version": "4.0.4", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + } + }, + "libnpmpack": { + "version": "4.1.3", + "bundled": true, + "requires": { + "@npmcli/run-script": "^4.1.3", + "npm-package-arg": "^9.0.1", + "pacote": "^13.6.1" + } + }, + "libnpmpublish": { + "version": "6.0.5", + "bundled": true, + "requires": { + "normalize-package-data": "^4.0.0", + "npm-package-arg": "^9.0.1", + "npm-registry-fetch": "^13.0.0", + "semver": "^7.3.7", + "ssri": "^9.0.0" + } + }, + "libnpmsearch": { + "version": "5.0.4", + "bundled": true, + "requires": { + "npm-registry-fetch": "^13.0.0" + } + }, + "libnpmteam": { + "version": "4.0.4", + "bundled": true, + "requires": { + "aproba": "^2.0.0", + "npm-registry-fetch": "^13.0.0" + } + }, + "libnpmversion": { + "version": "3.0.7", + "bundled": true, + "requires": { + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^4.1.3", + "json-parse-even-better-errors": "^2.3.1", + "proc-log": "^2.0.0", + "semver": "^7.3.7" + } + }, + "lru-cache": { + "version": "7.13.2", + "bundled": true + }, + "make-fetch-happen": { + "version": "10.2.1", + "bundled": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + } + }, + "minimatch": { + "version": "5.1.0", + "bundled": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "3.3.4", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.1", + "bundled": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "minipass-flush": { + "version": "1.0.5", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "bundled": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "bundled": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "bundled": true + }, + "mkdirp-infer-owner": { + "version": "2.0.0", + "bundled": true, + "requires": { + "chownr": "^2.0.0", + "infer-owner": "^1.0.4", + "mkdirp": "^1.0.3" + } + }, + "ms": { + "version": "2.1.3", + "bundled": true + }, + "mute-stream": { + "version": "0.0.8", + "bundled": true + }, + "negotiator": { + "version": "0.6.3", + "bundled": true + }, + "node-gyp": { + "version": "9.1.0", + "bundled": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "bundled": 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" + } + }, + "minimatch": { + "version": "3.1.2", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "nopt": { + "version": "5.0.0", + "bundled": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "nopt": { + "version": "6.0.0", + "bundled": true, + "requires": { + "abbrev": "^1.0.0" + } + }, + "normalize-package-data": { + "version": "4.0.1", + "bundled": true, + "requires": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "npm-audit-report": { + "version": "3.0.0", + "bundled": true, + "requires": { + "chalk": "^4.0.0" + } + }, + "npm-bundled": { + "version": "2.0.1", + "bundled": true, + "requires": { + "npm-normalize-package-bin": "^2.0.0" + }, + "dependencies": { + "npm-normalize-package-bin": { + "version": "2.0.0", + "bundled": true + } + } + }, + "npm-install-checks": { + "version": "5.0.0", + "bundled": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true + }, + "npm-package-arg": { + "version": "9.1.0", + "bundled": true, + "requires": { + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + } + }, + "npm-packlist": { + "version": "5.1.3", + "bundled": true, + "requires": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^2.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "dependencies": { + "npm-normalize-package-bin": { + "version": "2.0.0", + "bundled": true + } + } + }, + "npm-pick-manifest": { + "version": "7.0.2", + "bundled": true, + "requires": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^2.0.0", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "npm-normalize-package-bin": { + "version": "2.0.0", + "bundled": true + } + } + }, + "npm-profile": { + "version": "6.2.1", + "bundled": true, + "requires": { + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0" + } + }, + "npm-registry-fetch": { + "version": "13.3.1", + "bundled": true, + "requires": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.1", + "bundled": true + }, + "npmlog": { + "version": "6.0.2", + "bundled": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.2", + "bundled": true + }, + "p-map": { + "version": "4.0.0", + "bundled": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "pacote": { + "version": "13.6.2", + "bundled": true, + "requires": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + } + }, + "parse-conflict-json": { + "version": "2.0.2", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.1", + "just-diff": "^5.0.1", + "just-diff-apply": "^5.2.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "postcss-selector-parser": { + "version": "6.0.10", + "bundled": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "proc-log": { + "version": "2.0.1", + "bundled": true + }, + "promise-all-reject-late": { + "version": "1.0.1", + "bundled": true + }, + "promise-call-limit": { + "version": "1.0.1", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "promise-retry": { + "version": "2.0.1", + "bundled": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1" + } + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "3.0.0", + "bundled": true + }, + "read-package-json": { + "version": "5.0.2", + "bundled": true, + "requires": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^2.0.0" + }, + "dependencies": { + "npm-normalize-package-bin": { + "version": "2.0.0", + "bundled": true + } + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "bundled": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "3.0.2", + "bundled": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "bundled": 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" + } + }, + "minimatch": { + "version": "3.1.2", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "semver": { + "version": "7.3.7", + "bundled": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "bundled": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.7", + "bundled": true + }, + "smart-buffer": { + "version": "4.2.0", + "bundled": true + }, + "socks": { + "version": "2.7.0", + "bundled": true, + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "bundled": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "spdx-correct": { + "version": "3.1.1", + "bundled": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "bundled": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "bundled": true + }, + "ssri": { + "version": "9.0.1", + "bundled": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-width": { + "version": "4.2.3", + "bundled": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "bundled": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tar": { + "version": "6.1.11", + "bundled": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "treeverse": { + "version": "2.0.0", + "bundled": true + }, + "unique-filename": { + "version": "2.0.1", + "bundled": true, + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "4.0.0", + "bundled": true, + "requires": { + "builtins": "^5.0.0" + } + }, + "walk-up-path": { + "version": "1.0.0", + "bundled": true + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "2.0.2", + "bundled": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "bundled": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "4.0.2", + "bundled": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yallist": { + "version": "4.0.0", + "bundled": 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==", + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.13", + "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" + }, + "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==" + }, + "object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==" + }, + "object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==" + }, + "object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" + } + }, + "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.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "requires": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmmirror.com/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmmirror.com/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "requires": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" + } + }, + "object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + } + }, + "object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "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==", + "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==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmmirror.com/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + } + } + }, + "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==" + }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==", + "requires": { + "callsites": "^3.0.0" + } + }, + "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==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "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==" + }, + "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==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, + "path-to-regexp": { + "version": "0.1.10", + "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "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.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==" + }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, + "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==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.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==", + "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==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.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==", + "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==" + } + } + }, + "polished": { + "version": "4.3.1", + "resolved": "https://registry.npmmirror.com/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "requires": { + "@babel/runtime": "^7.17.8" + } + }, + "possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==" + }, + "postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==" + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmmirror.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmmirror.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==" + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==" + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==" + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmmirror.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==" + }, + "postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "requires": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "dependencies": { + "lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==" + }, + "yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==" + } + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==" + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==" + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==" + }, + "postcss-modules-local-by-default": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.1.0.tgz", + "integrity": "sha512-rm0bdSv4jC3BDma3s9H19ZddW0aHX6EoqwDYU2IfZhRN+53QrufTRo2IdkAbRqLx4R2IYbZnbjKKxg4VN5oU9Q==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } + } + }, + "postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "requires": { + "postcss-selector-parser": "^7.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + } + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "requires": { + "postcss-selector-parser": "^6.1.1" + } + }, + "postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "requires": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==" + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==" + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmmirror.com/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmmirror.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "requires": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmmirror.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==" + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "probe.gl": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/probe.gl/-/probe.gl-3.6.0.tgz", + "integrity": "sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g==", + "requires": { + "@babel/runtime": "^7.0.0", + "@probe.gl/env": "3.6.0", + "@probe.gl/log": "3.6.0", + "@probe.gl/stats": "3.6.0" + } + }, + "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==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmmirror.com/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "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==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "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==" + } + } + }, + "psl": { + "version": "1.13.0", + "resolved": "https://registry.npmmirror.com/psl/-/psl-1.13.0.tgz", + "integrity": "sha512-BFwmFXiJoFqlUpZ5Qssolv15DMyc84gTBds1BjsV1BfXEo1UyyD7GsmN67n7J77uRhoSNW1AXtXKPLcBFQn9Aw==", + "requires": { + "punycode": "^2.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + }, + "pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.13.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "requires": { + "side-channel": "^1.0.6" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "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==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "rc-align": { + "version": "4.0.15", + "resolved": "https://registry.npmmirror.com/rc-align/-/rc-align-4.0.15.tgz", + "integrity": "sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "rc-util": "^5.26.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-cascader": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/rc-cascader/-/rc-cascader-3.7.3.tgz", + "integrity": "sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA==", + "requires": { + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.6.1" + } + }, + "rc-checkbox": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz", + "integrity": "sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.25.2" + } + }, + "rc-collapse": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/rc-collapse/-/rc-collapse-3.4.2.tgz", + "integrity": "sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.2.1", + "shallowequal": "^1.1.0" + } + }, + "rc-dialog": { + "version": "9.0.4", + "resolved": "https://registry.npmmirror.com/rc-dialog/-/rc-dialog-9.0.4.tgz", + "integrity": "sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" + } + }, + "rc-drawer": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/rc-drawer/-/rc-drawer-6.3.0.tgz", + "integrity": "sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig==", + "requires": { + "@babel/runtime": "^7.10.1", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.21.2" + } + }, + "rc-dropdown": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-3.6.2.tgz", + "integrity": "sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-trigger": "^5.0.4", + "rc-util": "^5.17.0" + } + }, + "rc-field-form": { + "version": "1.38.2", + "resolved": "https://registry.npmmirror.com/rc-field-form/-/rc-field-form-1.38.2.tgz", + "integrity": "sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA==", + "requires": { + "@babel/runtime": "^7.18.0", + "async-validator": "^4.1.0", + "rc-util": "^5.32.2" + } + }, + "rc-image": { + "version": "5.13.0", + "resolved": "https://registry.npmmirror.com/rc-image/-/rc-image-5.13.0.tgz", + "integrity": "sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==", + "requires": { + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.0.0", + "rc-motion": "^2.6.2", + "rc-util": "^5.0.6" + } + }, + "rc-input": { + "version": "0.1.4", + "resolved": "https://registry.npmmirror.com/rc-input/-/rc-input-0.1.4.tgz", + "integrity": "sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.18.1" + } + }, + "rc-input-number": { + "version": "7.3.11", + "resolved": "https://registry.npmmirror.com/rc-input-number/-/rc-input-number-7.3.11.tgz", + "integrity": "sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.23.0" + } + }, + "rc-mentions": { + "version": "1.13.1", + "resolved": "https://registry.npmmirror.com/rc-mentions/-/rc-mentions-1.13.1.tgz", + "integrity": "sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-menu": "~9.8.0", + "rc-textarea": "^0.4.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.22.5" + } + }, + "rc-menu": { + "version": "9.8.4", + "resolved": "https://registry.npmmirror.com/rc-menu/-/rc-menu-9.8.4.tgz", + "integrity": "sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.2.8", + "rc-trigger": "^5.1.2", + "rc-util": "^5.27.0" + } + }, + "rc-motion": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/rc-motion/-/rc-motion-2.9.3.tgz", + "integrity": "sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" + } + }, + "rc-notification": { + "version": "4.6.1", + "resolved": "https://registry.npmmirror.com/rc-notification/-/rc-notification-4.6.1.tgz", + "integrity": "sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.2.0", + "rc-util": "^5.20.1" + } + }, + "rc-overflow": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/rc-overflow/-/rc-overflow-1.3.2.tgz", + "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" + } + }, + "rc-pagination": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/rc-pagination/-/rc-pagination-3.2.0.tgz", + "integrity": "sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1" + } + }, + "rc-picker": { + "version": "2.7.6", + "resolved": "https://registry.npmmirror.com/rc-picker/-/rc-picker-2.7.6.tgz", + "integrity": "sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "date-fns": "2.x", + "dayjs": "1.x", + "moment": "^2.24.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.37.0", + "shallowequal": "^1.1.0" + } + }, + "rc-progress": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/rc-progress/-/rc-progress-3.4.2.tgz", + "integrity": "sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-util": "^5.16.1" + } + }, + "rc-rate": { + "version": "2.9.3", + "resolved": "https://registry.npmmirror.com/rc-rate/-/rc-rate-2.9.3.tgz", + "integrity": "sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" + } + }, + "rc-resize-observer": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", + "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "requires": { + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" + } + }, + "rc-segmented": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + } + }, + "rc-select": { + "version": "14.1.18", + "resolved": "https://registry.npmmirror.com/rc-select/-/rc-select-14.1.18.tgz", + "integrity": "sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.0.0", + "rc-trigger": "^5.0.4", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.2.0" + } + }, + "rc-slider": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/rc-slider/-/rc-slider-10.0.1.tgz", + "integrity": "sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.18.1", + "shallowequal": "^1.1.0" + } + }, + "rc-steps": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/rc-steps/-/rc-steps-5.0.0.tgz", + "integrity": "sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==", + "requires": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + } + }, + "rc-switch": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/rc-switch/-/rc-switch-3.2.2.tgz", + "integrity": "sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-util": "^5.0.1" + } + }, + "rc-table": { + "version": "7.26.0", + "resolved": "https://registry.npmmirror.com/rc-table/-/rc-table-7.26.0.tgz", + "integrity": "sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.22.5", + "shallowequal": "^1.1.0" + } + }, + "rc-tabs": { + "version": "12.5.10", + "resolved": "https://registry.npmmirror.com/rc-tabs/-/rc-tabs-12.5.10.tgz", + "integrity": "sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.0.0", + "rc-menu": "~9.8.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.16.0" + }, + "dependencies": { + "rc-dropdown": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz", + "integrity": "sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-trigger": "^5.3.1", + "rc-util": "^5.17.0" + } + } + } + }, + "rc-textarea": { + "version": "0.4.7", + "resolved": "https://registry.npmmirror.com/rc-textarea/-/rc-textarea-0.4.7.tgz", + "integrity": "sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.24.4", + "shallowequal": "^1.1.0" + } + }, + "rc-tooltip": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz", + "integrity": "sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==", + "requires": { + "@babel/runtime": "^7.11.2", + "classnames": "^2.3.1", + "rc-trigger": "^5.0.0" + } + }, + "rc-tree": { + "version": "5.7.12", + "resolved": "https://registry.npmmirror.com/rc-tree/-/rc-tree-5.7.12.tgz", + "integrity": "sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" + } + }, + "rc-tree-select": { + "version": "5.5.5", + "resolved": "https://registry.npmmirror.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz", + "integrity": "sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.1.0", + "rc-tree": "~5.7.0", + "rc-util": "^5.16.1" + } + }, + "rc-trigger": { + "version": "5.3.4", + "resolved": "https://registry.npmmirror.com/rc-trigger/-/rc-trigger-5.3.4.tgz", + "integrity": "sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + } + }, + "rc-upload": { + "version": "4.3.6", + "resolved": "https://registry.npmmirror.com/rc-upload/-/rc-upload-4.3.6.tgz", + "integrity": "sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + } + }, + "rc-util": { + "version": "5.43.0", + "resolved": "https://registry.npmmirror.com/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + } + } + }, + "rc-virtual-list": { + "version": "3.15.0", + "resolved": "https://registry.npmmirror.com/rc-virtual-list/-/rc-virtual-list-3.15.0.tgz", + "integrity": "sha512-dF2YQztqrU3ijAeWOqscTshCEr7vpimzSqAVjO1AyAmaqcHulaXpnGR0ptK5PXfxTUy48VkJOiglMIxlkYGs0w==", + "requires": { + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + } + }, + "react": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "requires": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "dependencies": { + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "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==" + } + } + }, + "react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "requires": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "react-color": { + "version": "2.19.3", + "resolved": "https://registry.npmmirror.com/react-color/-/react-color-2.19.3.tgz", + "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.15", + "lodash-es": "^4.17.15", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmmirror.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==" + } + } + }, + "react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmmirror.com/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmmirror.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-highlight-words": { + "version": "0.18.0", + "resolved": "https://registry.npmmirror.com/react-highlight-words/-/react-highlight-words-0.18.0.tgz", + "integrity": "sha512-5z+46eLPjB4JWgOhuQ0E+6iUPTD1U3amiy5KKjzZmeJ5zyvHr91hnzBT3UHya/KlySm5KRTKpYpba9vs67oO2A==", + "requires": { + "highlight-words-core": "^1.2.0", + "memoize-one": "^4.0.0", + "prop-types": "^15.5.8" + } + }, + "react-i18next": { + "version": "11.18.6", + "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-11.18.6.tgz", + "integrity": "sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA==", + "requires": { + "@babel/runtime": "^7.14.5", + "html-parse-stringify": "^3.0.1" + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmmirror.com/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "requires": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + } + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmmirror.com/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" + }, + "react-resize-detector": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/react-resize-detector/-/react-resize-detector-7.1.2.tgz", + "integrity": "sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==", + "requires": { + "lodash": "^4.17.21" + } + }, + "react-router": { + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router/-/react-router-6.28.0.tgz", + "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", + "requires": { + "@remix-run/router": "1.21.0" + } + }, + "react-router-dom": { + "version": "6.28.0", + "resolved": "https://registry.npmmirror.com/react-router-dom/-/react-router-dom-6.28.0.tgz", + "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", + "requires": { + "@remix-run/router": "1.21.0", + "react-router": "6.28.0" + } + }, + "react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "requires": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "fsevents": "^2.3.2", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "react-textarea-autosize": { + "version": "8.5.5", + "resolved": "https://registry.npmmirror.com/react-textarea-autosize/-/react-textarea-autosize-8.5.5.tgz", + "integrity": "sha512-CVA94zmfp8m4bSHtWwmANaBR8EPsKy2aZ7KwqhoS4Ftib87F9Kvi7XQhOixypPLMc6kVYgOXvKFuuzZDpHGRPg==", + "requires": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "requires": { + "pify": "^2.3.0" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "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==" + }, + "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==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "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==" + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "requires": { + "p-limit": "^2.2.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==" + } + } + }, + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "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" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "reflect.getprototypeof": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", + "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "which-builtin-type": "^1.1.4" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/regex-parser/-/regex-parser-2.3.0.tgz", + "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" + }, + "regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + } + }, + "regexpu-core": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz", + "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.12.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, + "regjsparser": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz", + "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", + "requires": { + "jsesc": "~3.0.2" + } + }, + "regl": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/regl/-/regl-1.7.0.tgz", + "integrity": "sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==" + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "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": "2.0.0-next.5", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "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==" + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "requires": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "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==" + }, + "safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "requires": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "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==" + }, + "sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmmirror.com/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "sass-graph": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/sass-graph/-/sass-graph-4.0.1.tgz", + "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.17.11", + "scss-tokenizer": "^0.4.3", + "yargs": "^17.2.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "screenfull": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/screenfull/-/screenfull-6.0.2.tgz", + "integrity": "sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw==" + }, + "scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "requires": { + "compute-scroll-into-view": "^1.0.20" + } + }, + "scss-tokenizer": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", + "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", + "requires": { + "js-base64": "^2.4.9", + "source-map": "^0.7.3" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" + }, + "send": { + "version": "0.19.0", + "resolved": "https://registry.npmmirror.com/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "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==", + "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==" + } + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + } + } + }, + "serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "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==", + "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==", + "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==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "requires": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.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==" + }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, + "set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + } + }, + "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==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "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==", + "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==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "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==", + "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==" + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.8.3", + "resolved": "https://registry.npmmirror.com/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "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==" + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + }, + "source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + }, + "source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + } + }, + "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==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/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==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "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==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "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==", + "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" + } + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + } + } + }, + "stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "requires": { + "escodegen": "^1.8.1" + }, + "dependencies": { + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": 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==", + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "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" + } + }, + "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==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "requires": { + "internal-slot": "^1.0.4" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==" + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "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==" + } + } + }, + "string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + } + }, + "string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + } + }, + "string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" + }, + "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==" + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "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==" + }, + "style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmmirror.com/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==" + }, + "style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmmirror.com/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "glob": { + "version": "10.4.5", + "resolved": "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + } + } + }, + "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==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "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" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "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==" + }, + "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==" + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "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==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "tailwindcss": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.4.15.tgz", + "integrity": "sha512-r4MeXnfBmSOuKUWmXe6h2CcyfzJCEk4F0pptO5jlnYSIViUkVmsawj80N5h2lO3gwcmSb4n3PuN+e+GC1Guylw==", + "requires": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.6", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "dependencies": { + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + } + } + }, + "temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==" + }, + "tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "requires": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "dependencies": { + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==" + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "5.36.0", + "resolved": "https://registry.npmmirror.com/terser/-/terser-5.36.0.tgz", + "integrity": "sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "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==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "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==" + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "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==", + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "three": { + "version": "0.170.0", + "resolved": "https://registry.npmmirror.com/three/-/three-0.170.0.tgz", + "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==" + }, + "three-forcegraph": { + "version": "1.42.3", + "resolved": "https://registry.npmmirror.com/three-forcegraph/-/three-forcegraph-1.42.3.tgz", + "integrity": "sha512-65aDCP6qFY41OEX+ZxSfaCfXDgHsjEixNk+hiSnpvdnTGzovx1OJhDetmCw2sh5JJMDAbOkMnhdbZuiJiuRDFA==", + "requires": { + "accessor-fn": "1", + "d3-array": "1 - 3", + "d3-force-3d": "2 - 3", + "d3-scale": "1 - 4", + "d3-scale-chromatic": "1 - 3", + "data-joint": "1", + "kapsule": "1", + "ngraph.forcelayout": "3", + "ngraph.graph": "20", + "tinycolor2": "1" + } + }, + "three-render-objects": { + "version": "1.31.0", + "resolved": "https://registry.npmmirror.com/three-render-objects/-/three-render-objects-1.31.0.tgz", + "integrity": "sha512-of54HTCHatV9OwhrBAKF6A2xtWxBQ47+u5WITTaTbGW6Px9mqLxw7L61dYDHqeQVuvlWMG8VQwyXmkeVsWx4Wg==", + "requires": { + "@tweenjs/tween.js": "18 - 25", + "accessor-fn": "1", + "kapsule": "1", + "polished": "4" + } + }, + "throat": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "throttle-debounce": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tinycolor2": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz", + "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==" + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmmirror.com/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==" + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.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==", + "requires": { + "minimist": "^1.2.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + } + }, + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "requires": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + } + }, + "typed-array-byte-offset": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", + "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "reflect.getprototypeof": "^1.0.6" + } + }, + "typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "requires": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" + }, + "ua-parser-js": { + "version": "0.7.39", + "resolved": "https://registry.npmmirror.com/ua-parser-js/-/ua-parser-js-0.7.39.tgz", + "integrity": "sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmmirror.com/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==" + }, + "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==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==" + }, + "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==" + }, + "unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", + "requires": { + "unique-slug": "^3.0.0" + } + }, + "unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "requires": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==" + }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==" + }, + "use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "requires": { + "use-isomorphic-layout-effect": "^1.1.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "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==" + }, + "utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmmirror.com/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==" + }, + "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==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + } + } + }, + "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==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validator": { + "version": "13.12.0", + "resolved": "https://registry.npmmirror.com/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vis-network": { + "version": "9.1.9", + "resolved": "https://registry.npmmirror.com/vis-network/-/vis-network-9.1.9.tgz", + "integrity": "sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA==" + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmmirror.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmmirror.com/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "webpack": { + "version": "5.96.1", + "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "requires": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "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==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "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==" + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } + }, + "webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "dependencies": { + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmmirror.com/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==" + } + } + }, + "webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "requires": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "requires": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + } + } + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "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==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } + } + }, + "whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==" + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + } + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "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==", + "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-builtin-type": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.0.tgz", + "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "requires": { + "call-bind": "^1.0.7", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + } + }, + "which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "requires": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + } + }, + "which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + } + }, + "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==", + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" + }, + "workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "requires": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "requires": { + "whatwg-url": "^7.0.0" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } + }, + "workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "requires": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "requires": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "requires": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "requires": { + "workbox-core": "6.6.0" + } + }, + "workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "requires": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "requires": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + } + } + }, + "workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "requires": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.5.10", + "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==" + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zrender": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz", + "integrity": "sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + } + } + } } } diff --git a/hugegraph-hubble/hubble-fe/yarn.lock b/hugegraph-hubble/hubble-fe/yarn.lock deleted file mode 100644 index 8dfbebf5f..000000000 --- a/hugegraph-hubble/hubble-fe/yarn.lock +++ /dev/null @@ -1,13377 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"3d-force-graph@^1.71.2": - version "1.73.4" - resolved "https://registry.yarnpkg.com/3d-force-graph/-/3d-force-graph-1.73.4.tgz#7dfa2cd1419a1d6511a39ea4f0abc2be9b472961" - integrity sha512-eMHZ1LVzh9APLv+An0AXz2dVPwasJlqAnJ61ABlb1qaO6DYuqIUTTErh0DN/24nIWJu1jCim2WiVujzz7slnWQ== - dependencies: - accessor-fn "1" - kapsule "1" - three ">=0.118 <1" - three-forcegraph "1" - three-render-objects "^1.29" - -"@adobe/css-tools@^4.0.1": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" - integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@ant-design/colors@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-4.0.5.tgz#d7d100d7545cca8f624954604a6892fc48ba5aae" - integrity sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q== - dependencies: - tinycolor2 "^1.4.1" - -"@ant-design/colors@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" - integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== - dependencies: - "@ctrl/tinycolor" "^3.4.0" - -"@ant-design/icons-svg@^4.3.0": - version "4.4.2" - resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" - integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== - -"@ant-design/icons@^4.7.0", "@ant-design/icons@^4.8.2": - version "4.8.3" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.8.3.tgz#41555408ed5e9b0c3d53f3f24fe6a73abfcf4000" - integrity sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw== - dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons-svg" "^4.3.0" - "@babel/runtime" "^7.11.2" - classnames "^2.2.6" - lodash "^4.17.15" - rc-util "^5.9.4" - -"@ant-design/react-slick@~1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ant-design/react-slick/-/react-slick-1.0.2.tgz#241bb412aeacf7ff5d50c61fa5db66773fde6b56" - integrity sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ== - dependencies: - "@babel/runtime" "^7.10.4" - classnames "^2.2.5" - json2mq "^0.2.0" - resize-observer-polyfill "^1.5.1" - throttle-debounce "^5.0.0" - -"@antv/algorithm@^0.1.26": - version "0.1.26" - resolved "https://registry.yarnpkg.com/@antv/algorithm/-/algorithm-0.1.26.tgz#e3f5e7f1d8db5b415c3f31e32b119cbcafc8f5de" - integrity sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg== - dependencies: - "@antv/util" "^2.0.13" - tslib "^2.0.0" - -"@antv/dom-util@^2.0.1", "@antv/dom-util@^2.0.2": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@antv/dom-util/-/dom-util-2.0.4.tgz#b09b56c56fec42896fc856edad56b595b47ab514" - integrity sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ== - dependencies: - tslib "^2.0.3" - -"@antv/event-emitter@^0.1.1", "@antv/event-emitter@~0.1.0": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@antv/event-emitter/-/event-emitter-0.1.3.tgz#3e06323b9dcd55a3241ddc7c5458cfabd2095164" - integrity sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg== - -"@antv/g-base@^0.5.1", "@antv/g-base@^0.5.12": - version "0.5.16" - resolved "https://registry.yarnpkg.com/@antv/g-base/-/g-base-0.5.16.tgz#22a0cbbfc810e6292e4d25e5708d0abe165912bf" - integrity sha512-jP06wggTubDPHXoKwFg3/f1lyxBX9ywwN3E/HG74Nd7DXqOXQis8tsIWW+O6dS/h9vyuXLd1/wDWkMMm3ZzXdg== - dependencies: - "@antv/event-emitter" "^0.1.1" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.13" - "@types/d3-timer" "^2.0.0" - d3-ease "^1.0.5" - d3-interpolate "^3.0.1" - d3-timer "^1.0.9" - detect-browser "^5.1.0" - tslib "^2.0.3" - -"@antv/g-canvas@^0.5.2": - version "0.5.17" - resolved "https://registry.yarnpkg.com/@antv/g-canvas/-/g-canvas-0.5.17.tgz#2e0d263a355e167b9da5e606fbd1ad1500474fcf" - integrity sha512-sXYJMWTOlb/Ycb6sTKu00LcJqInXJY4t99+kSM40u2OfqrXYmaXDjHR7D2V0roMkbK/QWiWS9UnEidCR1VtMOA== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/matrix-util" "^3.1.0-beta.1" - "@antv/path-util" "~2.0.5" - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - tslib "^2.0.3" - -"@antv/g-math@^0.1.1", "@antv/g-math@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@antv/g-math/-/g-math-0.1.9.tgz#1f981b9aebf5c024f284389aa3e5cba8cefa1f28" - integrity sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ== - dependencies: - "@antv/util" "~2.0.0" - gl-matrix "^3.0.0" - -"@antv/g-svg@^0.5.1", "@antv/g-svg@^0.5.2": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@antv/g-svg/-/g-svg-0.5.7.tgz#d63db5f8590a5f3ceab097c183ec80ed143f0a50" - integrity sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw== - dependencies: - "@antv/g-base" "^0.5.12" - "@antv/g-math" "^0.1.9" - "@antv/util" "~2.0.0" - detect-browser "^5.0.0" - tslib "^2.0.3" - -"@antv/g-webgpu-core@^0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@antv/g-webgpu-core/-/g-webgpu-core-0.7.2.tgz#65ef2a1253e319ffb2ed568d222b8313635d6677" - integrity sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w== - dependencies: - eventemitter3 "^4.0.0" - gl-matrix "^3.1.0" - lodash "^4.17.15" - probe.gl "^3.1.1" - -"@antv/g-webgpu-engine@^0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@antv/g-webgpu-engine/-/g-webgpu-engine-0.7.2.tgz#64631f24930f449ef41ffff6429d4fb9519eca23" - integrity sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg== - dependencies: - "@antv/g-webgpu-core" "^0.7.2" - gl-matrix "^3.1.0" - lodash "^4.17.15" - regl "^1.3.11" - -"@antv/g-webgpu@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@antv/g-webgpu/-/g-webgpu-0.7.2.tgz#39ba2123816322fec9563236211ad8ab1e40924d" - integrity sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ== - dependencies: - "@antv/g-webgpu-core" "^0.7.2" - "@antv/g-webgpu-engine" "^0.7.2" - gl-matrix "^3.1.0" - gl-vec2 "^1.3.0" - lodash "^4.17.15" - -"@antv/g6-core@0.8.24": - version "0.8.24" - resolved "https://registry.yarnpkg.com/@antv/g6-core/-/g6-core-0.8.24.tgz#a5291d53b8e33f6c895a2ed8553dd283a9788c73" - integrity sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A== - dependencies: - "@antv/algorithm" "^0.1.26" - "@antv/dom-util" "^2.0.1" - "@antv/event-emitter" "~0.1.0" - "@antv/g-base" "^0.5.1" - "@antv/g-math" "^0.1.1" - "@antv/matrix-util" "^3.1.0-beta.3" - "@antv/path-util" "^2.0.3" - "@antv/util" "~2.0.5" - ml-matrix "^6.5.0" - tslib "^2.6.2" - -"@antv/g6-element@0.8.24": - version "0.8.24" - resolved "https://registry.yarnpkg.com/@antv/g6-element/-/g6-element-0.8.24.tgz#5cb6eca25a48ed68b4376030c945b45a03730916" - integrity sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw== - dependencies: - "@antv/g-base" "^0.5.1" - "@antv/g6-core" "0.8.24" - "@antv/util" "~2.0.5" - tslib "^2.6.2" - -"@antv/g6-pc@0.8.24": - version "0.8.24" - resolved "https://registry.yarnpkg.com/@antv/g6-pc/-/g6-pc-0.8.24.tgz#bc1ad15c7ad691b71d18f00768fdbe7e2bd869c6" - integrity sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ== - dependencies: - "@ant-design/colors" "^4.0.5" - "@antv/algorithm" "^0.1.26" - "@antv/dom-util" "^2.0.1" - "@antv/event-emitter" "~0.1.0" - "@antv/g-base" "^0.5.1" - "@antv/g-canvas" "^0.5.2" - "@antv/g-math" "^0.1.1" - "@antv/g-svg" "^0.5.1" - "@antv/g6-core" "0.8.24" - "@antv/g6-element" "0.8.24" - "@antv/g6-plugin" "0.8.24" - "@antv/hierarchy" "^0.6.10" - "@antv/layout" "^0.3.0" - "@antv/matrix-util" "^3.1.0-beta.3" - "@antv/path-util" "^2.0.3" - "@antv/util" "~2.0.5" - color "^3.1.3" - d3-force "^2.0.1" - dagre "^0.8.5" - insert-css "^2.0.0" - ml-matrix "^6.5.0" - tslib "^2.6.2" - -"@antv/g6-plugin@0.8.24": - version "0.8.24" - resolved "https://registry.yarnpkg.com/@antv/g6-plugin/-/g6-plugin-0.8.24.tgz#f59a7eb6820ae6fb8767b4a8da12bcbd3a43bc44" - integrity sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g== - dependencies: - "@antv/dom-util" "^2.0.2" - "@antv/g-base" "^0.5.1" - "@antv/g-canvas" "^0.5.2" - "@antv/g-svg" "^0.5.2" - "@antv/g6-core" "0.8.24" - "@antv/g6-element" "0.8.24" - "@antv/matrix-util" "^3.1.0-beta.3" - "@antv/path-util" "^2.0.3" - "@antv/scale" "^0.3.4" - "@antv/util" "^2.0.9" - insert-css "^2.0.0" - -"@antv/g6@^4.6.15", "@antv/g6@^4.8.19": - version "4.8.24" - resolved "https://registry.yarnpkg.com/@antv/g6/-/g6-4.8.24.tgz#803c7cbe3a345194d7fb0f8c68a5200d65f2c333" - integrity sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ== - dependencies: - "@antv/g6-pc" "0.8.24" - -"@antv/graphin-components@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@antv/graphin-components/-/graphin-components-2.4.1.tgz#ea9f02ddd8b5f9d2ac37c6dbaab3e949520afb54" - integrity sha512-Vaxhg1Jbv76j0SwrDLS5/VoHEx2mJW9CEbNdJ7HuWCaz24imvOymV4FpKSJND2PUq7BgIrzo48NaF3bpfiWZZA== - dependencies: - "@antv/graphin" "^2.7.18" - -"@antv/graphin-icons@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@antv/graphin-icons/-/graphin-icons-1.0.0.tgz#86ba9e9ab6565bfe2ea1096e8678e76c279053f1" - integrity sha512-2nogK6ZrDklnfIOJrqOAgD7iFLjfZIjLbA8pDUbeXN5c9b0Mu84oCfyqg8OmWwvi9Gt80eUzoplo73gKjZECJg== - -"@antv/graphin@^2.7.12", "@antv/graphin@^2.7.18": - version "2.7.27" - resolved "https://registry.yarnpkg.com/@antv/graphin/-/graphin-2.7.27.tgz#0a16a1ef8ae43c90f95c268e1e17d3fe68014e24" - integrity sha512-cqsLl3xpZ5mPgTq5UufcqJDlxzKZSLk9/JWXmoQYpvDC4cpzDjBZeVlaDfhT8iToB5aR15CEIu6j+XsQDMqUsA== - dependencies: - "@antv/g6" "^4.8.19" - d3-quadtree "^3.0.1" - lodash-es "^4.17.21" - -"@antv/graphlib@^1.0.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@antv/graphlib/-/graphlib-1.2.0.tgz#c88f97d4b3456d261480a1207ffc4fbc5d7dcf0d" - integrity sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ== - -"@antv/hierarchy@^0.6.10": - version "0.6.14" - resolved "https://registry.yarnpkg.com/@antv/hierarchy/-/hierarchy-0.6.14.tgz#4e8b4966c9c2a44aaa6f9da7008c4bd44d490385" - integrity sha512-V3uknf7bhynOqQDw2sg+9r9DwZ9pc6k/EcqyTFdfXB1+ydr7urisP0MipIuimucvQKN+Qkd+d6w601r1UIroqQ== - -"@antv/layout@^0.3.0": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@antv/layout/-/layout-0.3.25.tgz#0430050d1b36c21a6ab19474bd1000e114066dc7" - integrity sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g== - dependencies: - "@antv/g-webgpu" "0.7.2" - "@antv/graphlib" "^1.0.0" - "@antv/util" "^3.3.2" - d3-force "^2.1.1" - d3-quadtree "^2.0.0" - dagre-compound "^0.0.11" - ml-matrix "6.5.0" - -"@antv/matrix-util@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.0.4.tgz#ea13f158aa2fb4ba2fb8d6b6b561ec467ea3ac20" - integrity sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.3.0" - tslib "^2.0.3" - -"@antv/matrix-util@^3.1.0-beta.1", "@antv/matrix-util@^3.1.0-beta.3": - version "3.1.0-beta.3" - resolved "https://registry.yarnpkg.com/@antv/matrix-util/-/matrix-util-3.1.0-beta.3.tgz#e061de8fa7be04605a155c69cc5ce9082eedddee" - integrity sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A== - dependencies: - "@antv/util" "^2.0.9" - gl-matrix "^3.4.3" - tslib "^2.0.3" - -"@antv/path-util@^2.0.3", "@antv/path-util@~2.0.5": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@antv/path-util/-/path-util-2.0.15.tgz#a6f691dfc8b7bce5be7f0aabb5bd614964325631" - integrity sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw== - dependencies: - "@antv/matrix-util" "^3.0.4" - "@antv/util" "^2.0.9" - tslib "^2.0.3" - -"@antv/scale@^0.3.4": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@antv/scale/-/scale-0.3.18.tgz#b911f431b3e0b9547b6a65f66d0d3fa295b5ef32" - integrity sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w== - dependencies: - "@antv/util" "~2.0.3" - fecha "~4.2.0" - tslib "^2.0.0" - -"@antv/util@^2.0.13", "@antv/util@^2.0.9", "@antv/util@~2.0.0", "@antv/util@~2.0.13", "@antv/util@~2.0.3", "@antv/util@~2.0.5": - version "2.0.17" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.17.tgz#e8ef42aca7892815b229269f3dd10c6b3c7597a9" - integrity sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q== - dependencies: - csstype "^3.0.8" - tslib "^2.0.3" - -"@antv/util@^3.3.2": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@antv/util/-/util-3.3.10.tgz#6fb2560c0f42df61f824e1f995a1ed1bdb00eb9a" - integrity sha512-basGML3DFA3O87INnzvDStjzS+n0JLEhRnRsDzP9keiXz8gT1z/fTdmJAZFOzMMWxy+HKbi7NbSt0+8vz/OsBQ== - dependencies: - fast-deep-equal "^3.1.3" - gl-matrix "^3.3.0" - tslib "^2.3.1" - -"@antv/x6-react-components@^1.1.20": - version "1.1.20" - resolved "https://registry.yarnpkg.com/@antv/x6-react-components/-/x6-react-components-1.1.20.tgz#aa925d71646542355f92d78f99362e80717960d2" - integrity sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q== - dependencies: - clamp "^1.0.1" - classnames "^2.2.6" - rc-dropdown "^3.0.0-alpha.0" - rc-util "^4.15.7" - react-color "2.17.1" - react-resize-detector "^7.0.0" - ua-parser-js "^0.7.20" - -"@antv/x6-react-shape@^1.6.3": - version "1.6.6" - resolved "https://registry.yarnpkg.com/@antv/x6-react-shape/-/x6-react-shape-1.6.6.tgz#58500fb177497324c7171ba16a3d6aefcf3c7868" - integrity sha512-+SIvQWeGhfH9miKDQvJT497iVDs/CcMwcgbNKbPV6qTUaSUeXjz/bZy8knbQ5t9XtkVYeQXZP7swiKK2xMI0UQ== - -"@antv/x6@^1.34.6": - version "1.35.1" - resolved "https://registry.yarnpkg.com/@antv/x6/-/x6-1.35.1.tgz#8592f8142095df38bad354d4ec59028b4922a1f2" - integrity sha512-XLFSGbcT/MOI883YKql9J/CqHUCPZxgwfel+sNN1eQbHA+JXYsGt0t9+IJ1qieaYAlxjgio5up+S9I0n+8QL/A== - dependencies: - csstype "^3.0.3" - jquery "^3.5.1" - jquery-mousewheel "^3.1.13" - lodash-es "^4.17.15" - mousetrap "^1.6.5" - utility-types "^3.10.0" - -"@apideck/better-ajv-errors@^0.3.1": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" - integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== - dependencies: - json-schema "^0.4.0" - jsonpointer "^5.0.0" - leven "^3.1.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.8.3": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.9.tgz#895b6c7e04a7271a0cbfd575d2e8131751914cc7" - integrity sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ== - dependencies: - "@babel/highlight" "^7.25.9" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.9.tgz#24b01c5db6a3ebf85661b4fb4a946a9bccc72ac8" - integrity sha512-yD+hEuJ/+wAJ4Ox2/rpNv5HIuPG82x3ZlQvYVn8iYCprdxzE7P1udpGF1jyjQVBU4dgznN+k2h103vxZ7NdPyw== - -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.9.tgz#855a4cddcec4158f3f7afadacdab2a7de8af7434" - integrity sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helpers" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/eslint-parser@^7.16.3": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.25.9.tgz#603c68a63078796527bc9d0833f5e52dd5f9224c" - integrity sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.1" - -"@babel/eslint-plugin@^7.18.10": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.25.9.tgz#a5b6cc46085e0a7d45c5dae36055ce30c5125dab" - integrity sha512-MWg1lz+JiP9l1fXkE0qCUVo+1XwgNRPs6GTc88hmw6qN3AdgmfTSkyHt0e1xOTsKdXW5xlh2Lsk3wrFZbW5rzQ== - dependencies: - eslint-rule-composer "^0.3.0" - -"@babel/generator@^7.25.9", "@babel/generator@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.9.tgz#c7e828ebe0c2baba103b712924699c9e8a6e32f0" - integrity sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA== - dependencies: - "@babel/types" "^7.25.9" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9" - integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" - integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.25.9" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26" - integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - regexpu-core "^6.1.1" - semver "^6.3.1" - -"@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== - dependencies: - "@babel/helper-compilation-targets" "^7.22.6" - "@babel/helper-plugin-utils" "^7.22.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.9.tgz#12e4fb2969197ef6d78ea8a2f24375ce85b425fb" - integrity sha512-TvLZY/F3+GvdRYFZFyxMvnsKi+4oJdgZzU3BoGN9Uc2d9C6zfNwJcKKhjqLAhK8i46mv93jsO74fDh3ih6rpHA== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-simple-access" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" - integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== - -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-replace-supers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" - integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-simple-access@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" - integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helpers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.9.tgz#9e26aa6fbefdbca4f8c8a1d66dc6f1c00ddadb0a" - integrity sha512-oKWp3+usOJSzDZOucZUAMayhPz/xVjzymyDzUN8dk0Wd3RWMlGLXi07UCQ/CgQVb8LvXx3XBajJH4XGgkt7H7g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/highlight@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" - integrity sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw== - dependencies: - "@babel/helper-validator-identifier" "^7.25.9" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.9.tgz#8fcaa079ac7458facfddc5cd705cc8005e4d3817" - integrity sha512-aI3jjAAO1fh7vY/pBGsn1i9LDbRP43+asrRlkPuTXW5yHXtd1NgTEMudbBoDDxrf1daEEfPJqR+JBMakzrR4Dg== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-proposal-class-properties@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-decorators@^7.16.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz#8680707f943d1a3da2cd66b948179920f097e254" - integrity sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-decorators" "^7.25.9" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@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@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" - integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz#986b4ca8b7b5df3f67cee889cedeffc2e2bf14b3" - integrity sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-flow@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.9.tgz#30ddd09b4ad822f291efbbeb3bc4c5d3027af61d" - integrity sha512-F3FVgxwamIRS3+kfjNaPARX0DSAiH1exrQUVajXiR34hkdA9eyK+8rJbnu55DQjKL/ayuXqjNr2HDXwBEMEtFQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-assertions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.9.tgz#631686872fac3d4d1f1ae9a406a8fd1c482c7b2a" - integrity sha512-4GHX5uzr5QMOOuzV0an9MFju4hKlm0OyePl/lHhcsTVae5t/IKVHnb8W67Vr6FuLlk5lPqLB7n7O+K5R46emYg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz#29c9643445deea4533c05e6ac6c39d15424bbe78" - integrity sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.25.9", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-async-generator-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" - integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - -"@babel/plugin-transform-block-scoped-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458" - integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-static-block@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.9.tgz#1cab37c4278a563409d74c1e4f08fb77de5d7a5c" - integrity sha512-UIf+72C7YJ+PJ685/PpATbCz00XqiFEzHX5iysRwfvNT0Ko+FaXSvRgLytFSp8xUItrG9pFM/KoBBZDrY/cYyg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" - -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-exponentiation-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f" - integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.9.tgz#85879b42a8f5948fd6317069978e98f23ef8aec1" - integrity sha512-/VVukELzPDdci7UUsWQaSkhgnjIWXnIyRpM02ldxaVoFK96c41So8JcKT3m0gYjyv7j5FNPGS5vfELrWalkbDA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-flow" "^7.25.9" - -"@babel/plugin-transform-for-of@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755" - integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-modules-commonjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" - integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-simple-access" "^7.25.9" - -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949" - integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== - dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz#08a1de35a301929b60fdf2788a54b46cd8ecd0ef" - integrity sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d" - integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-jsx-development@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7" - integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.25.9" - -"@babel/plugin-transform-react-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166" - integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/plugin-transform-react-pure-annotations@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62" - integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - regenerator-transform "^0.15.2" - -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-runtime@^7.16.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz#62723ea3f5b31ffbe676da9d6dae17138ae580ea" - integrity sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-template-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1" - integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typeof-symbol@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b" - integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" - integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" - -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.9.tgz#fc8a68705e02553cdeeeb5477bf241e12b9c3cd9" - integrity sha512-XqDEt+hfsQukahSX9JOBDHhpUHDhj2zGSxoqWQFCMajOSBnbhBdgON/bU/5PkBA1yX5tqW6tTzuIPVsZTQ7h5Q== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.25.9" - "@babel/plugin-syntax-import-attributes" "^7.25.9" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.25.9" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.25.9" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.25.9" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.25.9" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.25.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.25.9" - "@babel/plugin-transform-typeof-symbol" "^7.25.9" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.38.1" - semver "^6.3.1" - -"@babel/preset-modules@0.1.6-no-external-plugins": - version "0.1.6-no-external-plugins" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" - integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e" - integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-transform-react-display-name" "^7.25.9" - "@babel/plugin-transform-react-jsx" "^7.25.9" - "@babel/plugin-transform-react-jsx-development" "^7.25.9" - "@babel/plugin-transform-react-pure-annotations" "^7.25.9" - -"@babel/preset-typescript@^7.16.0": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.25.9.tgz#bb82f26cda46dc2eb1ee10bf72fa994e759a08ba" - integrity sha512-XWxw1AcKk36kgxf4C//fl0ikjLeqGUWn062/Fd8GtpTfDJOX6Ud95FK+4JlDA36BX4bNGndXi3a6Vr4Jo5/61A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-typescript" "^7.25.9" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.9.tgz#65884fd6dc255a775402cc1d9811082918f4bf00" - integrity sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.25.9", "@babel/template@^7.3.3": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.25.9", "@babel/traverse@^7.7.2": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.25.9", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.9.tgz#620f35ea1f4233df529ec9a2668d2db26574deee" - integrity sha512-OwS2CM5KocvQ/k7dFJa8i5bNGJP0hXWfVCfDkqRFP1IreH1JDC7wG6eCYCi0+McbfT8OR/kNqsI0UU0xP9H6PQ== - dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@codemirror/autocomplete@^6.0.0": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.18.1.tgz#3bd8d62c9c9a14d0706ab0a8adac139eaf1a41f1" - integrity sha512-iWHdj/B1ethnHRTwZj+C1obmmuCzquH29EbcKr0qIjA9NfDeBDJ7vs+WOHsFeLeflE4o+dHfYndJloMKHUkWUA== - dependencies: - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.17.0" - "@lezer/common" "^1.0.0" - -"@codemirror/commands@^6.0.0": - version "6.7.1" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.7.1.tgz#04561e95bc0779eaa49efd63e916c4efb3bbf6d6" - integrity sha512-llTrboQYw5H4THfhN4U3qCnSZ1SOJ60ohhz+SzU0ADGtwlc533DtklQP0vSFaQuCPDn3BPpOd1GbbnUtwNjsrw== - dependencies: - "@codemirror/language" "^6.0.0" - "@codemirror/state" "^6.4.0" - "@codemirror/view" "^6.27.0" - "@lezer/common" "^1.1.0" - -"@codemirror/language@^6.0.0": - version "6.10.3" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.3.tgz#eb25fc5ade19032e7bf1dcaa957804e5f1660585" - integrity sha512-kDqEU5sCP55Oabl6E7m5N+vZRoc0iWqgDVhEKifcHzPzjqCegcO4amfrYVL9PmPZpl4G0yjkpTpUO/Ui8CzO8A== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.23.0" - "@lezer/common" "^1.1.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - style-mod "^4.0.0" - -"@codemirror/lint@^6.0.0": - version "6.8.2" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.2.tgz#7864b03583e9efd18554cff1dd4504da10338ab1" - integrity sha512-PDFG5DjHxSEjOXk9TQYYVjZDqlZTFaDBfhQixHnQOEVDDNHUbEh/hstAjcQJaA6FQdZTD1hquXTK0rVBLADR1g== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - crelt "^1.0.5" - -"@codemirror/search@^6.0.0": - version "6.5.6" - resolved "https://registry.yarnpkg.com/@codemirror/search/-/search-6.5.6.tgz#8f858b9e678d675869112e475f082d1e8488db93" - integrity sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - crelt "^1.0.5" - -"@codemirror/state@^6.0.0", "@codemirror/state@^6.4.0": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b" - integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A== - -"@codemirror/view@^6.0.0", "@codemirror/view@^6.17.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.27.0": - version "6.34.1" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.34.1.tgz#b17ed29c563e4adc60086233f2d3e7197e2dc33e" - integrity sha512-t1zK/l9UiRqwUNPm+pdIT0qzJlzuVckbTEMVNFhfWkGiBQClstzg+78vedCvLSX0xJEZ6lwZbPpnljL7L6iwMQ== - dependencies: - "@codemirror/state" "^6.4.0" - style-mod "^4.1.0" - w3c-keyname "^2.2.4" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@csstools/normalize.css@*": - version "12.1.1" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz#f0ad221b7280f3fc814689786fd9ee092776ef8f" - integrity sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ== - -"@csstools/postcss-cascade-layers@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" - integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-nested-calc@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" - integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-stepped-value-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-text-decoration-shorthand@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" - integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" - integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== - -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" - integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== - -"@ctrl/tinycolor@^3.4.0", "@ctrl/tinycolor@^3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" - integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== - -"@ecomfe/eslint-config@^7.4.0": - version "7.5.1" - resolved "https://registry.yarnpkg.com/@ecomfe/eslint-config/-/eslint-config-7.5.1.tgz#bea5f65e2fb494662198422149fbdf1f4c44e4f3" - integrity sha512-17Qc003QeeP9dZcI838owFLbSPjfCwZofYIu3zbLqpTVxdbxkkijj10fzYnMRGuOW0uGOzSqITzrIaJmLZRHBA== - dependencies: - semver "^7.3.5" - -"@ecomfe/stylelint-config@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ecomfe/stylelint-config/-/stylelint-config-1.1.2.tgz#5d84addbb5cb234b88cb923b4071394683e7a8ed" - integrity sha512-rIrZ7EU+zGVnqWWvYrCJWNrV04jyRSOqbLhsH1vl2FgTyUOBbvErRHfPoGqng8S9MfbIunnkzCDaoqpw6G4Tzw== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.11.1" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" - integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.1": - version "8.57.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" - integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== - -"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== - dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@icons/material@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" - integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@isaacs/string-locale-compare@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" - integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" - -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== - dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== - dependencies: - "@jest/schemas" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/source-map@^0.3.3": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" - integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" - integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== - -"@lezer/common@^1.0.0", "@lezer/common@^1.1.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.3.tgz#138fcddab157d83da557554851017c6c1e5667fd" - integrity sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA== - -"@lezer/highlight@^1.0.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" - integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== - dependencies: - "@lezer/common" "^1.0.0" - -"@lezer/lr@^1.0.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" - integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== - dependencies: - "@lezer/common" "^1.0.0" - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== - dependencies: - eslint-scope "5.1.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/arborist@^5.6.3": - version "5.6.3" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-5.6.3.tgz#40810080272e097b4a7a4f56108f4a31638a9874" - integrity sha512-/7hbqEM6YuRjwTcQXkK1+xKslEblY5kFQe0tZ7jKyMlIR6x4iOmhLErIkBBGtTKvYxRKdpcxnFXjCobg3UqmsA== - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/map-workspaces" "^2.0.3" - "@npmcli/metavuln-calculator" "^3.0.1" - "@npmcli/move-file" "^2.0.0" - "@npmcli/name-from-folder" "^1.0.1" - "@npmcli/node-gyp" "^2.0.0" - "@npmcli/package-json" "^2.0.0" - "@npmcli/query" "^1.2.0" - "@npmcli/run-script" "^4.1.3" - bin-links "^3.0.3" - cacache "^16.1.3" - common-ancestor-path "^1.0.1" - hosted-git-info "^5.2.1" - json-parse-even-better-errors "^2.3.1" - json-stringify-nice "^1.1.4" - minimatch "^5.1.0" - mkdirp "^1.0.4" - mkdirp-infer-owner "^2.0.0" - nopt "^6.0.0" - npm-install-checks "^5.0.0" - npm-package-arg "^9.0.0" - npm-pick-manifest "^7.0.2" - npm-registry-fetch "^13.0.0" - npmlog "^6.0.2" - pacote "^13.6.1" - parse-conflict-json "^2.0.1" - proc-log "^2.0.0" - promise-all-reject-late "^1.0.0" - promise-call-limit "^1.0.1" - read-package-json-fast "^2.0.2" - readdir-scoped-modules "^1.1.0" - rimraf "^3.0.2" - semver "^7.3.7" - ssri "^9.0.0" - treeverse "^2.0.0" - walk-up-path "^1.0.0" - -"@npmcli/ci-detect@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/ci-detect/-/ci-detect-2.0.0.tgz#e63c91bcd4185ac1e85720a34fc48e164ece5b89" - integrity sha512-8yQtQ9ArHh/TzdUDKQwEvwCgpDuhSWTDAbiKMl3854PcT+Dk4UmWaiawuFTLy9n5twzXOBXVflWe+90/ffXQrA== - -"@npmcli/config@^4.2.1": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-4.2.2.tgz#2e3334dda84f48d059309c53d152e66b05ca24b7" - integrity sha512-5GNcLd+0c4bYBnFop53+26CO5GQP0R9YcxlernohpHDWdIgzUg9I0+GEMk3sNHnLntATVU39d283A4OO+W402w== - dependencies: - "@npmcli/map-workspaces" "^2.0.2" - ini "^3.0.0" - mkdirp-infer-owner "^2.0.0" - nopt "^6.0.0" - proc-log "^2.0.0" - read-package-json-fast "^2.0.3" - semver "^7.3.5" - walk-up-path "^1.0.0" - -"@npmcli/disparity-colors@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/disparity-colors/-/disparity-colors-2.0.0.tgz#cb518166ee21573b96241a3613fef70acb2a60ba" - integrity sha512-FFXGrIjhvd2qSZ8iS0yDvbI7nbjdyT2VNO7wotosjYZM2p2r8PN3B7Om3M5NO9KqW/OVzfzLB3L0V5Vo5QXC7A== - dependencies: - ansi-styles "^4.3.0" - -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/fs@^2.1.0", "@npmcli/fs@^2.1.1": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" - integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== - dependencies: - "@gar/promisify" "^1.1.3" - semver "^7.3.5" - -"@npmcli/git@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-3.0.2.tgz#5c5de6b4d70474cf2d09af149ce42e4e1dacb931" - integrity sha512-CAcd08y3DWBJqJDpfuVL0uijlq5oaXaOJEKHKc4wqrjd00gkvTZB+nFuLn+doOOKddaQS9JfqtNoFCO2LCvA3w== - dependencies: - "@npmcli/promise-spawn" "^3.0.0" - lru-cache "^7.4.4" - mkdirp "^1.0.4" - npm-pick-manifest "^7.0.0" - proc-log "^2.0.0" - promise-inflight "^1.0.1" - promise-retry "^2.0.1" - semver "^7.3.5" - which "^2.0.2" - -"@npmcli/installed-package-contents@^1.0.7": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz#ab7408c6147911b970a8abe261ce512232a3f4fa" - integrity sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw== - dependencies: - npm-bundled "^1.1.1" - npm-normalize-package-bin "^1.0.1" - -"@npmcli/map-workspaces@^2.0.2", "@npmcli/map-workspaces@^2.0.3": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-2.0.4.tgz#9e5e8ab655215a262aefabf139782b894e0504fc" - integrity sha512-bMo0aAfwhVwqoVM5UzX1DJnlvVvzDCHae821jv48L1EsrYwfOZChlqWYXEtto/+BkBXetPbEWgau++/brh4oVg== - dependencies: - "@npmcli/name-from-folder" "^1.0.1" - glob "^8.0.1" - minimatch "^5.0.1" - read-package-json-fast "^2.0.3" - -"@npmcli/metavuln-calculator@^3.0.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-3.1.1.tgz#9359bd72b400f8353f6a28a25c8457b562602622" - integrity sha512-n69ygIaqAedecLeVH3KnO39M6ZHiJ2dEv5A7DGvcqCB8q17BGUgW8QaanIkbWUo2aYGZqJaOORTLAlIvKjNDKA== - dependencies: - cacache "^16.0.0" - json-parse-even-better-errors "^2.3.1" - pacote "^13.0.3" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@npmcli/move-file@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" - integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@npmcli/name-from-folder@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" - integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== - -"@npmcli/node-gyp@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35" - integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A== - -"@npmcli/package-json@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-2.0.0.tgz#3bbcf4677e21055adbe673d9f08c9f9cde942e4a" - integrity sha512-42jnZ6yl16GzjWSH7vtrmWyJDGVa/LXPdpN2rcUWolFjc9ON2N3uz0qdBbQACfmhuJZ2lbKYtmK5qx68ZPLHMA== - dependencies: - json-parse-even-better-errors "^2.3.1" - -"@npmcli/promise-spawn@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573" - integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g== - dependencies: - infer-owner "^1.0.4" - -"@npmcli/query@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-1.2.0.tgz#46468d583cf013aa92102970700f9555314aabe4" - integrity sha512-uWglsUM3PjBLgTSmZ3/vygeGdvWEIZ3wTUnzGFbprC/RtvQSaT+GAXu1DXmSFj2bD3oOZdcRm1xdzsV2z1YWdw== - dependencies: - npm-package-arg "^9.1.0" - postcss-selector-parser "^6.0.10" - semver "^7.3.7" - -"@npmcli/run-script@^4.1.0", "@npmcli/run-script@^4.1.3", "@npmcli/run-script@^4.2.0", "@npmcli/run-script@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.2.1.tgz#c07c5c71bc1c70a5f2a06b0d4da976641609b946" - integrity sha512-7dqywvVudPSrRCW5nTHpHgeWnbBtz8cFkOuKrecm6ih+oO9ciydhWt6OF7HlqupRRmB8Q/gECVdB9LMfToJbRg== - dependencies: - "@npmcli/node-gyp" "^2.0.0" - "@npmcli/promise-spawn" "^3.0.0" - node-gyp "^9.0.0" - read-package-json-fast "^2.0.3" - which "^2.0.2" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.15.tgz#f126be97c30b83ed777e2aeabd518bc592e6e7c4" - integrity sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ== - dependencies: - ansi-html "^0.0.9" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^4.2.0" - source-map "^0.7.3" - -"@probe.gl/env@3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@probe.gl/env/-/env-3.6.0.tgz#33343fd9041a14d21374c1911826d4a2f9d9a35d" - integrity sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ== - dependencies: - "@babel/runtime" "^7.0.0" - -"@probe.gl/log@3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@probe.gl/log/-/log-3.6.0.tgz#c645bfd22b4769dc65161caa17f13bd2b231e413" - integrity sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA== - dependencies: - "@babel/runtime" "^7.0.0" - "@probe.gl/env" "3.6.0" - -"@probe.gl/stats@3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@probe.gl/stats/-/stats-3.6.0.tgz#a1bb12860fa6f40b9c028f9eb575d7ada0b4dbdd" - integrity sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ== - dependencies: - "@babel/runtime" "^7.0.0" - -"@rc-component/portal@^1.0.0-8", "@rc-component/portal@^1.0.2", "@rc-component/portal@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@rc-component/portal/-/portal-1.1.2.tgz#55db1e51d784e034442e9700536faaa6ab63fc71" - integrity sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg== - dependencies: - "@babel/runtime" "^7.18.0" - classnames "^2.3.2" - rc-util "^5.24.4" - -"@remix-run/router@1.20.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.20.0.tgz#03554155b45d8b529adf635b2f6ad1165d70d8b4" - integrity sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg== - -"@rollup/plugin-babel@^5.2.0": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" - integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-node-resolve@^11.2.1": - version "11.2.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" - -"@rollup/plugin-replace@^2.4.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@rtsao/scc@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" - integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== - -"@rushstack/eslint-patch@^1.1.0": - version "1.10.4" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz#427d5549943a9c6fce808e39ea64dbe60d4047f1" - integrity sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA== - -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@surma/rollup-plugin-off-main-thread@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" - integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== - dependencies: - ejs "^3.1.6" - json5 "^2.2.0" - magic-string "^0.25.0" - string.prototype.matchall "^4.0.6" - -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== - -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== - -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== - -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== - -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== - -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" - -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== - dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== - dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" - -"@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - -"@testing-library/dom@^8.5.0": - version "8.20.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@^5.16.4": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" - integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== - dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^13.3.0": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" - "@types/react-dom" "^18.0.0" - -"@testing-library/user-event@^13.5.0": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== - dependencies: - "@babel/runtime" "^7.12.5" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@tweenjs/tween.js@18 - 25": - version "25.0.0" - resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-25.0.0.tgz#7266baebcc3affe62a3a54318a3ea82d904cd0b9" - integrity sha512-XKLA6syeBUaPzx4j3qwMqzzq+V4uo72BnlbOjmuljLrRqdsd3qnzvZZoxvMHZ23ndsRS4aufU6JOZYpCbU6T1A== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" - integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== - dependencies: - "@babel/types" "^7.20.7" - -"@types/body-parser@*": - version "1.19.5" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" - integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.13" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" - integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" - integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/d3-timer@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-2.0.3.tgz#d74350a9eb5991f054b2cf8e92efaf22be3e1a25" - integrity sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg== - -"@types/eslint@^7.29.0 || ^8.4.1": - version "8.56.12" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.12.tgz#1657c814ffeba4d2f84c0d4ba0f44ca7ea1ca53a" - integrity sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz#3c9997ae9d00bc236e45c6374e84f2596458d9db" - integrity sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express-serve-static-core@^4.17.33": - version "4.19.6" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" - integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - "@types/send" "*" - -"@types/express@*": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" - integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^5.0.0" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-errors@*": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" - integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== - -"@types/http-proxy@^1.17.8": - version "1.17.15" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" - integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*": - version "29.5.14" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" - integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/lodash-es@^4.17.3": - version "4.17.12" - resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" - integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.17.12" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.12.tgz#25d71312bf66512105d71e55d42e22c36bcfc689" - integrity sha512-sviUmCE8AYdaF/KIHLDJBQgeYzPBI0vf/17NaYehBJfYD1j6/L95Slh07NlyK2iNyBNaEkb3En2jRt+a8y3xZQ== - -"@types/mime@^1": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" - integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== - -"@types/minimist@^1.2.0": - version "1.2.5" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" - integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== - -"@types/node-forge@^1.3.0": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "22.7.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.9.tgz#2bf2797b5e84702d8262ea2cf843c3c3c880d0e9" - integrity sha512-jrTfRC7FM6nChvU7X2KqcrgquofrWLFDeYC1hKfwNWomVvrn7JIksqf344WN2X/y8xrgqBd2dJATZV4GbatBfg== - dependencies: - undici-types "~6.19.2" - -"@types/normalize-package-data@^2.4.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" - integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== - -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - -"@types/prettier@^2.1.5": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - -"@types/prop-types@*": - version "15.7.13" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" - integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== - -"@types/q@^1.5.1": - version "1.5.8" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" - integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== - -"@types/qs@*": - version "6.9.16" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" - integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== - -"@types/range-parser@*": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" - integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== - -"@types/react-dom@^18.0.0": - version "18.3.1" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" - integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.3.12" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.12.tgz#99419f182ccd69151813b7ee24b792fe08774f60" - integrity sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw== - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/semver@^7.3.12": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@types/send@*": - version "0.17.4" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" - integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== - dependencies: - "@types/mime" "^1" - "@types/node" "*" - -"@types/serve-index@^1.9.1": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" - integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" - integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== - dependencies: - "@types/http-errors" "*" - "@types/node" "*" - "@types/send" "*" - -"@types/sockjs@^0.3.33": - version "0.3.36" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" - integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.9" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" - integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== - dependencies: - "@types/jest" "*" - -"@types/trusted-types@^2.0.2": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" - integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== - -"@types/ws@^8.5.5": - version "8.5.12" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" - integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^16.0.0": - version "16.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" - integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" - integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== - dependencies: - "@typescript-eslint/utils" "5.62.0" - -"@typescript-eslint/parser@^5.5.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== - dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -accessor-fn@1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/accessor-fn/-/accessor-fn-1.5.1.tgz#7b2d063c16deba5040a46292824ed67d925cb8ea" - integrity sha512-zZpFYBqIL1Aqg+f2qmYHJ8+yIZF7/tP6PUGx2/QM0uGPSO5UegpinmkNwDohxWtOj586BpMPVRUjce2HI6xB3A== - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.13.0.tgz#2a30d670818ad16ddd6a35d3842dacec9e5d7ca3" - integrity sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w== - -add-dom-event-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" - integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== - dependencies: - object-assign "4.x" - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -adjust-sourcemap-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" - integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" - -agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agentkeepalive@^4.1.3, agentkeepalive@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@8.17.1, ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: - version "8.17.1" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" - integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== - dependencies: - fast-deep-equal "^3.1.3" - fast-uri "^3.0.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - -ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-html@^0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.9.tgz#6512d02342ae2cc68131952644a129cb734cd3f0" - integrity sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -antd@^4.23.1: - version "4.24.16" - resolved "https://registry.yarnpkg.com/antd/-/antd-4.24.16.tgz#19206b6082e25a9900ba486655f9a55fe405d672" - integrity sha512-zZrK4UYxHtU6tGOOf0uG/kBRx1kTvypfuSB3GqE/SBQxFhZ/TZ+yj7Z1qwI8vGfMtUUJdLeuoCAqGDa1zPsXnQ== - dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons" "^4.8.2" - "@ant-design/react-slick" "~1.0.2" - "@babel/runtime" "^7.18.3" - "@ctrl/tinycolor" "^3.6.1" - classnames "^2.2.6" - copy-to-clipboard "^3.2.0" - lodash "^4.17.21" - moment "^2.29.2" - rc-cascader "~3.7.3" - rc-checkbox "~3.0.1" - rc-collapse "~3.4.2" - rc-dialog "~9.0.2" - rc-drawer "~6.3.0" - rc-dropdown "~4.0.1" - rc-field-form "~1.38.2" - rc-image "~5.13.0" - rc-input "~0.1.4" - rc-input-number "~7.3.11" - rc-mentions "~1.13.1" - rc-menu "~9.8.4" - rc-motion "^2.9.0" - rc-notification "~4.6.1" - rc-pagination "~3.2.0" - rc-picker "~2.7.6" - rc-progress "~3.4.2" - rc-rate "~2.9.3" - rc-resize-observer "^1.3.1" - rc-segmented "~2.3.0" - rc-select "~14.1.18" - rc-slider "~10.0.1" - rc-steps "~5.0.0" - rc-switch "~3.2.2" - rc-table "~7.26.0" - rc-tabs "~12.5.10" - rc-textarea "~0.4.7" - rc-tooltip "~5.2.2" - rc-tree "~5.7.12" - rc-tree-select "~5.5.5" - rc-trigger "^5.3.4" - rc-upload "~4.3.6" - rc-util "^5.37.0" - scroll-into-view-if-needed "^2.2.25" - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^5.0.0, aria-query@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" - integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== - -array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-includes@^3.1.6, array-includes@^3.1.8: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.findlast@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" - integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.findlastindex@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.reduce@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz#6aadc2f995af29cb887eb866d981dc85ab6f7dc7" - integrity sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-array-method-boxes-properly "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - is-string "^1.0.7" - -array.prototype.tosorted@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" - integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - es-errors "^1.3.0" - es-shim-unscopables "^1.0.2" - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA== - -async-validator@^4.1.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-4.2.5.tgz#c96ea3332a521699d0afaaceed510a54656c6339" - integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== - -async@^3.2.3: - version "3.2.6" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" - integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.13: - version "10.4.20" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" - integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== - dependencies: - browserslist "^4.23.3" - caniuse-lite "^1.0.30001646" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.1" - postcss-value-parser "^4.2.0" - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -axe-core@^4.10.0: - version "4.10.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" - integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== - -axios@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== - dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" - -axobject-query@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-4.1.0.tgz#28768c76d0e3cff21bc62a9e2d0b6ac30042a1ee" - integrity sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ== - -babel-jest@^27.4.2, babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^8.2.3: - version "8.4.1" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.4.1.tgz#6ccb75c66e62c3b144e1c5f2eaec5b8f6c08c675" - integrity sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.4" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-named-asset-import@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" - integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== - -babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== - dependencies: - "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" - semver "^6.3.1" - -babel-plugin-polyfill-corejs3@^0.10.6: - version "0.10.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" - integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - core-js-compat "^3.38.0" - -babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - -babel-plugin-transform-react-remove-prop-types@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-current-node-syntax@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== - dependencies: - "@babel/core" "^7.16.0" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-decorators" "^7.16.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-runtime" "^7.16.4" - "@babel/preset-env" "^7.16.4" - "@babel/preset-react" "^7.16.0" - "@babel/preset-typescript" "^7.16.0" - "@babel/runtime" "^7.16.3" - babel-plugin-macros "^3.1.0" - babel-plugin-transform-react-remove-prop-types "^0.4.24" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base16@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" - integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bfj@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" - integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== - dependencies: - bluebird "^3.7.2" - check-types "^11.2.3" - hoopy "^0.1.4" - jsonpath "^1.1.1" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -bignumber.js@^9.0.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" - integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== - -bin-links@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-3.0.3.tgz#3842711ef3db2cd9f16a5f404a996a12db355a6e" - integrity sha512-zKdnMPWEdh4F5INR07/eBrodC7QrF5JKvqskjz/ZZRXg5YSAZIbn8zGhbhUrElzHBZ2fvEQdOU59RHcTG3GiwA== - dependencies: - cmd-shim "^5.0.0" - mkdirp-infer-owner "^2.0.0" - npm-normalize-package-bin "^2.0.0" - read-cmd-shim "^3.0.0" - rimraf "^3.0.0" - write-file-atomic "^4.0.0" - -binary-extensions@^2.0.0, binary-extensions@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.20.3: - version "1.20.3" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" - integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.13.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== - dependencies: - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3, braces@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.23.3, browserslist@^4.24.0: - version "4.24.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== - dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -builtin-modules@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -builtins@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.1.0.tgz#6d85eeb360c4ebc166c3fdef922a15aa7316a5e8" - integrity sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg== - dependencies: - semver "^7.0.0" - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: - version "16.1.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" - integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^2.0.0" - -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001669: - version "1.0.30001669" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" - integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== - -case-sensitive-paths-webpack-plugin@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" - integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== - -chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - -check-types@^11.2.3: - version "11.2.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" - integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== - -chokidar@^3.4.2, chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" - integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cidr-regex@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/cidr-regex/-/cidr-regex-3.1.1.tgz#ba1972c57c66f61875f18fd7dd487469770b571d" - integrity sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw== - dependencies: - ip-regex "^4.1.0" - -cjs-module-lexer@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" - integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== - -clamp@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/clamp/-/clamp-1.0.1.tgz#66a0e64011816e37196828fdc8c8c147312c8634" - integrity sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA== - -classnames@2.x, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -clean-css@^5.2.2: - version "5.3.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" - integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-columns@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" - integrity sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ== - dependencies: - string-width "^4.2.3" - strip-ansi "^6.0.1" - -cli-table3@^0.6.2: - version "0.6.5" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" - integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== - dependencies: - string-width "^4.2.0" - optionalDependencies: - "@colors/colors" "1.5.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -cmd-shim@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724" - integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw== - dependencies: - mkdirp-infer-owner "^2.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -codemirror@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-6.0.1.tgz#62b91142d45904547ee3e0e0e4c1a79158035a29" - integrity sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg== - dependencies: - "@codemirror/autocomplete" "^6.0.0" - "@codemirror/commands" "^6.0.0" - "@codemirror/language" "^6.0.0" - "@codemirror/lint" "^6.0.0" - "@codemirror/search" "^6.0.0" - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.6.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -color@^3.1.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -columnify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" - integrity sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q== - dependencies: - strip-ansi "^6.0.1" - wcwidth "^1.0.0" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-ancestor-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" - integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w== - -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - 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" - -compute-scroll-into-view@^1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43" - integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" - integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== - -copy-to-clipboard@^3.2.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.38.0, core-js-compat@^3.38.1: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" - integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== - dependencies: - browserslist "^4.23.3" - -core-js-pure@^3.23.3: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.38.1.tgz#e8534062a54b7221344884ba9b52474be495ada3" - integrity sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ== - -core-js@^3.19.2: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e" - integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -crelt@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" - integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== - -cron-expression-validator@^1.0.20: - version "1.0.20" - resolved "https://registry.yarnpkg.com/cron-expression-validator/-/cron-expression-validator-1.0.20.tgz#add2cd89270cec2149258cf384f212061d5c0235" - integrity sha512-g0osBTdp+1ryDw2vzlG6UpDPaa4fO94ZChF2R0lEnRurbuUEL74XEVX7xZJ13m4Mq/gb3ni6UQu8+Oqt+eocsw== - -cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-blank-pseudo@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== - dependencies: - postcss-selector-parser "^6.0.9" - -css-declaration-sorter@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" - integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - -css-loader@^6.5.1: - version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" - integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.33" - postcss-modules-extract-imports "^3.1.0" - postcss-modules-local-by-default "^4.0.5" - postcss-modules-scope "^3.2.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.5.4" - -css-minimizer-webpack-plugin@^3.2.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-prefers-color-scheme@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -cssdb@^7.1.0: - version "7.11.2" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.2.tgz#127a2f5b946ee653361a5af5333ea85a39df5ae5" - integrity sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.6: - version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== - dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2, csstype@^3.0.3, csstype@^3.0.8: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -"d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3": - version "3.2.4" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" - integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== - dependencies: - internmap "1 - 2" - -d3-binarytree@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-binarytree/-/d3-binarytree-1.0.2.tgz#ed43ebc13c70fbabfdd62df17480bc5a425753cc" - integrity sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw== - -"d3-color@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" - integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== - -"d3-dispatch@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf" - integrity sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA== - -"d3-dispatch@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" - integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== - -d3-ease@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-1.0.7.tgz#9a834890ef8b8ae8c558b2fe55bd57f5993b85e2" - integrity sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ== - -"d3-force-3d@2 - 3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/d3-force-3d/-/d3-force-3d-3.0.5.tgz#9c8931b49acc3554f9110e128bc580cd3ab830f2" - integrity sha512-tdwhAhoTYZY/a6eo9nR7HP3xSW/C6XvJTbeRpR92nlPzH6OiE+4MliN9feuSFd0tPtEUo+191qOhCTWx3NYifg== - dependencies: - d3-binarytree "1" - d3-dispatch "1 - 3" - d3-octree "1" - d3-quadtree "1 - 3" - d3-timer "1 - 3" - -d3-force@^2.0.1, d3-force@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-2.1.1.tgz#f20ccbf1e6c9e80add1926f09b51f686a8bc0937" - integrity sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew== - dependencies: - d3-dispatch "1 - 2" - d3-quadtree "1 - 2" - d3-timer "1 - 2" - -"d3-format@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== - -"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -d3-octree@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d3-octree/-/d3-octree-1.0.2.tgz#b39026b82701e45c7163e34ee056dc492035a017" - integrity sha512-Qxg4oirJrNXauiuC94uKMbgxwnhdda9xRLl9ihq45srlJ4Ga3CSgqGcAL8iW7N5CIv4Oz8x3E734ulxyvHPvwA== - -"d3-quadtree@1 - 2", d3-quadtree@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d" - integrity sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw== - -"d3-quadtree@1 - 3", d3-quadtree@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" - integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== - -"d3-scale-chromatic@1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz#34c39da298b23c20e02f1a4b239bd0f22e7f1314" - integrity sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ== - dependencies: - d3-color "1 - 3" - d3-interpolate "1 - 3" - -"d3-scale@1 - 4": - version "4.0.2" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396" - integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ== - dependencies: - d3-array "2.10.0 - 3" - d3-format "1 - 3" - d3-interpolate "1.2.0 - 3" - d3-time "2.1.1 - 3" - d3-time-format "2 - 4" - -"d3-time-format@2 - 4": - version "4.1.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" - integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg== - dependencies: - d3-time "1 - 3" - -"d3-time@1 - 3", "d3-time@2.1.1 - 3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7" - integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q== - dependencies: - d3-array "2 - 3" - -"d3-timer@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6" - integrity sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA== - -"d3-timer@1 - 3": - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" - integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== - -d3-timer@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-1.0.10.tgz#dfe76b8a91748831b13b6d9c793ffbd508dd9de5" - integrity sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw== - -dagre-compound@^0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/dagre-compound/-/dagre-compound-0.0.11.tgz#8d3d1004d756f420582d29f28c92045375018987" - integrity sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ== - -dagre@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee" - integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw== - dependencies: - graphlib "^2.1.8" - lodash "^4.17.15" - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -data-joint@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/data-joint/-/data-joint-1.3.1.tgz#d134950322c90f531e81bbbe8454277549031466" - integrity sha512-tMK0m4OVGqiA3zkn8JmO6YAqD8UwJqIAx4AAwFl1SKTtKAqcXePuT+n2aayiX9uITtlN3DFtKKTOxJRUc2+HvQ== - dependencies: - index-array-by "^1.4.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -date-fns@2.x, date-fns@^2.29.3: - version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" - -dayjs@1.x: - version "1.11.13" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" - integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== - -debug@2.6.9, debug@^2.6.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha512-syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw== - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-browser@^5.0.0, detect-browser@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -dezalgo@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dns-packet@^5.2.2: - version "5.6.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" - integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-align@^1.7.0: - version "1.12.4" - resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.4.tgz#3503992eb2a7cfcb2ed3b2a6d21e0b9c00d54511" - integrity sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw== - -dom-converter@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -echarts@^5.4.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.5.1.tgz#8dc9c68d0c548934bedcb5f633db07ed1dd2101c" - integrity sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA== - dependencies: - tslib "2.3.0" - zrender "5.6.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.6: - version "3.1.10" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" - integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.5.41: - version "1.5.45" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.45.tgz#fa592ce6a88b44d23acbc7453a2feab98996e6c9" - integrity sha512-vOzZS6uZwhhbkZbcRyiy99Wg+pYFV5hk+5YaECvx0+Z31NR3Tt5zS6dze2OepT6PCTzVzT0dIJItti+uAW5zmw== - -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -encodeurl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" - integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== - -encoding@^0.1.12, encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.2, es-abstract@^1.17.5, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-iterator-helpers@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" - integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - es-errors "^1.3.0" - es-set-tostringtag "^2.0.3" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - globalthis "^1.0.4" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.3" - safe-array-concat "^1.1.2" - -es-module-lexer@^1.2.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" - integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== - dependencies: - "@babel/core" "^7.16.0" - "@babel/eslint-parser" "^7.16.3" - "@rushstack/eslint-patch" "^1.1.0" - "@typescript-eslint/eslint-plugin" "^5.5.0" - "@typescript-eslint/parser" "^5.5.0" - babel-preset-react-app "^10.0.1" - confusing-browser-globals "^1.0.11" - eslint-plugin-flowtype "^8.0.3" - eslint-plugin-import "^2.25.3" - eslint-plugin-jest "^25.3.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.27.1" - eslint-plugin-react-hooks "^4.3.0" - eslint-plugin-testing-library "^5.0.1" - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-module-utils@^2.12.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" - integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.25.3: - version "2.31.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" - integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== - dependencies: - "@rtsao/scc" "^1.1.0" - array-includes "^3.1.8" - array.prototype.findlastindex "^1.2.5" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.12.0" - hasown "^2.0.2" - is-core-module "^2.15.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - object.groupby "^1.0.3" - object.values "^1.2.0" - semver "^6.3.1" - string.prototype.trimend "^1.0.8" - tsconfig-paths "^3.15.0" - -eslint-plugin-jest@^25.3.0: - version "25.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== - dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.10.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.1.tgz#87003835bad8875e023aa5db26f41a0c9e6a8fa9" - integrity sha512-zHByM9WTUMnfsDTafGXRiqxp6lFtNoSOWBY6FonVRn3A+BUwN1L/tdBXT40BcBJi0cZjOGTXZ0eD/rTG9fEJ0g== - dependencies: - aria-query "^5.3.2" - array-includes "^3.1.8" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "^4.10.0" - axobject-query "^4.1.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.1.0" - hasown "^2.0.2" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.fromentries "^2.0.8" - safe-regex-test "^1.0.3" - string.prototype.includes "^2.0.1" - -eslint-plugin-react-hooks@^4.3.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" - integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== - -eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.30.1: - version "7.37.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz#cd0935987876ba2900df2f58339f6d92305acc7a" - integrity sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w== - dependencies: - array-includes "^3.1.8" - array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.2" - array.prototype.tosorted "^1.1.4" - doctrine "^2.1.0" - es-iterator-helpers "^1.1.0" - estraverse "^5.3.0" - hasown "^2.0.2" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.8" - object.fromentries "^2.0.8" - object.values "^1.2.0" - prop-types "^15.8.1" - resolve "^2.0.0-next.5" - semver "^6.3.1" - string.prototype.matchall "^4.0.11" - string.prototype.repeat "^1.0.0" - -eslint-plugin-testing-library@^5.0.1: - version "5.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" - integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== - dependencies: - "@typescript-eslint/utils" "^5.58.0" - -eslint-rule-composer@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9" - integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg== - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint-webpack-plugin@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" - integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== - dependencies: - "@types/eslint" "^7.29.0 || ^8.4.1" - jest-worker "^28.0.2" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@^8.19.0, eslint@^8.3.0: - version "8.57.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" - integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.1" - "@humanwhocodes/config-array" "^0.13.0" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" - integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -expect@^29.0.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -exponential-backoff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" - integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== - -express@^4.17.3: - version "4.21.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" - integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.3" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.7.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.3.1" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.3" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.10" - proxy-addr "~2.0.7" - qs "6.13.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.19.0" - serve-static "1.16.2" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-uri@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" - integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== - dependencies: - fbjs "^3.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - -fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.5" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" - integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== - dependencies: - cross-fetch "^3.1.5" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^1.0.35" - -fecha@~4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" - integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== - dependencies: - debug "2.6.9" - encodeurl "~2.0.0" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -flux@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" - integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== - dependencies: - fbemitter "^3.0.0" - fbjs "^3.0.1" - -follow-redirects@^1.0.0, follow-redirects@^1.14.9: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.2.tgz#83ad9ced7c03feaad97e293d6f6091011e1659c8" - integrity sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" - integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-minipass@^2.0.0, fs-minipass@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-monkey@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" - integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -gl-matrix@^3.0.0, gl-matrix@^3.1.0, gl-matrix@^3.3.0, gl-matrix@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/gl-matrix/-/gl-matrix-3.4.3.tgz#fc1191e8320009fd4d20e9339595c6041ddc22c9" - integrity sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA== - -gl-vec2@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/gl-vec2/-/gl-vec2-1.3.0.tgz#83d472ed46034de8e09cbc857123fb6c81c51199" - integrity sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^10.3.10: - version "10.4.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -glob@~7.1.1: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== - dependencies: - 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" - -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3, globalthis@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globule@^1.0.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.4.tgz#7c11c43056055a75a6e68294453c17f2796170fb" - integrity sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg== - dependencies: - glob "~7.1.1" - lodash "^4.17.21" - minimatch "~3.0.2" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -graphlib@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.8.tgz#5761d414737870084c92ec7b5dbcb0592c9d35da" - integrity sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A== - dependencies: - lodash "^4.17.15" - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -highlight-words-core@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/highlight-words-core/-/highlight-words-core-1.2.3.tgz#781f37b2a220bf998114e4ef8c8cb6c7a4802ea8" - integrity sha512-m1O9HW3/GNHxzSIXWw1wCNXXsgLlxrP0OI6+ycGUhiUHkikqW3OrwVHz+lxeNBe5yqLESdIcj8PowHQ2zLvUvQ== - -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== - dependencies: - lru-cache "^6.0.0" - -hosted-git-info@^5.0.0, hosted-git-info@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" - integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== - dependencies: - lru-cache "^7.5.1" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" - integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-parse-stringify@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz#dfc1017347ce9f77c8141a507f233040c59c55d2" - integrity sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg== - dependencies: - void-elements "3.1.0" - -html-webpack-plugin@^5.5.0: - version "5.6.3" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.3.tgz#a31145f0fee4184d53a794f9513147df1e653685" - integrity sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-cache-semantics@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy-middleware@^2.0.3, http-proxy-middleware@^2.0.6: - version "2.0.7" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" - integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -i18next@^19.5.3: - version "19.9.2" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-19.9.2.tgz#ea5a124416e3c5ab85fddca2c8e3c3669a8da397" - integrity sha512-0i6cuo6ER6usEOtKajUUDj92zlG+KArFia0857xxiEHAQcUwh/RtOQocui1LPJwunSYT574Pk64aNva1kwtxZg== - dependencies: - "@babel/runtime" "^7.12.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.2, iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -idb@^7.0.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" - integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== - -identity-obj-proxy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ignore-walk@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776" - integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw== - dependencies: - minimatch "^5.0.1" - -ignore@^5.2.0: - version "5.3.2" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" - integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== - -immer@^9.0.7: - version "9.0.21" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== - -import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -index-array-by@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/index-array-by/-/index-array-by-1.4.2.tgz#d6f82e9fbff3201c4dab64ba415d4d2923242fea" - integrity sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -ini@^3.0.0, ini@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ini/-/ini-3.0.1.tgz#c76ec81007875bc44d544ff7a11a55d12294102d" - integrity sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ== - -init-package-json@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69" - integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A== - dependencies: - npm-package-arg "^9.0.1" - promzard "^0.3.0" - read "^1.0.7" - read-package-json "^5.0.0" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - validate-npm-package-name "^4.0.0" - -insert-css@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/insert-css/-/insert-css-2.0.0.tgz#eb5d1097b7542f4c79ea3060d3aee07d053880f4" - integrity sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA== - -install@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/install/-/install-0.13.0.tgz#6af6e9da9dd0987de2ab420f78e60d9c17260776" - integrity sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA== - -internal-slot@^1.0.4, internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -"internmap@1 - 2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" - integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== - -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" - -ip-regex@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" - integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== - -is-any-array@^2.0.0, is-any-array@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-any-array/-/is-any-array-2.0.1.tgz#9233242a9c098220290aa2ec28f82ca7fa79899e" - integrity sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ== - -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== - dependencies: - has-tostringtag "^1.0.0" - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-cidr@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/is-cidr/-/is-cidr-4.0.2.tgz#94c7585e4c6c77ceabf920f8cde51b8c0fda8814" - integrity sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA== - dependencies: - cidr-regex "^3.1.1" - -is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0, is-core-module@^2.8.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== - dependencies: - hasown "^2.0.2" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== - dependencies: - call-bind "^1.0.2" - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - -is-map@^2.0.2, is-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" - integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-set@^2.0.2, is-set@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" - integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-weakmap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" - integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.3.tgz#e801519df8c0c43e12ff2834eead84ec9e624007" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterator.prototype@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" - integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== - dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jake@^10.8.5: - version "10.9.2" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" - integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-regex-util@^28.0.0: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.4.2, jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watch-typeahead@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" - integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.0.0" - jest-regex-util "^28.0.0" - jest-watcher "^28.0.0" - slash "^4.0.0" - string-length "^5.0.1" - strip-ansi "^7.0.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-watcher@^28.0.0: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== - dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" - string-length "^4.0.1" - -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^28.0.2: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^27.4.3: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -jiti@^1.21.0: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== - -jquery-mousewheel@^3.1.13: - version "3.1.13" - resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz#06f0335f16e353a695e7206bf50503cb523a6ee5" - integrity sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg== - -jquery@^3.5.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" - integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== - -js-base64@^2.4.9: - version "2.6.4" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^3.0.2, jsesc@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-nice@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67" - integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw== - -json2mq@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/json2mq/-/json2mq-0.2.0.tgz#b637bd3ba9eabe122c83e9720483aeb10d2c904a" - integrity sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA== - dependencies: - string-convert "^0.2.0" - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.0, json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - -jsonpointer@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -just-diff-apply@^5.2.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f" - integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw== - -just-diff@^5.0.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" - integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== - -kapsule@1: - version "1.14.6" - resolved "https://registry.yarnpkg.com/kapsule/-/kapsule-1.14.6.tgz#b76cf7990db816a6d0dd4b3d774a474c4369acbc" - integrity sha512-wSi6tHNOfXrIK2Pvv6BhZ9ukzhbp+XZlOOPWSVGUbqfFsnnli4Eq8FN6TaWJv2e17sY5+fKYVxa4DP2oPGlKhg== - dependencies: - lodash-es "4" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -kind-of@^6.0.2, kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -language-subtag-registry@^0.3.20: - version "0.3.23" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz#23529e04d9e3b74679d70142df3fd2eb6ec572e7" - integrity sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ== - -language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -launch-editor@^2.6.0: - version "2.9.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" - integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== - dependencies: - picocolors "^1.0.0" - shell-quote "^1.8.1" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -libnpmaccess@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b" - integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag== - dependencies: - aproba "^2.0.0" - minipass "^3.1.1" - npm-package-arg "^9.0.1" - npm-registry-fetch "^13.0.0" - -libnpmdiff@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/libnpmdiff/-/libnpmdiff-4.0.5.tgz#ffaf93fa9440ea759444b8830fdb5c661b09a7c0" - integrity sha512-9fICQIzmH892UwHHPmb+Seup50UIBWcMIK2FdxvlXm9b4kc1nSH0b/BuY1mORJQtB6ydPMnn+BLzOTmd/SKJmw== - dependencies: - "@npmcli/disparity-colors" "^2.0.0" - "@npmcli/installed-package-contents" "^1.0.7" - binary-extensions "^2.2.0" - diff "^5.1.0" - minimatch "^5.0.1" - npm-package-arg "^9.0.1" - pacote "^13.6.1" - tar "^6.1.0" - -libnpmexec@^4.0.14: - version "4.0.14" - resolved "https://registry.yarnpkg.com/libnpmexec/-/libnpmexec-4.0.14.tgz#9ad44232434b374e477eb2c2e4548baaf698f773" - integrity sha512-dwmzv2K29SdoAHBOa7QR6CfQbFG/PiZDRF6HZrlI6C4DLt2hNgOHTFaUGOpqE2C+YGu0ZwYTDywxRe0eOnf0ZA== - dependencies: - "@npmcli/arborist" "^5.6.3" - "@npmcli/ci-detect" "^2.0.0" - "@npmcli/fs" "^2.1.1" - "@npmcli/run-script" "^4.2.0" - chalk "^4.1.0" - mkdirp-infer-owner "^2.0.0" - npm-package-arg "^9.0.1" - npmlog "^6.0.2" - pacote "^13.6.1" - proc-log "^2.0.0" - read "^1.0.7" - read-package-json-fast "^2.0.2" - semver "^7.3.7" - walk-up-path "^1.0.0" - -libnpmfund@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/libnpmfund/-/libnpmfund-3.0.5.tgz#817f9e2120889beb483d9ba8eda142bb84293e4e" - integrity sha512-KdeRoG/dem8H3PcEU2/0SKi3ip7AWwczgS72y/3PE+PBrz/s/G52FNIA9jeLnBirkLC0sOyQHfeM3b7e24ZM+g== - dependencies: - "@npmcli/arborist" "^5.6.3" - -libnpmhook@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/libnpmhook/-/libnpmhook-8.0.4.tgz#6c58e5fe763ff5d600ae9c20457ea9a69d1f7d87" - integrity sha512-nuD6e+Nx0OprjEi0wOeqASMl6QIH235th/Du2/8upK3evByFhzIgdfOeP1OhstavW4xtsl0hk5Vw4fAWWuSUgA== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^13.0.0" - -libnpmorg@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-4.0.4.tgz#2a01d49372cf0df90d79a61e69bddaf2ed704311" - integrity sha512-1bTpD7iub1rDCsgiBguhJhiDufLQuc8DEti20euqsXz9O0ncXVpCYqf2SMmHR4GEdmAvAj2r7FMiyA9zGdaTpA== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^13.0.0" - -libnpmpack@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/libnpmpack/-/libnpmpack-4.1.3.tgz#025cfe39829acd8260662bf259e3a9331fc1e4b2" - integrity sha512-rYP4X++ME3ZiFO+2iN3YnXJ4LB4Gsd0z5cgszWJZxaEpDN4lRIXirSyynGNsN/hn4taqnlxD+3DPlFDShvRM8w== - dependencies: - "@npmcli/run-script" "^4.1.3" - npm-package-arg "^9.0.1" - pacote "^13.6.1" - -libnpmpublish@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-6.0.5.tgz#5a894f3de2e267d62f86be2a508e362599b5a4b1" - integrity sha512-LUR08JKSviZiqrYTDfywvtnsnxr+tOvBU0BF8H+9frt7HMvc6Qn6F8Ubm72g5hDTHbq8qupKfDvDAln2TVPvFg== - dependencies: - normalize-package-data "^4.0.0" - npm-package-arg "^9.0.1" - npm-registry-fetch "^13.0.0" - semver "^7.3.7" - ssri "^9.0.0" - -libnpmsearch@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-5.0.4.tgz#b32aa2b23051c00cdcc0912274d0d416e6655d81" - integrity sha512-XHDmsvpN5+pufvGnfLRqpy218gcGGbbbXR6wPrDJyd1em6agKdYByzU5ccskDHH9iVm2UeLydpDsW1ksYuU0cg== - dependencies: - npm-registry-fetch "^13.0.0" - -libnpmteam@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-4.0.4.tgz#ac26068808d93b1051d926457db14e4b3ff669ef" - integrity sha512-rzKSwi6MLzwwevbM/vl+BBQTErgn24tCfgPUdzBlszrw3j5necOu7WnTzgvZMDv6maGUwec6Ut1rxszOgH0l+Q== - dependencies: - aproba "^2.0.0" - npm-registry-fetch "^13.0.0" - -libnpmversion@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/libnpmversion/-/libnpmversion-3.0.7.tgz#e4c6c07ee28cf351ce1e2293a5ac9922b09ea94d" - integrity sha512-O0L4eNMUIMQ+effi1HsZPKp2N6wecwqGqB8PvkvmLPWN7EsdabdzAVG48nv0p/OjlbIai5KQg/L+qMMfCA4ZjA== - dependencies: - "@npmcli/git" "^3.0.0" - "@npmcli/run-script" "^4.1.3" - json-parse-even-better-errors "^2.3.1" - proc-log "^2.0.0" - semver "^7.3.7" - -lilconfig@^2.0.3, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0, loader-utils@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" - integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash-es@4, lodash-es@^4.17.15, lodash-es@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - -lodash.curry@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.flow@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" - integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^10.2.0: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -make-fetch-happen@^10.0.3, make-fetch-happen@^10.0.4, make-fetch-happen@^10.0.6, make-fetch-happen@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" - integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^16.1.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-fetch "^2.0.3" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^9.0.0" - -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -material-colors@^1.2.1: - version "1.2.6" - resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" - integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== - dependencies: - fs-monkey "^1.0.4" - -memoize-one@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.1.0.tgz#a2387c58c03fff27ca390c31b764a79addf3f906" - integrity sha512-2GApq0yI/b22J2j9rhbrAlsHb0Qcz+7yWxeLG8h+95sl1XPUgeLimQSOdur4Vw7cUhrBHwaUZxWFZueojqNRzA== - -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-descriptors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" - integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -"mime-db@>= 1.43.0 < 2": - version "1.53.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.53.0.tgz#3cb63cd820fc29896d9d4e8c32ab4fcd74ccb447" - integrity sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@^2.4.5: - version "2.9.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz#4d184f12ce90582e983ccef0f6f9db637b4be758" - integrity sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ== - dependencies: - schema-utils "^4.0.0" - tapable "^2.2.1" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.0: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.4: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -minimatch@~3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" - integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-1.4.1.tgz#d75e0091daac1b0ffd7e9d41629faff7d0c1f1b6" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - -minipass-fetch@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" - integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== - dependencies: - minipass "^3.1.6" - minipass-sized "^1.0.3" - minizlib "^2.1.2" - optionalDependencies: - encoding "^0.1.13" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-json-stream@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-json-stream/-/minipass-json-stream-1.0.2.tgz#5121616c77a11c406c3ffa77509e0b77bb267ec3" - integrity sha512-myxeeTm57lYs8pH2nxPzmEEg8DGIgW+9mv6D4JZD2pa81I/OBjeU7PtICXV6c9eRGTA5JMDsuIPUZRCyBMYNhg== - dependencies: - jsonparse "^1.3.1" - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3, minipass@^3.1.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -minizlib@^2.0.0, minizlib@^2.1.1, minizlib@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp-infer-owner@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" - integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw== - dependencies: - chownr "^2.0.0" - infer-owner "^1.0.4" - mkdirp "^1.0.3" - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ml-array-max@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/ml-array-max/-/ml-array-max-1.2.4.tgz#2373e2b7e51c8807e456cc0ef364c5863713623b" - integrity sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ== - dependencies: - is-any-array "^2.0.0" - -ml-array-min@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/ml-array-min/-/ml-array-min-1.2.3.tgz#662f027c400105816b849cc3cd786915d0801495" - integrity sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q== - dependencies: - is-any-array "^2.0.0" - -ml-array-rescale@^1.3.1, ml-array-rescale@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz#c4d129320d113a732e62dd963dc1695bba9a5340" - integrity sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ== - dependencies: - is-any-array "^2.0.0" - ml-array-max "^1.2.4" - ml-array-min "^1.2.3" - -ml-matrix@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/ml-matrix/-/ml-matrix-6.5.0.tgz#3f3bbc54a694a0acf67feb7a750a903ac268d72c" - integrity sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg== - dependencies: - ml-array-rescale "^1.3.1" - -ml-matrix@^6.5.0: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ml-matrix/-/ml-matrix-6.12.0.tgz#def6a0574b5fdc54a753033830e784a17399e270" - integrity sha512-AGfR+pWaC0GmzjUnB6BfwhndPEUGz0i7QUYdqNuw1zhTov/vSRJ9pP2hs6BoGpaSbtXgrKjZz2zjD1M0xuur6A== - dependencies: - is-any-array "^2.0.1" - ml-array-rescale "^1.3.7" - -moment@^2.24.0, moment@^2.29.2, moment@^2.29.4: - version "2.30.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -mousetrap@^1.6.5: - version "1.6.5" - resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9" - integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.2, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.17.0: - version "2.22.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.0.tgz#31bc433fc33213c97bad36404bb68063de604de3" - integrity sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -negotiator@^0.6.2, negotiator@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" - integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -ngraph.events@^1.0.0, ngraph.events@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ngraph.events/-/ngraph.events-1.2.2.tgz#3ceb92d676a04a4e7ce60a09fa8e17a4f0346d7f" - integrity sha512-JsUbEOzANskax+WSYiAPETemLWYXmixuPAlmZmhIbIj6FH/WDgEGCGnRwUQBK0GjOnVm8Ui+e5IJ+5VZ4e32eQ== - -ngraph.forcelayout@3: - version "3.3.1" - resolved "https://registry.yarnpkg.com/ngraph.forcelayout/-/ngraph.forcelayout-3.3.1.tgz#981e1baee5e0593c490bc27219169f9cedfa4f8b" - integrity sha512-MKBuEh1wujyQHFTW57y5vd/uuEOK0XfXYxm3lC7kktjJLRdt/KEKEknyOlc6tjXflqBKEuYBBcu7Ax5VY+S6aw== - dependencies: - ngraph.events "^1.0.0" - ngraph.merge "^1.0.0" - ngraph.random "^1.0.0" - -ngraph.graph@20: - version "20.0.1" - resolved "https://registry.yarnpkg.com/ngraph.graph/-/ngraph.graph-20.0.1.tgz#579470d1d805583239704dc913e2095540aaf371" - integrity sha512-VFsQ+EMkT+7lcJO1QP8Ik3w64WbHJl27Q53EO9hiFU9CRyxJ8HfcXtfWz/U8okuoYKDctbciL6pX3vG5dt1rYA== - dependencies: - ngraph.events "^1.2.1" - -ngraph.merge@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ngraph.merge/-/ngraph.merge-1.0.0.tgz#d763cdfa48b1bbd4270ea246f06c9c8ff5d3477c" - integrity sha512-5J8YjGITUJeapsomtTALYsw7rFveYkM+lBj3QiYZ79EymQcuri65Nw3knQtFxQBU1r5iOaVRXrSwMENUPK62Vg== - -ngraph.random@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ngraph.random/-/ngraph.random-1.1.0.tgz#5345c4bb63865c85d98ee6f13eab1395d8545a90" - integrity sha512-h25UdUN/g8U7y29TzQtRm/GvGr70lK37yQPvPKXXuVfs7gCm82WipYFZcksQfeKumtOemAzBIcT7lzzyK/edLw== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch@^2.6.12: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-forge@^1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-gyp@^8.4.1: - version "8.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-gyp@^9.0.0, node-gyp@^9.1.0, node-gyp@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" - integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== - dependencies: - env-paths "^2.2.0" - exponential-backoff "^3.1.1" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" - nopt "^6.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -node-sass@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-9.0.0.tgz#c21cd17bd9379c2d09362b3baf2cbf089bce08ed" - integrity sha512-yltEuuLrfH6M7Pq2gAj5B6Zm7m+gdZoG66wTqG6mIZV/zijq3M2OO2HswtT6oBspPyFhHDcaxWpsBm0fRNDHPg== - dependencies: - async-foreach "^0.1.3" - chalk "^4.1.2" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - make-fetch-happen "^10.0.4" - meow "^9.0.0" - nan "^2.17.0" - node-gyp "^8.4.1" - sass-graph "^4.0.1" - stdout-stream "^1.4.0" - "true-case-path" "^2.2.1" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -nopt@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" - integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== - dependencies: - abbrev "^1.0.0" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c" - integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg== - dependencies: - hosted-git-info "^5.0.0" - is-core-module "^2.8.1" - semver "^7.3.5" - validate-npm-package-license "^3.0.4" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-audit-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-3.0.0.tgz#1bf3e531208b5f77347c8d00c3d9badf5be30cd6" - integrity sha512-tWQzfbwz1sc4244Bx2BVELw0EmZlCsCF0X93RDcmmwhonCsPMoEviYsi+32R+mdRvOWXolPce9zo64n2xgPESw== - dependencies: - chalk "^4.0.0" - -npm-bundled@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" - integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-bundled@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4" - integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw== - dependencies: - npm-normalize-package-bin "^2.0.0" - -npm-install-checks@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-5.0.0.tgz#5ff27d209a4e3542b8ac6b0c1db6063506248234" - integrity sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA== - dependencies: - semver "^7.1.1" - -npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -npm-normalize-package-bin@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff" - integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ== - -npm-package-arg@^9.0.0, npm-package-arg@^9.0.1, npm-package-arg@^9.1.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc" - integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg== - dependencies: - hosted-git-info "^5.0.0" - proc-log "^2.0.1" - semver "^7.3.5" - validate-npm-package-name "^4.0.0" - -npm-packlist@^5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b" - integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg== - dependencies: - glob "^8.0.1" - ignore-walk "^5.0.1" - npm-bundled "^2.0.0" - npm-normalize-package-bin "^2.0.0" - -npm-pick-manifest@^7.0.0, npm-pick-manifest@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-7.0.2.tgz#1d372b4e7ea7c6712316c0e99388a73ed3496e84" - integrity sha512-gk37SyRmlIjvTfcYl6RzDbSmS9Y4TOBXfsPnoYqTHARNgWbyDiCSMLUpmALDj4jjcTZpURiEfsSHJj9k7EV4Rw== - dependencies: - npm-install-checks "^5.0.0" - npm-normalize-package-bin "^2.0.0" - npm-package-arg "^9.0.0" - semver "^7.3.5" - -npm-profile@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-6.2.1.tgz#975c31ec75a6ae029ab5b8820ffdcbae3a1e3d5e" - integrity sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ== - dependencies: - npm-registry-fetch "^13.0.1" - proc-log "^2.0.0" - -npm-registry-fetch@^13.0.0, npm-registry-fetch@^13.0.1, npm-registry-fetch@^13.3.1: - version "13.3.1" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e" - integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw== - dependencies: - make-fetch-happen "^10.0.6" - minipass "^3.1.6" - minipass-fetch "^2.0.3" - minipass-json-stream "^1.0.1" - minizlib "^2.1.2" - npm-package-arg "^9.0.1" - proc-log "^2.0.0" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npm-user-validate@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" - integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== - -npm@^8.13.2: - version "8.19.4" - resolved "https://registry.yarnpkg.com/npm/-/npm-8.19.4.tgz#65ad6a2dfdd157a4ef4467fb86e8dcd35a43493f" - integrity sha512-3HANl8i9DKnUA89P4KEgVNN28EjSeDCmvEqbzOAuxCFDzdBZzjUl99zgnGpOUumvW5lvJo2HKcjrsc+tfyv1Hw== - dependencies: - "@isaacs/string-locale-compare" "^1.1.0" - "@npmcli/arborist" "^5.6.3" - "@npmcli/ci-detect" "^2.0.0" - "@npmcli/config" "^4.2.1" - "@npmcli/fs" "^2.1.0" - "@npmcli/map-workspaces" "^2.0.3" - "@npmcli/package-json" "^2.0.0" - "@npmcli/run-script" "^4.2.1" - abbrev "~1.1.1" - archy "~1.0.0" - cacache "^16.1.3" - chalk "^4.1.2" - chownr "^2.0.0" - cli-columns "^4.0.0" - cli-table3 "^0.6.2" - columnify "^1.6.0" - fastest-levenshtein "^1.0.12" - fs-minipass "^2.1.0" - glob "^8.0.1" - graceful-fs "^4.2.10" - hosted-git-info "^5.2.1" - ini "^3.0.1" - init-package-json "^3.0.2" - is-cidr "^4.0.2" - json-parse-even-better-errors "^2.3.1" - libnpmaccess "^6.0.4" - libnpmdiff "^4.0.5" - libnpmexec "^4.0.14" - libnpmfund "^3.0.5" - libnpmhook "^8.0.4" - libnpmorg "^4.0.4" - libnpmpack "^4.1.3" - libnpmpublish "^6.0.5" - libnpmsearch "^5.0.4" - libnpmteam "^4.0.4" - libnpmversion "^3.0.7" - make-fetch-happen "^10.2.0" - minimatch "^5.1.0" - minipass "^3.1.6" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - mkdirp-infer-owner "^2.0.0" - ms "^2.1.2" - node-gyp "^9.1.0" - nopt "^6.0.0" - npm-audit-report "^3.0.0" - npm-install-checks "^5.0.0" - npm-package-arg "^9.1.0" - npm-pick-manifest "^7.0.2" - npm-profile "^6.2.0" - npm-registry-fetch "^13.3.1" - npm-user-validate "^1.0.1" - npmlog "^6.0.2" - opener "^1.5.2" - p-map "^4.0.0" - pacote "^13.6.2" - parse-conflict-json "^2.0.2" - proc-log "^2.0.1" - qrcode-terminal "^0.12.0" - read "~1.0.7" - read-package-json "^5.0.2" - read-package-json-fast "^2.0.3" - readdir-scoped-modules "^1.1.0" - rimraf "^3.0.2" - semver "^7.3.7" - ssri "^9.0.1" - tar "^6.1.11" - text-table "~0.2.0" - tiny-relative-date "^1.3.0" - treeverse "^2.0.0" - validate-npm-package-name "^4.0.0" - which "^2.0.2" - write-file-atomic "^4.0.1" - -npmlog@^6.0.0, npmlog@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.0: - version "2.2.13" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" - integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== - -object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.13.1: - version "1.13.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" - integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== - -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" - integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -object.fromentries@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" - integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.8" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" - integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - gopd "^1.0.1" - safe-array-concat "^1.1.2" - -object.groupby@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - -object.values@^1.1.0, object.values@^1.1.6, object.values@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - 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" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - -pacote@^13.0.3, pacote@^13.6.1, pacote@^13.6.2: - version "13.6.2" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-13.6.2.tgz#0d444ba3618ab3e5cd330b451c22967bbd0ca48a" - integrity sha512-Gu8fU3GsvOPkak2CkbojR7vjs3k3P9cA6uazKTHdsdV0gpCEQq2opelnEv30KRQWgVzP5Vd/5umjcedma3MKtg== - dependencies: - "@npmcli/git" "^3.0.0" - "@npmcli/installed-package-contents" "^1.0.7" - "@npmcli/promise-spawn" "^3.0.0" - "@npmcli/run-script" "^4.1.0" - cacache "^16.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - infer-owner "^1.0.4" - minipass "^3.1.6" - mkdirp "^1.0.4" - npm-package-arg "^9.0.0" - npm-packlist "^5.1.0" - npm-pick-manifest "^7.0.0" - npm-registry-fetch "^13.0.1" - proc-log "^2.0.0" - promise-retry "^2.0.1" - read-package-json "^5.0.0" - read-package-json-fast "^2.0.3" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - -param-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz#3d05bc8ffe07d39600dc6436c6aefe382033d323" - integrity sha512-jDbRGb00TAPFsKWCpZZOT93SxVP9nONOSgES3AevqRq/CHvavEBvKAjxX9p5Y5F0RZLxH9Ufd9+RwtCsa+lFDA== - dependencies: - json-parse-even-better-errors "^2.3.1" - just-diff "^5.0.1" - just-diff-apply "^5.2.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-to-regexp@0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" - integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.1, pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -polished@4: - version "4.3.1" - resolved "https://registry.yarnpkg.com/polished/-/polished-4.3.1.tgz#5a00ae32715609f83d89f6f31d0f0261c6170548" - integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA== - dependencies: - "@babel/runtime" "^7.17.8" - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss-attribute-case-insensitive@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-browser-comments@^4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" - integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.10: - version "12.1.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-double-position-gradients@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-flexbugs-fixes@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== - -postcss-focus-visible@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-focus-within@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== - -postcss-image-set-function@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-initial@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-load-config@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-loader@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-logical@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== - -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" - integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== - -postcss-modules-local-by-default@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz#f1b9bd757a8edf4d8556e8d0f4f894260e3df78f" - integrity sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz#a43d28289a169ce2c15c00c4e64c0858e43457d5" - integrity sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-nested@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.2.0.tgz#4c2d22ab5f20b9cb61e2c5c5915950784d068131" - integrity sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ== - dependencies: - postcss-selector-parser "^6.1.1" - -postcss-nesting@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" - integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== - dependencies: - "@csstools/normalize.css" "*" - postcss-browser-comments "^4" - sanitize.css "*" - -postcss-opacity-percentage@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" - integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^7.0.1: - version "7.8.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz#2a50f5e612c3149cc7af75634e202a5b2ad4f1e2" - integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== - dependencies: - "@csstools/postcss-cascade-layers" "^1.1.1" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.13" - browserslist "^4.21.4" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.1.0" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.10" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.2.0" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" - integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1: - version "6.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" - integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.35: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== - dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" - source-map-js "^1.2.1" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-format@^27.0.2, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.0.0, pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -probe.gl@^3.1.1: - version "3.6.0" - resolved "https://registry.yarnpkg.com/probe.gl/-/probe.gl-3.6.0.tgz#e816234412b27a70b9be029cb82c8cf96cd72659" - integrity sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g== - dependencies: - "@babel/runtime" "^7.0.0" - "@probe.gl/env" "3.6.0" - "@probe.gl/log" "3.6.0" - "@probe.gl/stats" "3.6.0" - -proc-log@^2.0.0, proc-log@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" - integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise-all-reject-late@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2" - integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw== - -promise-call-limit@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea" - integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -promise@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1, prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw== - dependencies: - read "1" - -prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-color@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" - integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -qrcode-terminal@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819" - integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== - -qs@6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== - dependencies: - side-channel "^1.0.6" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc-align@^4.0.0: - version "4.0.15" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.15.tgz#2bbd665cf85dfd0b0244c5a752b07565e9098577" - integrity sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - dom-align "^1.7.0" - rc-util "^5.26.0" - resize-observer-polyfill "^1.5.1" - -rc-cascader@~3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-3.7.3.tgz#1e2ad238b283f7226ce4c9f3a420a35cb63fcc82" - integrity sha512-KBpT+kzhxDW+hxPiNk4zaKa99+Lie2/8nnI11XF+FIOPl4Bj9VlFZi61GrnWzhLGA7VEN+dTxAkNOjkySDa0dA== - dependencies: - "@babel/runtime" "^7.12.5" - array-tree-filter "^2.1.0" - classnames "^2.3.1" - rc-select "~14.1.0" - rc-tree "~5.7.0" - rc-util "^5.6.1" - -rc-checkbox@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-3.0.1.tgz#f978771329be339d479cd81465eb2e2f8c82bc87" - integrity sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.3.2" - rc-util "^5.25.2" - -rc-collapse@~3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-3.4.2.tgz#1310be7ad4cd0dcfc622c45f6c3b5ffdee403ad7" - integrity sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.3.4" - rc-util "^5.2.1" - shallowequal "^1.1.0" - -rc-dialog@~9.0.0, rc-dialog@~9.0.2: - version "9.0.4" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-9.0.4.tgz#16c5a47aff0ee4e009f966e79926bef0451b6cda" - integrity sha512-pmnPRZKd9CGzGgf4a1ysBvMhxm8Afx5fF6M7AzLtJ0qh8X1bshurDlqnK4MBNAB4hAeAMMbz6Ytb1rkGMvKFbQ== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.0.0-8" - classnames "^2.2.6" - rc-motion "^2.3.0" - rc-util "^5.21.0" - -rc-drawer@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-6.3.0.tgz#f8af5fafbab19b83722360dcf93e966d8a2875ad" - integrity sha512-uBZVb3xTAR+dBV53d/bUhTctCw3pwcwJoM7g5aX+7vgwt2zzVzoJ6aqFjYJpBlZ9zp0dVYN8fV+hykFE7c4lig== - dependencies: - "@babel/runtime" "^7.10.1" - "@rc-component/portal" "^1.1.1" - classnames "^2.2.6" - rc-motion "^2.6.1" - rc-util "^5.21.2" - -rc-dropdown@^3.0.0-alpha.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.6.2.tgz#d23b8b2762941ac39e665673946f67ca9c39118f" - integrity sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-trigger "^5.0.4" - rc-util "^5.17.0" - -rc-dropdown@~4.0.0, rc-dropdown@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-4.0.1.tgz#f65d9d3d89750241057db59d5a75e43cd4576b68" - integrity sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.6" - rc-trigger "^5.3.1" - rc-util "^5.17.0" - -rc-field-form@~1.38.2: - version "1.38.2" - resolved "https://registry.yarnpkg.com/rc-field-form/-/rc-field-form-1.38.2.tgz#1eafac98eb84d47dc3b55de98ed50751d9852dd2" - integrity sha512-O83Oi1qPyEv31Sg+Jwvsj6pXc8uQI2BtIAkURr5lvEYHVggXJhdU/nynK8wY1gbw0qR48k731sN5ON4egRCROA== - dependencies: - "@babel/runtime" "^7.18.0" - async-validator "^4.1.0" - rc-util "^5.32.2" - -rc-image@~5.13.0: - version "5.13.0" - resolved "https://registry.yarnpkg.com/rc-image/-/rc-image-5.13.0.tgz#1ed9b852a40b5eff34786ba7d2f0e9d26eeab874" - integrity sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg== - dependencies: - "@babel/runtime" "^7.11.2" - "@rc-component/portal" "^1.0.2" - classnames "^2.2.6" - rc-dialog "~9.0.0" - rc-motion "^2.6.2" - rc-util "^5.0.6" - -rc-input-number@~7.3.11: - version "7.3.11" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-7.3.11.tgz#c7089705a220e1a59ba974fabf89693e00dd2442" - integrity sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.23.0" - -rc-input@~0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/rc-input/-/rc-input-0.1.4.tgz#45cb4ba209ae6cc835a2acb8629d4f8f0cb347e0" - integrity sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.18.1" - -rc-mentions@~1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-1.13.1.tgz#c884b70e1505a197f1b32a7c6b39090db6992a72" - integrity sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-menu "~9.8.0" - rc-textarea "^0.4.0" - rc-trigger "^5.0.4" - rc-util "^5.22.5" - -rc-menu@~9.8.0, rc-menu@~9.8.4: - version "9.8.4" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.8.4.tgz#58bf19d471e3c74ff4bcfdb0f02a3826ebe2553b" - integrity sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.4.3" - rc-overflow "^1.2.8" - rc-trigger "^5.1.2" - rc-util "^5.27.0" - -rc-motion@^2.0.0, rc-motion@^2.0.1, rc-motion@^2.2.0, rc-motion@^2.3.0, rc-motion@^2.3.4, rc-motion@^2.4.3, rc-motion@^2.4.4, rc-motion@^2.6.1, rc-motion@^2.6.2, rc-motion@^2.9.0: - version "2.9.3" - resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.9.3.tgz#b1bdaf816f1ccb3e4b3b0c531c3037a59286379e" - integrity sha512-rkW47ABVkic7WEB0EKJqzySpvDqwl60/tdkY7hWP7dYnh5pm0SzJpo54oW3TDUGXV5wfxXFmMkxrzRRbotQ0+w== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-util "^5.43.0" - -rc-notification@~4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-4.6.1.tgz#068e8674f4bd7926a447eca512915d4b41b15c91" - integrity sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.2.0" - rc-util "^5.20.1" - -rc-overflow@^1.0.0, rc-overflow@^1.2.8: - version "1.3.2" - resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.3.2.tgz#72ee49e85a1308d8d4e3bd53285dc1f3e0bcce2c" - integrity sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.37.0" - -rc-pagination@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-3.2.0.tgz#4f2fdba9fdac0f48e5c9fb1141973818138af7e1" - integrity sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - -rc-picker@~2.7.6: - version "2.7.6" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-2.7.6.tgz#03d855888d1878d8946bab77a3d24477fd3a0792" - integrity sha512-H9if/BUJUZBOhPfWcPeT15JUI3/ntrG9muzERrXDkSoWmDj4yzmBvumozpxYrHwjcKnjyDGAke68d+whWwvhHA== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - date-fns "2.x" - dayjs "1.x" - moment "^2.24.0" - rc-trigger "^5.0.4" - rc-util "^5.37.0" - shallowequal "^1.1.0" - -rc-progress@~3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-3.4.2.tgz#f8df9ee95e790490171ab6b31bf07303cdc79980" - integrity sha512-iAGhwWU+tsayP+Jkl9T4+6rHeQTG9kDz8JAHZk4XtQOcYN5fj9H34NXNEdRdZx94VUDHMqCb1yOIvi8eJRh67w== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.6" - rc-util "^5.16.1" - -rc-rate@~2.9.3: - version "2.9.3" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.9.3.tgz#b30a8043ffcb327bab053cd78508e07015d8a483" - integrity sha512-2THssUSnRhtqIouQIIXqsZGzRczvp4WsH4WvGuhiwm+LG2fVpDUJliP9O1zeDOZvYfBE/Bup4SgHun/eCkbjgQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.0.1" - -rc-resize-observer@^1.0.0, rc-resize-observer@^1.1.0, rc-resize-observer@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz#7bba61e6b3c604834980647cce6451914750d0cc" - integrity sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q== - dependencies: - "@babel/runtime" "^7.20.7" - classnames "^2.2.1" - rc-util "^5.38.0" - resize-observer-polyfill "^1.5.1" - -rc-segmented@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/rc-segmented/-/rc-segmented-2.3.0.tgz#b3fe080fb434a266c02e30bb62a47d2c6e094341" - integrity sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg== - dependencies: - "@babel/runtime" "^7.11.1" - classnames "^2.2.1" - rc-motion "^2.4.4" - rc-util "^5.17.0" - -rc-select@~14.1.0, rc-select@~14.1.18: - version "14.1.18" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-14.1.18.tgz#f1d95233132cda9c1485963254255b83e97a37a9" - integrity sha512-4JgY3oG2Yz68ECMUSCON7mtxuJvCSj+LJpHEg/AONaaVBxIIrmI/ZTuMJkyojall/X50YdBe5oMKqHHPNiPzEg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-overflow "^1.0.0" - rc-trigger "^5.0.4" - rc-util "^5.16.1" - rc-virtual-list "^3.2.0" - -rc-slider@~10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-10.0.1.tgz#7058c68ff1e1aa4e7c3536e5e10128bdbccb87f9" - integrity sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-util "^5.18.1" - shallowequal "^1.1.0" - -rc-steps@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-5.0.0.tgz#2e2403f2dd69eb3966d65f461f7e3a8ee1ef69fe" - integrity sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw== - dependencies: - "@babel/runtime" "^7.16.7" - classnames "^2.2.3" - rc-util "^5.16.1" - -rc-switch@~3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-3.2.2.tgz#d001f77f12664d52595b4f6fb425dd9e66fba8e8" - integrity sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-util "^5.0.1" - -rc-table@~7.26.0: - version "7.26.0" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-7.26.0.tgz#9d517e7fa512e7571fdcc453eb1bf19edfac6fbc" - integrity sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.5" - rc-resize-observer "^1.1.0" - rc-util "^5.22.5" - shallowequal "^1.1.0" - -rc-tabs@~12.5.10: - version "12.5.10" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-12.5.10.tgz#0e41c723fac66c4f0bcad3271429fff6653b0721" - integrity sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "2.x" - rc-dropdown "~4.0.0" - rc-menu "~9.8.0" - rc-motion "^2.6.2" - rc-resize-observer "^1.0.0" - rc-util "^5.16.0" - -rc-textarea@^0.4.0, rc-textarea@~0.4.7: - version "0.4.7" - resolved "https://registry.yarnpkg.com/rc-textarea/-/rc-textarea-0.4.7.tgz#627f662d46f99e0059d1c1ebc8db40c65339fe90" - integrity sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "^2.2.1" - rc-resize-observer "^1.0.0" - rc-util "^5.24.4" - shallowequal "^1.1.0" - -rc-tooltip@~5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.2.2.tgz#e5cafa8ecebf78108936a0bcb93c150fa81ac93b" - integrity sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg== - dependencies: - "@babel/runtime" "^7.11.2" - classnames "^2.3.1" - rc-trigger "^5.0.0" - -rc-tree-select@~5.5.5: - version "5.5.5" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-5.5.5.tgz#d28b3b45da1e820cd21762ba0ee93c19429bb369" - integrity sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-select "~14.1.0" - rc-tree "~5.7.0" - rc-util "^5.16.1" - -rc-tree@~5.7.0, rc-tree@~5.7.12: - version "5.7.12" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" - integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-trigger@^5.0.0, rc-trigger@^5.0.4, rc-trigger@^5.1.2, rc-trigger@^5.3.1, rc-trigger@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.3.4.tgz#6b4b26e32825677c837d1eb4d7085035eecf9a61" - integrity sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.6" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-util "^5.19.2" - -rc-upload@~4.3.6: - version "4.3.6" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-4.3.6.tgz#6a87397315cee065a04bee4103d6de9dbe2e377a" - integrity sha512-Bt7ESeG5tT3IY82fZcP+s0tQU2xmo1W6P3S8NboUUliquJLQYLkUcsaExi3IlBVr43GQMCjo30RA2o0i70+NjA== - dependencies: - "@babel/runtime" "^7.18.3" - classnames "^2.2.5" - rc-util "^5.2.0" - -rc-util@^4.15.7: - version "4.21.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" - integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== - dependencies: - add-dom-event-listener "^1.1.0" - prop-types "^15.5.10" - react-is "^16.12.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - -rc-util@^5.0.1, rc-util@^5.0.6, rc-util@^5.16.0, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.19.2, rc-util@^5.2.0, rc-util@^5.2.1, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.21.2, rc-util@^5.22.5, rc-util@^5.23.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.32.2, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0, rc-util@^5.43.0, rc-util@^5.6.1, rc-util@^5.9.4: - version "5.43.0" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.43.0.tgz#bba91fbef2c3e30ea2c236893746f3e9b05ecc4c" - integrity sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw== - dependencies: - "@babel/runtime" "^7.18.3" - react-is "^18.2.0" - -rc-virtual-list@^3.2.0, rc-virtual-list@^3.5.1: - version "3.14.8" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.14.8.tgz#abf6e8809b7f5c955aa7f59c2a9d57443e9942fd" - integrity sha512-8D0KfzpRYi6YZvlOWIxiOm9BGt4Wf2hQyEaM6RXlDDiY2NhLheuYI+RA+7ZaZj1lq+XQqy3KHlaeeXQfzI5fGg== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - -react-app-polyfill@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" - integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== - dependencies: - core-js "^3.19.2" - object-assign "^4.1.1" - promise "^8.1.0" - raf "^3.4.1" - regenerator-runtime "^0.13.9" - whatwg-fetch "^3.6.2" - -react-base16-styling@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" - integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== - dependencies: - base16 "^1.0.0" - lodash.curry "^4.0.1" - lodash.flow "^3.3.0" - pure-color "^1.2.0" - -react-color@2.17.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.17.1.tgz#f114811c83f5d80a1bd1b80466c2f7ddcc58da9d" - integrity sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ== - dependencies: - "@icons/material" "^0.2.4" - lodash "^4.17.11" - material-colors "^1.2.1" - prop-types "^15.5.10" - reactcss "^1.2.0" - tinycolor2 "^1.4.1" - -react-color@^2.19.3: - version "2.19.3" - resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" - integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== - dependencies: - "@icons/material" "^0.2.4" - lodash "^4.17.15" - lodash-es "^4.17.15" - material-colors "^1.2.1" - prop-types "^15.5.10" - reactcss "^1.2.0" - tinycolor2 "^1.4.1" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.2" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - -react-highlight-words@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/react-highlight-words/-/react-highlight-words-0.18.0.tgz#ff3b3ef7cb497fa2e8fa4d54c1a1a98ac6390d0e" - integrity sha512-5z+46eLPjB4JWgOhuQ0E+6iUPTD1U3amiy5KKjzZmeJ5zyvHr91hnzBT3UHya/KlySm5KRTKpYpba9vs67oO2A== - dependencies: - highlight-words-core "^1.2.0" - memoize-one "^4.0.0" - prop-types "^15.5.8" - -react-i18next@^11.7.3: - version "11.18.6" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-11.18.6.tgz#e159c2960c718c1314f1e8fcaa282d1c8b167887" - integrity sha512-yHb2F9BiT0lqoQDt8loZ5gWP331GwctHz9tYQ8A2EIEUu+CcEdjBLQWli1USG3RdWQt3W+jqQLg/d4rrQR96LA== - dependencies: - "@babel/runtime" "^7.14.5" - html-parse-stringify "^3.0.1" - -react-is@^16.12.0, react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0, react-is@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -react-json-view@^1.21.3: - version "1.21.3" - resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" - integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== - dependencies: - flux "^4.0.1" - react-base16-styling "^0.6.0" - react-lifecycles-compat "^3.0.4" - react-textarea-autosize "^8.3.2" - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-refresh@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== - -react-resize-detector@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-7.1.2.tgz#8ef975dd8c3d56f9a5160ac382ef7136dcd2d86c" - integrity sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw== - dependencies: - lodash "^4.17.21" - -react-router-dom@^6.3.0: - version "6.27.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.27.0.tgz#8d7972a425fd75f91c1e1ff67e47240c5752dc3f" - integrity sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g== - dependencies: - "@remix-run/router" "1.20.0" - react-router "6.27.0" - -react-router@6.27.0: - version "6.27.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.27.0.tgz#db292474926c814c996c0ff3ef0162d1f9f60ed4" - integrity sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw== - dependencies: - "@remix-run/router" "1.20.0" - -react-scripts@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" - integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== - dependencies: - "@babel/core" "^7.16.0" - "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@svgr/webpack" "^5.5.0" - babel-jest "^27.4.2" - babel-loader "^8.2.3" - babel-plugin-named-asset-import "^0.3.8" - babel-preset-react-app "^10.0.1" - bfj "^7.0.2" - browserslist "^4.18.1" - camelcase "^6.2.1" - case-sensitive-paths-webpack-plugin "^2.4.0" - css-loader "^6.5.1" - css-minimizer-webpack-plugin "^3.2.0" - dotenv "^10.0.0" - dotenv-expand "^5.1.0" - eslint "^8.3.0" - eslint-config-react-app "^7.0.1" - eslint-webpack-plugin "^3.1.1" - file-loader "^6.2.0" - fs-extra "^10.0.0" - html-webpack-plugin "^5.5.0" - identity-obj-proxy "^3.0.0" - jest "^27.4.3" - jest-resolve "^27.4.2" - jest-watch-typeahead "^1.0.0" - mini-css-extract-plugin "^2.4.5" - postcss "^8.4.4" - postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^6.2.1" - postcss-normalize "^10.0.1" - postcss-preset-env "^7.0.1" - prompts "^2.4.2" - react-app-polyfill "^3.0.0" - react-dev-utils "^12.0.1" - react-refresh "^0.11.0" - resolve "^1.20.0" - resolve-url-loader "^4.0.0" - sass-loader "^12.3.0" - semver "^7.3.5" - source-map-loader "^3.0.0" - style-loader "^3.3.1" - tailwindcss "^3.0.2" - terser-webpack-plugin "^5.2.5" - webpack "^5.64.4" - webpack-dev-server "^4.6.0" - webpack-manifest-plugin "^4.0.2" - workbox-webpack-plugin "^6.4.1" - optionalDependencies: - fsevents "^2.3.2" - -react-textarea-autosize@^8.3.2: - version "8.5.4" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.4.tgz#1c568ad838857b6ce86ee2a96e504179305e0bf4" - integrity sha512-eSSjVtRLcLfFwFcariT77t9hcbVJHQV76b51QjQGarQIHml2+gM2lms0n3XrhnDmgK5B+/Z7TmQk5OHNzqYm/A== - dependencies: - "@babel/runtime" "^7.20.13" - use-composed-ref "^1.3.0" - use-latest "^1.2.1" - -react@^18.2.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== - dependencies: - loose-envify "^1.1.0" - -reactcss@^1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" - integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== - dependencies: - lodash "^4.0.1" - -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -read-cmd-shim@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.1.tgz#868c235ec59d1de2db69e11aec885bc095aea087" - integrity sha512-kEmDUoYf/CDy8yZbLTmhB1X9kkjf9Q80PCNsDMb7ufrGd6zZSQA1+UyjrO+pZm5K/S4OXCWJeiIt1JA8kAsa6g== - -read-package-json-fast@^2.0.2, read-package-json-fast@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83" - integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ== - dependencies: - json-parse-even-better-errors "^2.3.0" - npm-normalize-package-bin "^1.0.1" - -read-package-json@^5.0.0, read-package-json@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa" - integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q== - dependencies: - glob "^8.0.1" - json-parse-even-better-errors "^2.3.1" - normalize-package-data "^4.0.0" - npm-normalize-package-bin "^2.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read@1, read@^1.0.7, read@~1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ== - dependencies: - mute-stream "~0.0.4" - -readable-stream@^2.0.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - 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" - -readable-stream@^3.0.6, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdir-scoped-modules@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.1" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" - -regenerate-unicode-properties@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" - integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.9: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-parser@^2.2.11: - version "2.3.0" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" - integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== - -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" - integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.2" - -regexpu-core@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" - integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.2.0" - regjsgen "^0.8.0" - regjsparser "^0.11.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" - integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== - -regjsparser@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149" - integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ== - dependencies: - jsesc "~3.0.2" - -regl@^1.3.11: - version "1.7.0" - resolved "https://registry.yarnpkg.com/regl/-/regl-1.7.0.tgz#0d185431044a356bf80e9b775b11b935ef2746d3" - integrity sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w== - -relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resize-observer-polyfill@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" - integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== - dependencies: - adjust-sourcemap-loader "^4.0.0" - convert-source-map "^1.7.0" - loader-utils "^2.0.0" - postcss "^7.0.35" - source-map "0.6.1" - -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== - -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.5: - version "2.0.0-next.5" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" - integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - -retry@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup-plugin-terser@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== - dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.43.1: - version "2.79.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090" - integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ== - optionalDependencies: - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize.css@*: - version "13.0.0" - resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" - integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== - -sass-graph@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-4.0.1.tgz#2ff8ca477224d694055bf4093f414cf6cfad1d2e" - integrity sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA== - dependencies: - glob "^7.0.0" - lodash "^4.17.11" - scss-tokenizer "^0.4.3" - yargs "^17.2.1" - -sass-loader@^12.3.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== - dependencies: - loose-envify "^1.1.0" - -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0, schema-utils@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" - -screenfull@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/screenfull/-/screenfull-6.0.2.tgz#3dbe4b8c4f8f49fb8e33caa8f69d0bca730ab238" - integrity sha512-AQdy8s4WhNvUZ6P8F6PB21tSPIYKniic+Ogx0AacBMjKP1GUHN2E9URxQHtCusiwxudnCKkdy4GrHXPPJSkCCw== - -scroll-into-view-if-needed@^2.2.25: - version "2.2.31" - resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587" - integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA== - dependencies: - compute-scroll-into-view "^1.0.20" - -scss-tokenizer@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz#1058400ee7d814d71049c29923d2b25e61dc026c" - integrity sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw== - dependencies: - js-base64 "^2.4.9" - source-map "^0.7.3" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== - dependencies: - "@types/node-forge" "^1.3.0" - node-forge "^1" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== - -send@0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" - integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - 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" - -serve-static@1.16.2: - version "1.16.2" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" - integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== - dependencies: - encodeurl "~2.0.0" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.19.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1, set-function-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallowequal@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== - -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -sockjs@^0.3.24: - version "0.3.24" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -socks-proxy-agent@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz#2687a31f9d7185e38d530bef1944fe1f1496d6ce" - integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" - integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks@^2.6.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" - integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw== - dependencies: - ip-address "^9.0.5" - smart-buffer "^4.2.0" - -source-list-map@^2.0.0, source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^1.0.1, source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@^0.5.6, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.20" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" - integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - 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" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -ssri@^9.0.0, ssri@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" - integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== - dependencies: - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -static-eval@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" - integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== - dependencies: - escodegen "^1.8.1" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -string-convert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-convert/-/string-convert-0.2.1.tgz#6982cc3049fbb4cd85f8b24568b9d9bf39eeff97" - integrity sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A== - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== - dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -string.prototype.includes@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" - integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.3" - -string.prototype.matchall@^4.0.11, string.prototype.matchall@^4.0.6: - version "4.0.11" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" - set-function-name "^2.0.2" - side-channel "^1.0.6" - -string.prototype.repeat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" - integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" - integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-loader@^3.3.1: - version "3.3.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" - integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== - -style-mod@^4.0.0, style-mod@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67" - integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== - -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -sucrase@^3.32.0: - version "3.35.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - 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" - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tailwindcss@^3.0.2: - version "3.4.14" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.14.tgz#6dd23a7f54ec197b19159e91e3bb1e55e7aa73ac" - integrity sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" - integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== - dependencies: - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: - version "5.36.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" - integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0, text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -three-forcegraph@1: - version "1.41.15" - resolved "https://registry.yarnpkg.com/three-forcegraph/-/three-forcegraph-1.41.15.tgz#49ffdbebbb1b8cbf6e905a2dc15c2dcf9556b70d" - integrity sha512-E1j6bKt7lWg9t/ERdEiuxYfPbAioTCd9RG2bgqyC0yM3rwkBqn5VZN3fvb7umaOuTB1Tqpq6m07iVfJSfzTnCQ== - dependencies: - accessor-fn "1" - d3-array "1 - 3" - d3-force-3d "2 - 3" - d3-scale "1 - 4" - d3-scale-chromatic "1 - 3" - data-joint "1" - kapsule "1" - ngraph.forcelayout "3" - ngraph.graph "20" - tinycolor2 "1" - -three-render-objects@^1.29: - version "1.30.0" - resolved "https://registry.yarnpkg.com/three-render-objects/-/three-render-objects-1.30.0.tgz#66e9e50b035fee22550767a6b5ead3437f3205fc" - integrity sha512-46sckKM9VdsDuCe0u1W7BNME5RinDujuwLc2ANviw60f3uCc5pSlAb2fXGZwPz+vb7aq5AAZvHm94bTCkBk+pQ== - dependencies: - "@tweenjs/tween.js" "18 - 25" - accessor-fn "1" - kapsule "1" - polished "4" - -"three@>=0.118 <1": - version "0.169.0" - resolved "https://registry.yarnpkg.com/three/-/three-0.169.0.tgz#4a62114988ad9728d73526d1f1de6760c56b4adc" - integrity sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w== - -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - -throttle-debounce@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-5.0.2.tgz#ec5549d84e053f043c9fd0f2a6dd892ff84456b1" - integrity sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A== - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tiny-relative-date@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" - integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== - -tinycolor2@1, tinycolor2@^1.4.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" - integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^4.0.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" - integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -treeverse@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-2.0.0.tgz#036dcef04bc3fd79a9b79a68d4da03e882d8a9ca" - integrity sha512-N5gJCkLu1aXccpOTtqV6ddSEi6ZmGkh3hjmbu1IjcavJK4qyOVQmi0myQKM7z5jVGmD68SJoliaVrMmVObhj6A== - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -"true-case-path@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-2.2.1.tgz#c5bf04a5bbec3fd118be4084461b3a27c4d796bf" - integrity sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q== - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" - integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.6.2: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" - integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.7.4: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -ua-parser-js@^0.7.20: - version "0.7.39" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.39.tgz#c71efb46ebeabc461c4612d22d54f88880fabe7e" - integrity sha512-IZ6acm6RhQHNibSt7+c09hhvsKy9WUr4DVbeq9U8o71qxyYtJpQeDxQnMrVqnIFMLcQjHO0I9wgfO2vIahht4w== - -ua-parser-js@^1.0.35: - version "1.0.39" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz#bfc07f361549bf249bd8f4589a4cccec18fd2018" - integrity sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" - integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" - integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-filename@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" - integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== - dependencies: - unique-slug "^3.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-slug@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" - integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -upath@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -use-composed-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" - integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== - -use-isomorphic-layout-effect@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== - -use-latest@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" - integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== - dependencies: - use-isomorphic-layout-effect "^1.1.1" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utility-types@^3.10.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c" - integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747" - integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q== - dependencies: - builtins "^5.0.0" - -validator@^13.7.0: - version "13.12.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.12.0.tgz#7d78e76ba85504da3fee4fd1922b385914d4b35f" - integrity sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vis-network@^9.1.2: - version "9.1.9" - resolved "https://registry.yarnpkg.com/vis-network/-/vis-network-9.1.9.tgz#8159b34e7c1570150fcc9296213d2b88ed169394" - integrity sha512-Ft+hLBVyiLstVYSb69Q1OIQeh3FeUxHJn0WdFcq+BFPqs+Vq1ibMi2sb//cxgq1CP7PH4yOXnHxEH/B2VzpZYA== - -void-elements@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" - integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-keyname@^2.2.4: - version "2.2.8" - resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" - integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walk-up-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e" - integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg== - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" - integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -web-vitals@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" - integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.6.0: - version "4.15.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" - integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.4" - ws "^8.13.0" - -webpack-manifest-plugin@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" - integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== - dependencies: - tapable "^2.0.0" - webpack-sources "^2.2.0" - -webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" - integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.64.4: - version "5.95.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" - integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== - dependencies: - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.1" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.20" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" - integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - 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-builtin-type@^1.1.3: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" - integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== - dependencies: - function.prototype.name "^1.1.6" - has-tostringtag "^1.0.2" - is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" - is-generator-function "^1.0.10" - is-regex "^1.1.4" - is-weakref "^1.0.2" - isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.2" - which-typed-array "^1.1.15" - -which-collection@^1.0.1, which-collection@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" - integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== - dependencies: - is-map "^2.0.3" - is-set "^2.0.3" - is-weakmap "^2.0.2" - is-weakset "^2.0.3" - -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -word-wrap@^1.2.5, word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -workbox-background-sync@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz#08d603a33717ce663e718c30cc336f74909aff2f" - integrity sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg== - dependencies: - idb "^7.0.1" - workbox-core "6.6.1" - -workbox-broadcast-update@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz#0fad9454cf8e4ace0c293e5617c64c75d8a8c61e" - integrity sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ== - dependencies: - workbox-core "6.6.1" - -workbox-build@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.6.1.tgz#6010e9ce550910156761448f2dbea8cfcf759cb0" - integrity sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw== - dependencies: - "@apideck/better-ajv-errors" "^0.3.1" - "@babel/core" "^7.11.1" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.2" - "@rollup/plugin-babel" "^5.2.0" - "@rollup/plugin-node-resolve" "^11.2.1" - "@rollup/plugin-replace" "^2.4.1" - "@surma/rollup-plugin-off-main-thread" "^2.2.3" - ajv "^8.6.0" - common-tags "^1.8.0" - fast-json-stable-stringify "^2.1.0" - fs-extra "^9.0.1" - glob "^7.1.6" - lodash "^4.17.20" - pretty-bytes "^5.3.0" - rollup "^2.43.1" - rollup-plugin-terser "^7.0.0" - source-map "^0.8.0-beta.0" - stringify-object "^3.3.0" - strip-comments "^2.0.1" - tempy "^0.6.0" - upath "^1.2.0" - workbox-background-sync "6.6.1" - workbox-broadcast-update "6.6.1" - workbox-cacheable-response "6.6.1" - workbox-core "6.6.1" - workbox-expiration "6.6.1" - workbox-google-analytics "6.6.1" - workbox-navigation-preload "6.6.1" - workbox-precaching "6.6.1" - workbox-range-requests "6.6.1" - workbox-recipes "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - workbox-streams "6.6.1" - workbox-sw "6.6.1" - workbox-window "6.6.1" - -workbox-cacheable-response@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz#284c2b86be3f4fd191970ace8c8e99797bcf58e9" - integrity sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag== - dependencies: - workbox-core "6.6.1" - -workbox-core@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.6.1.tgz#7184776d4134c5ed2f086878c882728fc9084265" - integrity sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw== - -workbox-expiration@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.6.1.tgz#a841fa36676104426dbfb9da1ef6a630b4f93739" - integrity sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A== - dependencies: - idb "^7.0.1" - workbox-core "6.6.1" - -workbox-google-analytics@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz#a07a6655ab33d89d1b0b0a935ffa5dea88618c5d" - integrity sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA== - dependencies: - workbox-background-sync "6.6.1" - workbox-core "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-navigation-preload@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz#61a34fe125558dd88cf09237f11bd966504ea059" - integrity sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA== - dependencies: - workbox-core "6.6.1" - -workbox-precaching@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.6.1.tgz#dedeeba10a2d163d990bf99f1c2066ac0d1a19e2" - integrity sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A== - dependencies: - workbox-core "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-range-requests@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz#ddaf7e73af11d362fbb2f136a9063a4c7f507a39" - integrity sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g== - dependencies: - workbox-core "6.6.1" - -workbox-recipes@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.6.1.tgz#ea70d2b2b0b0bce8de0a9d94f274d4a688e69fae" - integrity sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g== - dependencies: - workbox-cacheable-response "6.6.1" - workbox-core "6.6.1" - workbox-expiration "6.6.1" - workbox-precaching "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-routing@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.6.1.tgz#cba9a1c7e0d1ea11e24b6f8c518840efdc94f581" - integrity sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg== - dependencies: - workbox-core "6.6.1" - -workbox-strategies@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.6.1.tgz#38d0f0fbdddba97bd92e0c6418d0b1a2ccd5b8bf" - integrity sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw== - dependencies: - workbox-core "6.6.1" - -workbox-streams@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.6.1.tgz#b2f7ba7b315c27a6e3a96a476593f99c5d227d26" - integrity sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q== - dependencies: - workbox-core "6.6.1" - workbox-routing "6.6.1" - -workbox-sw@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.6.1.tgz#d4c4ca3125088e8b9fd7a748ed537fa0247bd72c" - integrity sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ== - -workbox-webpack-plugin@^6.4.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz#4f81cc1ad4e5d2cd7477a86ba83c84ee2d187531" - integrity sha512-zpZ+ExFj9NmiI66cFEApyjk7hGsfJ1YMOaLXGXBoZf0v7Iu6hL0ZBe+83mnDq3YYWAfA3fnyFejritjOHkFcrA== - dependencies: - fast-json-stable-stringify "^2.1.0" - pretty-bytes "^5.4.1" - upath "^1.2.0" - webpack-sources "^1.4.3" - workbox-build "6.6.1" - -workbox-window@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.6.1.tgz#f22a394cbac36240d0dadcbdebc35f711bb7b89e" - integrity sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ== - dependencies: - "@types/trusted-types" "^2.0.2" - workbox-core "6.6.1" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-file-atomic@^4.0.0, write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^7.4.6: - version "7.5.10" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" - integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== - -ws@^8.13.0: - version "8.18.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" - integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.3.4: - version "2.6.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.0.tgz#14059ad9d0b1680d0f04d3a60fe00f3a857303c3" - integrity sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ== - -yargs-parser@^20.2.2, yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.2.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zrender@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.6.0.tgz#01325b0bb38332dd5e87a8dbee7336cafc0f4a5b" - integrity sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg== - dependencies: - tslib "2.3.0"